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