2、變數、資料型別、運算子
1、變數
☆定義:用來儲存數值的記憶體區域,用來記錄數值。可用於代數計算。
☆格式:資料型別 變數名 = 變數值;(int a = 2;) 變數型別——java是強型別語言,不同的資料型別在記憶體中的儲存方式不盡相同,所以必須指定其型別。 變數名——即識別符號,這個名字代表了儲存數值的空間。 “=”——賦值。 變數值——變數真正儲存的值,與資料型別一致。
☆其他:可以同時定義多個變數(int a=1,b=2;);定義變數後可以不賦值,使用時賦值,不賦值不可使用;變數有作用域限制(有全域性變數、區域性變數等)。
2、資料型別
java對不同資料結構進行了嚴格區分,對每一種資料型別都做了明確定義(C標準沒有明確定義),也同時規定了每種資料型別的變數在記憶體中佔用空間的大小。
☆分類:基本資料型別:整數、小數、字元、布林;引用資料型別:陣列、介面、類
☆具體定義(無引用型別): 整數型:byte-1位元組;short-2位元組;int-4位元組(整數預設型別);long-8位元組(賦值時需L字尾區分) 浮點型:float-4位元組(賦值時需F字尾區分);double-8位元組(小數預設型別) 字元型:char-2位元組,必須用單引號包裹,不可為空。(注意轉義字元,轉義符號\) 布林型:boolean-1位元組
byte | -128~127 |
---|---|
short | -32768~32767 |
int | -2147483648~2147483647 |
long | -263 |
float | -3.403E38~3.403E38 |
double | -1.798E308~1.798E308 |
char | ‘A’,‘2’,‘戈’ |
boolean | true or false |
☆數字型別轉換 1、規則:資料表示範圍從小到大:byte、short、int、long、float、double 2、自動型別轉換:範圍小的資料型別值可以自動轉換為範圍大的資料型別值(double d=100;) 3、強制型別轉換:範圍大的資料型別值不可以自動轉換為範圍小的資料型別值,但是可以強制轉換。(int i = (int)3.14159;)
3、運算子
☆定義:運算子是用來計算資料的指令。資料可以是常量,也可以是變數。
☆算術運算子
運算子 | 運算規則 | 範例 | 結果 |
---|---|---|---|
+ | 正 | +2 | 2 |
+ | 加 | 1+2 | 3 |
+ | 連線字串 | “天”+“下” | “天下” |
- | 負 | int a=3;-a | -3 |
- | 減 | 2-2 | 0 |
* | 乘 | 2*2 | 4 |
/ | 除 | 2/2 | 1 |
% | 取模 | 1%2 | 1 |
++ | 自增 | int a=1;a++/++a | 2 |
– | 自減 | int a=3;a–/--a | 2 |
注意事項:
- 加法運算子在連線字串時要注意,只有直接與字串相加才會轉成字串。
- 除法“/”當兩邊為整數時,取整數部分,舍餘數。當兩邊為浮點型時,按正常規則相除。
- “%”為整除取餘符號,小數取餘沒有意義。取餘結果的符號與被取餘數的符號相同。
- 整數做被除數,0不能做除數,否則報錯。
- 小數做被除數,整除0結果為Infinity,對0取模結果為NaN
- 自增與自減:字首式是先運算再使用;字尾式是先使用再運算。可以用於整數型別byte、short、int、long,浮點型別float、double,以及字串型別char。在Java5.0及以上版本中,它們可以用於基本型別對應的包裝器類Byte、Short、Integer、Long、Float、Double、Character。它們的運算結果的型別與被運算的變數的型別相同。
☆賦值運算子
運算子 | 運算規則 | 範例 | 結果 |
---|---|---|---|
= | 賦值 | int a=2 | 2 |
+= | 加後賦值 | int a=2;a+=2 | 4 |
-= | 減後賦值 | int a=2;a-=2 | 0 |
*= | 乘後賦值 | int a=2;a+=2 | 4 |
/= | 除後賦值 | int a=2;a/=2 | 1 |
%= | 取模後賦值 | int a=2;a%=2 | 0 |
諸如+=這樣形式的賦值運算子,會將結果自動強轉成等號左邊的資料型別。
☆關係運算符
運算子 | 運算規則 | 範例 | 結果 |
---|---|---|---|
== | 相等於 | 4==3 | false |
!= | 不等於 | 4!=3 | true |
< | 小於 | 4<3 | false |
> | 大於 | 4>3 | true |
<= | 小於等於 | 4<=3 | false |
>= | 大於等於 | 4>=3 | true |
☆邏輯運算子
運算子 | 運算規則 | 範例 | 結果 |
---|---|---|---|
& | 與(並且) | false&true | false |
| | 或 | false|true | true |
^ | 異或 | true^false | true |
! | 非(取反) | !true | false |
&& | 短路與 | false&&true | false |
|| | 短路或 | true||false | true |
單&時,左邊無論真假,右邊都進行運算;雙&時,如果左邊為真,右邊參與運算,如果左邊為假,那麼右邊不參與運算。“|”和“||”的區別同理,雙或時,左邊為真,右邊不參與運算。
☆三元運算子 格式:(條件表示式)?表示式1:表示式2; 規則:先判斷條件表示式的值,若為true,運算結果為表示式1;若為false,運算結果為表示式2。
☆運算子優先順序 優先順序相同的情況下,按照從左到右的順序依次運算
1 | 括號 | ()、[ ] |
---|---|---|
2 | 正負號 | +、- |
3 | 自增自減、非 | ++、- -、! |
4 | 乘除、取模 | *、/、% |
5 | 加減 | +、- |
6 | 移位運算 | <<、>>、>>> |
7 | 大小關係 | >、>=、<、<= |
8 | 相等關係 | ==、!= |
9 | 與(並且) | & |
10 | 異或 | ^ |
11 | 或 | | |
12 | 邏輯與 | && |
13 | 邏輯或 | || |
14 | 條件運算 | ?:] |
15 | 賦值運算 | =、+=、-=、*=、/=、%= |
16 | 位賦值運算 | &=、|=、<<=、>>=、>>>= |
public class hello{
public static void main (String[] args){
println("湖科大商學院學生,交朋友呀");
}
}