一篇文章帶你入門Java運算符
運算符時一種特殊的符號,用以表示數據的運算,賦值和比較等。
- 算數運算符
- 賦值運算符
- 關系運算符
- 邏輯運算符
- 位運算符
- 三元運算符
算數運算符(Arithmetic operator)
算數運算符是對數值類型的變量進行運算的,在Java程序中使用的非常多。
算數運算符
運算符 | 運算 | 范例 | 結果 |
---|---|---|---|
+ | 正號 | +7 | 7 |
– | 負號 | b=11;-b | -11 |
+ | 加 | 9+9 | 18 |
– | 減 | 10-8 | 2 |
* | 乘 | 7*8 | 56 |
/ | 除 | 9/9 | 1 |
% | 取模(取餘) | 11%9 | 2 |
++ | 自增(前):先運算後取值 | a=2;b=++a; | a=3;b=3 |
++ | 自減(後):先取值後運算 | a=2;b=a++; | a=3;b=2 |
– – | 自增(前):先運算後取值 | a=2;b=–a; | a=1;b=1 |
– – | 自減(後):先取值後運算 | a=2;b=a–; | a=1;b=2 |
+ | 字符串相加 | “hsp”+”edu” | “hsp edu” |
關系運算符(Relational operator)
- 關系運算符的結果都是boolean型,也就是要麼是true,要麼是false。
- 關系表達式經常用在if結構的條件中或循環結構的條件中。
關系運算符
運算符 | 運算 | 范例 | 結果 |
---|---|---|---|
== | 相等於 | 8==7 | false |
!= | 不等於 | 8!=7 | true |
< | 小於 | 8<7 | false |
> | 大於 | 8>7 | true |
<= | 小於等於 | 8<=7 | false |
>= | 大於等於 | 8>=7 | true |
instanceof | 檢查是否是類的對象 | “hsp” instanceof String | true |
邏輯運算符(Logical operator)
用於連接多個條件(多個關系表達式)。最終的結果也是一個boolean值。
邏輯運算符
- 短路與&&,短路或||,取反!。
- 邏輯與&,邏輯或|,^邏輯異或。
a | b | a&b | a&&b | a|b | a||b | !a | a^b |
---|---|---|---|---|---|---|---|
true | true | true | true | true | true | true | true |
true | false | false | false | true | true | false | true |
false | true | false | false | true | true | true | true |
false | false | false | false | false | false | true | false |
- a&b:&叫邏輯與:規則:當a和b同時為true,則結果為true,否則為false。
- a&&b:&&叫短路與:規則:當a和b同時為true,則結果為true,否則為false。
- a|b:|叫邏輯或:規則:當a和b,有一個為true,則結果為true,否則為false。
- a||b:||叫短路或:規則:當a和b同時為true,則結果為true沒否則為false。
- !a:叫取反(非運算):當a為true,則結果為false,當a為false時,結果為true。
- a^b:叫邏輯異或:當a和b不同時,則結果為true,否則為false。
賦值運算符(Assignment Operators)
賦值運算符就是將某個運算後的值,賦給指定的變量。
基本賦值運算符:= , int a =10;。
符合賦值運算符:+= , -= , *= , /= , %=等。
賦值運算符特點
1.運算順序從右往左,int num = a + b + c;
2.賦值運算符的左邊隻能是變量,右邊可以是變量,表達式,常量值 ,int num = 20; int num2 = 78*34 – 10; int num3 = a;
3.復合賦值運算符等價於下面的效果
比如:a+=3;等價於a=a+3;
4.復合賦值運算符會進行類型轉換
byte b = 2; b+=3;b++;
三元運算符(Ternary operator)
條件表達式?表達式1:表達式2;
1.如果條件表達式為true,運算後的結果是表達式1;
2.如果條件表達式為false,運算後的結果是表達式2;
口訣:[一真]
使用細節
1.表達式1和表達式2要為可以賦給接受變量的類型(或可以自動轉換)。
2.三元運算符可以轉換成if else語句。
運算符優先級
1.運算符有不同的優先級,所謂優先級就是表達式運算中的運算順序。如右表,上一行運算符總優先於下一行。
2.隻有單目運算符,賦值運算是從右向左運算的。
運行左右順序 | 運行順序 |
---|---|
R——>L | . () {} ; , |
L——>R | ++ — ~ !(data type) |
L——>R | * / % |
L——>R | + – |
L——>R | << >> >>> 位移 |
L——>R | < > <= >= instanceof |
L——>R | == != |
L——>R | & |
L——>R | ^ |
L——>R | | |
L——>R | && |
L——>R | || |
L——>R | ? : |
R——>L | = *= /= %= |
+= -= <<= >>= | |
/>>>= &= ^= |= |
標識符的命名規則和規范
標識符概念
- Java對各種變量,方法和類等命名時使用的字符序列稱為標識符。
- 凡是自己可以起名字的地方都叫標識符 int num1 = 90;。
標識符的命名規則(必須遵守)
- 由26個名文字母大小寫,0-9,_或$組成。
- 數字不可以開頭,int 3ab = 1;。
- 不可以使用關鍵字和保留字,但包含關鍵字和保留字。
- Java中嚴格區分大小寫,長度無限制。 int totalNum = 10; int n = 90;。
- 標識符不能包含空格。int a b = 90;。
標識符命名規范
1.包名:多單詞組成時所有字母都小寫: aaa.bbb.ccc //比如com.hsp.crm
2.類名、接口名:多單詞組成時,所有單詞的首字母大寫: XxxYyyZzz
比如:TankShotGame
3.變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個
單詞首字母大寫: xxxYyyZzz 比如: tankShotGame
4.常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接: XXX YYY ZZZ
比如:定義一個所得稅率TAX RATE
5.後面我們學習到類,包,接口,等時,我們的命名規范要這樣遵守,更加詳細的 看文檔.
關鍵字定義和特點
定義:被Java語言賦予瞭特殊含義,用做專門用途的字符串(單詞)。
特點:關鍵字中所有字母都為小寫。
用於定義數據類型的關鍵字
用於定義數據類型的關鍵字 |
||||
class | interface | enum | byte | short |
int | long | float | double | char |
boolean | void | |||
用於定義數據類型值的關鍵字 | ||||
true | false | null | ||
用於定義流程控制的關鍵字 | ||||
if | else | switch | case | default |
while | do | for | break | continue |
return | ||||
用於定義訪問權限修飾的關鍵字 | ||||
private | protected | public | ||
用於定義類,函數,變量修飾的關鍵字 | ||||
abstract | final | static | synchronized | |
用於定義類與類之間關系的關鍵字 | ||||
extends | implements | |||
用於定義建立實例及引用實例,判斷實例的關鍵字 | ||||
new | this | super | instanceof | |
用於異常處理的關鍵字 | ||||
try | catch | finally | throw | throws |
用於包的關鍵字 | ||||
package | import | |||
其他修飾符的關鍵字 | ||||
native | strictfp | transient | volatile | assert |
保留字
Java保留字:現有Java版本尚未使用,但以後版本可能會作為關鍵字使用。自己命名標識符時要避免使用這些保留字:
byValue
、cast
、 future
、generic
、 inner
、 operator
、 outer
、rest
、var
、goto
、const
。
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!