JavaSE之java基礎語法

搬砖的杰先生發表於2024-05-13

關鍵字和保留字

關鍵字定義和特點

定義:被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尚未使用,但以後版本可能會作為關鍵字使用。自己使用時應避免使用。

基本資料型別

img

整數型別(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基礎(一) 深入解析基本型別

相關文章