7.運算符
定義: 對常量和變量進行操做的符号spa
分類: 6大類---算術, 指派, 比較, 邏輯, 位, 三元code
(1).算術運算符blog
+, -, *, / ,%, ++, --字元串
①. +号在Java中一共有3種做用: 正号, 加法運算, 字元串連結符class
②. / 擷取商, 整數相除隻能達到整數(若是想獲得小數,必須把資料變成浮點型)變量
技巧: 把其中一個數變成小數, 則另外一個數在運算時會自動類型提高技巧
③. %擷取餘數(讀法:取模)文法
栗子:
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;