條件運算符屬于三目運算符,它的語法結構是:布爾表達式?表達式1:表達式2。它的運行原理是這樣的,先判斷布爾表達式的結果是true還是false,如果是true,則選擇表達式1的結果作為整個表達式的結果,反之則選擇表達式2的結果作為整個表達式的結果。來看一段代碼:
public class ConditionalOperatorTest01 {
public static void main(String[] args) {
//編譯報錯:這不是一個語句
//10;
boolean flag = true;
//編譯報錯:這不是一個語句
//flag ? 1 : 0;
//以上如果是一條完整的語句應該這樣寫
int k = flag ? 1 : 0;
System.out.println("k = " + k); //1
//三目運算符最經典的用法
boolean sex = true;
//當布爾變量sex為true則結果是'男',反之'女'
char gender = sex ? '男' : '女';
System.out.println("性別:" + gender); //男
sex = false;
gender = sex ? '男' : '女';
System.out.println("性別:" + gender); //女
//又如
int x = 100;
int y = 100;
System.out.println(x == y ? "x和y相等" : "x和y不相等");
}
}
實際上條件運算符和后期要學習的控制語句if可以達到同等效果。在實際開發中靈活運用條件運算符會讓你的代碼看起來更加簡潔清涼,達到意想不到的效果。