Java三元运算符
时间:2020-02-23 14:36:56 来源:igfitidea点击:
Java三元运算符是唯一使用三个操作数的条件运算符。
Java三元运算符是if-then-else语句的单行替换,在Java编程中使用很多。
我们也可以使用三元运算符替换switch,如下例所示。
Java三元运算符
java三元运算符中的第一个操作数应为布尔值或者具有布尔结果的语句。
如果第一个操作数为true,则Java三元运算符返回第二个操作数,否则返回第三个操作数。
Java三元运算符的语法为:
result = testStatement ? value1 : value2;
如果testStatement为true,则将value1分配给结果变量,否则将value2分配给结果变量。
我们来看一个简单的Java程序中的Java三元运算符示例。
package com.theitroad.util; 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 = "Australia"; 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; } }
上述三元运算符Java程序的输出为:
4 10 false Str contains 'A' i=10 i=10
如您所见,我们正在使用Java三元运算符来避免if-then-else 和switch case语句。
这样,我们减少了Java程序中的代码行数。