JavaSE(一)
1.識別符號
識別符號是由數字,字母,下劃線,$ 等進行命名的符號,但是不可以以數字開頭;
識別符號包含了關鍵字,變數名,他人定義,自己定義的。
2.關鍵字
關鍵字是指有特殊用途的符號。由以下50種構成
3.資料型別,常量和變數
a.資料型別
資料型別:分為基本資料型別和引用資料型別
1.基本資料型別
有4類8種 分別是: 整數型(byte,short,int,long),浮點型(float,double), 字元型(char), 布林型(boolean)
不同的基本資料型別在記憶體中佔用的空間不同,在記憶體中儲存的是資料本身。
一個位元組在記憶體中佔8位,位中通過儲存0和1表示2進位制資料。位元組越多空間越大,儲存的範圍越大。注:bit:位元,指的是二進位制的位數
字元是通過ASCII碼值儲存在記憶體中,只有一個位元組就夠了,但是中文一個位元組就不夠了。現在需要兩個位元組。現在通用的碼錶 utf-8;
byte,short,char—> int —> long—> float —> double //看的是空間大小
如果由空間小的資料型別轉換為空間大的資料型別,進行自動型別轉換
如果由空間大的資料型別轉換為空間小的資料型別,需要強制型別轉換
2.引用資料型別
除了上述基本型別的變數,其餘的都是引用資料型別。 最常用的就是String
引用型別在記憶體中儲存的是儲存資料的地址,常用十六進位制的地址
String s = new String("HelloWorld") 聲明瞭一個型別為String 的變數 s 儲存在棧裡面,但是s並沒有指向new出來的物件。而是儲存了這個物件在堆裡面的地址
b.常量
常量是指在隨著程式執行不會改變的值,就像圓周率一樣;
常量在記憶體在儲存在常量池中
1.字面常量
-整型字面常量 如:1 ,2 ,3 ,4;
-浮點型字面常量 如:1.1 ,2.0 , 6.3;
-字元字面常量 如: 中,國;
-布林常量 如:true false
2. 符號變數
-符號變數就是給常量取一個名字
-常量名的命名規則:見名知意,約定俗成:全部字母大寫
-定義一個常量語法:final 資料型別 常量名 = 值
c.變數
1.本質是在記憶體中劃分一個空間來儲存資料,該空間內的資料在程式執行過程中允許發生變化,跟數學裡設定一個未知數x類似
2.變數名的命名規則:駝峰命名法,見名知意,約定俗成
3.定義一個變數語法:資料型別 變數名 = 變數值
4.運算子
a.算術運算子
+ - * / % 加減乘除模
//取餘的只跟被除數(8)的符號有關 system.out.println(8%5) 3 system.out.println(8%-5) 3 system.out.println(-8%5) -3 system.out.println(-8%-5) -3
b.賦值運算子
= 是將在它右邊的值賦值給左邊的值
a += 1等價於 a=a+1
+= -= *= /= %= 這些運算子會自動完成強制型別轉換
int num = 0; num = num +0.5;//錯誤 num += 0.5;//正確
++(自增) --(自減)
如果表示式中只有單獨的自增長語句,那麼a++ 和 ++a 是沒有區別的
a++ a=a+1 a += 1
a-- a=a-1 a -= 1
//如果是組合運算 public class Test { public static void main(String[] args) { int b = 1; int a = 2; System.out.println(b+ (++a)); System.out.println(b+ (a++)); } // a++ 先用a 完成運算,在完成加1的操作 //++a a先加1, 再完成運算 }
3.比較運算子
用來做比較的符號 < > => <= == !=
在java中不被允許 1<a<3這樣的寫法
注意在java 中不是用 = 來做相等比較 而是用==
運算的結果都為boolean值
4.邏輯運算子
邏輯運算子是專用於連線多個布林表示式,獲得整體的true或者false
-
與 --- and 符號 &&和&
表示兩個條件同時為真就是真,有假就是假
&&是邏輯與 ,當第一個表示式就為false的時候,忽略第二個表示式,節約記憶體 ,稱為短路
& 是位與 會將兩個表示式都執行,再進行判斷
int x = 0;
x != 0 && (x++ > 10) //列印x為0
int x = 0;
x != 0 & (x++ > 10) //列印x為1 -
或 ---or 符號|| 和 |
表示兩個條件同時為假就是假,有真就是真
|| 是專用的邏輯或 , 第一個表示式執行為true就不執行第二個語句,節約記憶體,稱為短路
| 是 位或 兩個表示式都會執行,再進行判斷
int x = 0;
x != 0 || (x++ > 10) //列印x為0
int x = 0;
x != 0 | (x++ > 10) //列印x為1 -
異或運算 符號 ^
一真一假才為真
本質也是一個位運算
平時是很少使用,往往出現在面試中,都是用來做位運算
兩大特性:1.任何一個數 異或 自己都是 0 ,2.任何一個數 異或 自己都是得到自己
-
非 - --not 符號 !
取反,真為假,假為真
5.三目運算子
運算元1?運算元2: 運算元3
-
運算元1是布林表示式
-
當布林表示式為true的時候 取運算元2
-
當布林表示式為false的時候 取運算元3
-
可以在運算元2或者3中再巢狀一個三目運算子