[一般形式:x y : z;【表达式0?表达式1:表达式2;】执行过程:表达式0为真,返回表达式1的值,否则返回表达式2的值。例子:返回三个数中的最大者public int maxOfThree(
JAVA问号?运算符的用法
*Java提供一个特别的三元运算符(ternary)经常用于取代某个类型的if-then-else 语句。
这个运算符就是?初看起来有点迷惑
但是一旦掌握了它,用?运算符是很方便高效的
*?运算符的通用格式如下:
expression1 ? expression2 : expression3
其中,expression1是一个布尔表达式。如果expression1为真,那么expression2被求值;
否则,expression3被求值。整个?表达式的值就是被求值表达式(expression2或expression3)的值。
expression2和expression3是除了void以外的任何类型的表达式,且它们的类型必须相同。
String type =null == "" ? "" : "1";[JAVA问号运算符的用法*Java提供一个特别的三元运算符(ternary)经常用于取代某个类型的if-then-else 语句。这个运算符就是初看起来有点迷惑但是一旦掌握了它,用?运算
该例子的type = 1;
因为null==""为假所以后面表达式的值为1,
type的值即为1;
?号表达式的结果必须是一个值(亦可以是一个操作后得到的值),不可是简单的操作,例如以下操作是错误做法
int a=1;
int b=1;
a==b ? System.out.println("a==b正确 的 "):System.out.println("a==b不正确 的 ");[ 今天上网看代码,发现C#代码可以用双问号,小弟不明白就查了一下,发现如下,就记了下来:单问号---用于给变量设初值的时候,给变量(int类型)赋值为null,而不是0!双问号-