定義: 對常量和變量進行操做的符號spa
分類: 6大類---算術, 賦值, 比較, 邏輯, 位, 三元code
(1).算術運算符blog
+, -, *, / ,%, ++, --字符串
①. +號在Java中一共有3種做用: 正號, 加法運算, 字符串鏈接符class
②. / 獲取商, 整數相除只能達到整數(若是想獲得小數,必須把數據變成浮點型)變量
技巧: 把其中一個數變成小數, 則另外一個數在運算時會自動類型提高技巧
③. %獲取餘數(讀法:取模)語法
栗子: a % b 當|a|<|b|,結果是 a; 當|a|=|b| or b的倍數,結果是 0; 當|a|>|b|,結果是 餘數;
小拓展:
對於一個三位數num,獲取它的每一位
個位: num%10
十位: num/10%10
百位: num/10/10%10
結論: %運算的結果的符號只有左邊數據有關,與右邊無關二進制
應用: 任何一個正整數%2, 結果不是0就是1, 以此可用來做爲判斷切換條件數據
④. ++(自加) 和 --(自減)運算
++: 對原有數據進行 +1;
--: 對原有數據進行 -1;
a.單獨使用: 放在操做數的先後效果同樣; b.參與運算使用: 放在操做數以前,則該數據先自增/自減,然後在參與運算; 放在操做數以後,則該數據先參與運算,再進行自增/自減;
注意:
數據進行++/--運算時,系統會默認加一個類型強制轉換符
栗子:
byte b = 10;
b++;//該句等價於: b = (byte)(b+1);
(2).賦值運算符
基本: =
(左邊必須是變量),把右邊的數據賦值給左邊
拓展: +=, -=, *=, /=, %=
把左邊數據和右邊數據做相應的運算後,再賦值給左邊
栗子: a+=4; //至關於 a = a+4;
(3).關係運算符
==, !=, >, >=, <, <=
不管操做簡單仍是複雜,關係運算符的計算結果都是boolean類型(true / false)
(4).邏輯運算符
&, |, ^, !, &&, ||
①. 基本用法:
a. 通常用於鏈接boolean類型的表達式或值 b. 表達式:用運算符把常量/變量鏈接起來符合Java語法的式子 栗子: 算術表達式: a + b 比較比較式: a == b
②. 特色:
邏輯與: &, and, 遇false則false; 邏輯或: |, or, 遇true則true; 邏輯異或: ^, 兩邊相同爲false,兩邊不一樣爲true; 邏輯非: !, 非false則true,非true則false;
③. && 和 ||
&& 和 & 區別: 最終結果都同樣; && 具備短路效果, 左邊false則右邊不執行 || 和 | 區別: 最終結果都同樣; || 具備短路效果, 左邊true則右邊不執行
(5).位運算符
直接操做二進制, 暫且跳過, 往後再補...
(6).三元運算符
格式: ( 關係表達式 ) ? 表達式1 : 表達式2;
執行流程:
先判斷關係表達式的結果是true仍是false:
true: 則賦予表達式1的值
false:則賦予表達式2的值
//求兩個整數的最大值 int x = 10; int y = 20; int max = (x > y) ? x : y //求三個整數最大值 int a = 10; int b = 20; int c = 30; int temp = (a > b) ? a : b; int max = (temp > c) ? temp : c;