博主理解的三目運算
還是萌新小白的博主認爲,三目運算和java邏輯中的if else 極爲的相似,所以大家剛接觸的時候完全可以把它認爲就是if else!
想必大家一定都在代碼中見過 a==b ? 1:0 這種的格式吧。
那麼,他是怎麼進行運算的呢?
在 ? 前面 返回給我們的基本上都是 true 或 false,當 ? 前面返回 true 的時候,就走 : 前面(左邊)的代碼 ,同理, ? 返回爲false時, 就會執行 : 後面(右邊) 的代碼
話不多說,我們配合代碼來理解它。
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 1;
int result = a == b ? 1 : 0;
System.out.println(result);
int s = a == b ? 0 : a == c ? 3 : 4;
System.out.println(s);
}
第一段控制檯輸出 0 , 很顯然,a==b 返回的爲false 所以執行 : 後面的代碼,顧result被賦值爲0,
第二段控制檯輸出 3,這又是爲什麼呢,我們一步步分析。
首先,a==b 返回 false 執行冒號後面的 來到了 a==c ,再次返回 true 執行冒號前面的 ,顧得 將 3 賦值給 s。