在Java语言中,条件运算符“?:”的表达采取下述形式:

布尔表达式?值0:值1

若布尔表达式的结果为true,就计算值0,而且这个结果将成为最终由运算符产生的值。但若布尔表达式的结果为false,就计算值1,而且这个结果将成为最终由运算符产生的值。因此值0和值1的类型必须和共同目标变量的类型相兼容。

条件运算在JDK源码在在抛出异常时使用得比较多。

public int testConditionExpression(String param1,String param2) throws Exception{

   .....
   .....
   
   throw new Exception(param1 == null ? "param is a null value"
                : param2 == null ? "param2 is a null value"
                        : "param 1 and param2 are null

values");

}