Java三元運算符

Java三元運算符是唯一採用三個運算元的條件運算符。Java三元運算符是if-then-else語句的單行替換方案,它在java編程中使用非常廣泛。也可以使用三元運算符來替換switch-case語句。

Java三元運算符

java三元運算符中的第一個運算元應該是布爾值或帶有布爾結果的語句。如果第一個運算元為true,則java三元運算符返回第二個運算元,否則返回第三個運算元。

java三元運算符的語法是:

result = boolean_test_statement ? value1 : value2;

如果boolean_test_statementtrue,則將value1分配給result變數,否則將value2分配給result變數。

下麵來看一個java程式中的三元運算符的例子。


// Power by xuhuhu.com
public class TernaryOperator {

    public static void main(String[] args) {

        System.out.println(getMinValue(4, 10));

        System.out.println(getAbsoluteValue(-10));

        System.out.println(invertBoolean(true));

        String str = "xuhuhu.com";
        String data = str.contains("A") ? "Str contains 'A'" : "Str doesn't contains 'A'";
        System.out.println(data);

        int i = 10;
        switch (i) {
        case 5:
            System.out.println("i=5");
            break;
        case 10:
            System.out.println("i=10");
            break;
        default:
            System.out.println("i is not equal to 5 or 10");
        }

        System.out.println((i == 5) ? "i=5" : ((i == 10) ? "i=10" : "i is not equal to 5 or 10"));
    }

    private static boolean invertBoolean(boolean b) {
        return b ? false : true;
    }

    private static int getAbsoluteValue(int i) {
        return i < 0 ? -i : i;
    }

    private static int getMinValue(int i, int j) {
        return (i < j) ? i : j;
    }

}

執行上面示例代碼,得到以下結果 -

4
10
false
Str doesn't contains 'A'
i=10
i=10

正如上面所看到的,代碼使用java三元運算符來代替if-then-elseswitch case語句。這樣就減少了java程式中的代碼行數。


上一篇: java中方法重載和方法重寫的區別 下一篇:無