關鍵字和保留字
關鍵字定義和特點
定義:被java語言賦予了特殊含義,用作專門用途的字串。
特點:關鍵字中所有字母都為小寫。關鍵字不能用作變數名,方法名,類名,包名和引數。
用於定義數字型別的關鍵字 | ||||
class | interface | enum | byte | short |
int | long | float | double | char |
boolean | void | |||
用於定義流程的關鍵字 | ||||
if | else | switch | case | default |
while | do | for | break | continue |
return | ||||
用於定義訪問許可權修飾符的關鍵字 | ||||
private | protected | pubic | ||
用於定義類、函式、變數修飾符的關鍵字 | ||||
abstract | final | staic | synchronized | |
用於定義類與類之間關係的關鍵字 | ||||
extends | improtants | |||
用於建立例項及引用型別,判斷例項的關鍵字 | ||||
new | this | super | instanceof | |
用於異常處理的關鍵字 | ||||
try | catch | finally | throw | throws |
用於包的關鍵字 | ||||
package | import | |||
其他修飾符關鍵字 | ||||
native | strictfp | transient | volatile | assert |
用於定義資料型別值的字面值 | ||||
true | false | null |
保留字
定義: 現在java尚未使用,但以後版本可能會作為關鍵字使用。自己使用時應避免使用。
基本資料型別
整數型別(int為預設型別)
型別 | 佔用儲存空間 | 表數範圍 |
---|---|---|
byte | 1位元組 | -128~127 |
short | 2位元組 | $-2{15}$~$2$-1 |
int | 4位元組 | $-2{31}$~$2$-1 |
long | 8位元組 | $-2{63}$~$2$-1 |
注意:java的整型常亮預設為int型,宣告long型常量須後加 'l'或'L'
浮點型別(double為預設型別)
型別 | 佔用儲存空間 | 表數範圍 |
---|---|---|
float | 4位元組 | -3.4e+38 ~ 3.4e+38 |
double | 8位元組 | -1.79E+308 ~ +1.79E+308 |
注意:Java 的浮點型常量預設為double型,宣告float型常量,須後加 'f'或'F'
字元型別(char)
型別 | 佔用儲存空間 |
---|---|
char | 4位元組 |
注意:char型別是可以進行運算的。因為它都對應有Unicode碼。
布林型別(boolean)
型別 | 佔用儲存空間 |
---|---|
boolean | 1位元組 |
注意:boolean型別資料只允許取值true和false,無null。
boolean型別不可以轉換為其它的資料型別。
Java中的跳脫字元
跳脫字元 | 含義 |
---|---|
\n | 表示換行 |
\t | 表示橫向跳格,作用同tab鍵 |
\b | 表示退格 |
\r | 表示回車 |
\f | 表示走紙換頁 |
\\ | 表示反斜槓字元 |
\’ | 表示單引號字元 |
\” | 表示雙引號字元 |
\d | 表示八進位制字元 |
\xd | 表示十六進位制字元 |
\ud | 表示Unicode字元 |
運算子
算術運算子
算術運算子 | 名稱 | 舉例 |
---|---|---|
+ | 加法 | 5+12=17 |
- | 減法 | 20-5=15 |
* | 乘法 | 3*7=21 |
/ | 除法 | 4/2=2 |
% | 求餘 | 24%7=3 |
++ | 自增1 | int i = 5;i++ |
-- | 自減1 | int i = 5;i-- |
自增(自減)運算子:++,–
例:a++;先賦值後運算
int a = 1;
int b = a++;
System.out.print(a);//a=2
System.out.print(b);//b=1
例:++a;先運算後賦值
int a = 1;
int b = ++a;
System.out.print(a);//a=2
System.out.print(b);//b=2
賦值運算子
運算子 | 名稱 | 舉例 |
---|---|---|
= | 賦值 | c=a+b將把a+b得到的值賦給c |
+= | 加等於 | c+=a等價於c=c+a |
-= | 減等於 | c-=a等價於c=c-a |
*= | 乘等於 | c=a等價於c=ca |
/= | 除等於 | c/=a等價於c=c/a |
%= | 模等於 | c%=a等價於c=c%a |
比較運算子(關係運算子)
比較運算子 | 名稱 | 舉例 | 結果 |
---|---|---|---|
> | 大於 | a=5;b=2;a>b; | true |
< | 小於 | a=5;b=2;a<b; | false |
>= | 大於等於 | a=5;a>=3; | true |
<= | 小於等於 | a=5;b=2;b<=a; | true |
== | 等於 | a=5;b=2;a==b; | false |
!= | 不等於 | b=2;b!=2; | false |
注意:
1.>、 < 、 >= 、 <= 只支援左右兩邊運算元是數值型別
2.== 、 != 兩邊的運算元既可以是數值型別,也可以是引用型別
3.== 比較基本資料型別時,比較的是值。比較引用資料型別時比較的是地址。
邏輯運算子
邏輯運算子 | 名稱 | 舉例 | 結果 |
---|---|---|---|
&& | 與 | a&&b | 如果a與b都為true,則返回true |
|| | 或 | a||b | 如果a與b任一為true,則返回true |
! | 非 | !a | 如果a為false,則返回true,即取反 |
^ | 異或 | a^b | 如果a和b有且只有一個為true,則返回true |
“&”和“&&”的區別
單&時,左邊無論真假,右邊都進行運算;
雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那麼右邊不參與運算。
“|”和“||”的區別同理,||表示:當左邊為真,右邊不參與運算。
位運算子
位運算子 | 含義 |
---|---|
<< | 空位補0,被移除的高位丟棄,空缺位補0。 |
>> | 被移位的二進位制最高位是0,右移後,空缺位補0;最高位是1,空缺位補1。 |
>>> | 被移位二進位制最高位無論是0或者是1,空缺位都用0補。 |
& | 二進位制位進行&運算,只有1&1時結果是1,否則是0; |
| | 進位制位進行|運算,只有0|0時結果是0,否則是1; |
^ | 相同二進位制位進行運算,結果是0;11=0,00=0不相同二進位制位運算結果是1。10=1.01=1 |
~ | 正數取反,各二進位制碼按補碼各位取;反負數取反,各二進位制碼按補碼各位取反 |
三元運算子
語法形式:布林表示式 ? 表示式1:表示式2
布林表示式為true,運算結果為表示式1。反之,結果為表示式2。
int a = (10>3) ? 5 : 10;//10>3為true,a=5
int a = (10<3) ? 5 : 10;//10<3為false,a=10
程式流程控制
結構化程式設計中規定的三種基本流程結構,分別為:順序結構,分支結構,迴圈結構。
順序結構
程式由上向下執行。
public class Test{
int num1 = 12;
int num2 = num1 + 2;
}//java中定義成員變數時採用合法的向前引用。
分支語句if-else
public class Test{
int a = 1;
if(a>1){
...
}else{
...
}
}//java中定義成員變數時採用合法的向前引用。
分支語句switch-case
public class SwitchTest {
public static void main(String args[]) {
int i = 1;
switch (i) {
case 0:
System.out.println("one");
break;
case 1:
System.out.println("two");
break;
default:
System.out.println("other");
break;
}
}
}
迴圈結構
迴圈結構:for迴圈
public class ForLoop {
public static void main(String args[]) {
int result = 0;
for (int i = 1; i <= 100; i++) {//1.初始化部分 2.迴圈條件部分 3.迭代部分
result += i;//迴圈體部分
}
System.out.println("result=" + result);
}
}
迴圈結構:while迴圈
public class WhileLoop {
public static void main(String args[]) {
int result = 0;
int i = 1;//1.初始化部分
while (i <= 100) {//迴圈條件
result += i;//迴圈體部分
i++;//迭代部分
}
System.out.println("result=" + result);
}
}
迴圈結構:do-while迴圈
public class DoWhileLoop {
public static void main(String args[]) {
int result = 0, i = 1;//初始化部分
do {
result += i;//迴圈體部分
i++;//迭代部分
} while (i <= 100);//迴圈條件部分
System.out.println("result=" + result);
}
}
特殊關鍵字break,continue
break語句
break語句用於終止某個語句塊的執行
public class BreakTest{
public static void main(String args[]){
for(int i = 0; i<10; i++){
if(i==3)
break;//當條件成立時,終止for迴圈
System.out.println(" i =" + i);
}
System.out.println("Game Over!");
}
}
continue語句
continue只能使用在迴圈結構中
continue語句用於跳過其所在迴圈語句塊的一次執行,繼續下一次迴圈
public class ContinueTest {
public static void main(String args[]){
for (int i = 0; i < 100; i++) {
if (i%10==0)
continue;//跳出成立的迴圈
System.out.println(i);
}
}
}
參考資料
- java基本語法(史上最全)
- Java語言基本語法
- java基礎(一) 深入解析基本型別