算術運算符
+ - × ÷ ()
先乘除后加減
先算括號里面的后算括號外面的
除數不能為0
7 ÷ 3 = 2 …… 1
在代碼中算術運算符是什么樣子?
+ - * / () %
= 賦值 把賦值號右側的數據賦值給左側的【變量】
在操作算術運算的時候,如果一個變量或者一個數據,沒有被賦值號賦值的情況下,是不會發生
任何的改變2
優先級問題:只要記住最高的優先級是() 簡單粗暴加括號
+= -= /= *= %=
例如:
num1 = num1 + num2;
num1 += num2;
自增自減運算符
這些運算符是提供給【變量】使用
++:自增操作,相當于當前變量 += 1
優先級問題:如果++運算符在變量之后,先執行該行語句,再來執行++自增操作,如果在變量之前,先
執行自增操作,再來執行改行語句的運行
--:自減操作,性對于當前變量 -= 1
自減的優先級同上
[建議]
在代碼中使用自增自減運算符,一般都是單獨成行,避免沒必要的歧義
面試題: Java中不支持
int num = 5;
++(num++) 6 7
7 7
語法錯誤
解釋:
按照語法,首先執行num++ 結果是一個6,是一個常量,這個常量就是小括號表示的
數值,也是一個常量。在這里括號里面的內容會被認為是一個常量6 來處理
在++ 或者 -- 中不能操作任何的【常量】
關系運算符
< > = ≥ ≤ ≠
手寫的關系運算符
< > == <= >= !=
代碼中支持關系運算符
關系運算符的結果是什么???
boolean true false
5 > 2 true
2 > 3 false
邏輯運算符
與:金庫,需要兩個人拿兩把鑰匙,同時在場才可以打開,缺一不可
&& 同真為真,有假為假
或:自個家,不管是誰帶鑰匙,都開打開門,但是如果都沒有帶,GG
|| 有真為真,同假為假
非:犟 取反
! 真變假來假變真
【拓展】
true 0000 0001 => 1
false 0000 0000 => 0
在計算機世界中,默認的真假關系是 1 和 0, 而Java不支持這樣方式,采用的是true和false來代表
在計算機世界中,非0即真
while (true) 死循環 Java支持
while (1) 死循環 其他語言支持的 C/OC/C++/JavaScript
面試題: (不針對Java)
請解釋以下內容的含義,用通俗的代碼來表示
前提:n是一個int類型的變量
!n的含義
n = 1; !n = false;
n = 0; !n = true;
n = 2; !n = false; //非 0 即 真
!n的含義是 判斷當前n的值是否等于0 ,換一種方式表示如下
n == 0;
分支結構
代碼中有三大結構:
順序結構,分支結構和循環結構
if (判斷語句 true/false) {
//語句體
}
運行流程:
當程序運行到if語句,首先判斷if 之后的括號里面的內容是否為true,如果為true執行語句體,如果為false,
直接執行大括號之后的語句
if (判斷語句 true/false) {
//true 語句體
} else {
//false 語句體
}
運行流程:
當程序運行到if-else語句,首先判斷if之后的括號里面的內容是否為true,如果為true執行true 語句體,
如果為false 執行false語句體
if () {
} else if () {
} else {
}
switch - case: