什么是&引用;用Java是什么意思?
我不知道问号(什么是&引用;用Java是什么意思?,java,ternary-operator,conditional-operator,Java,Ternary Operator,Conditional Operator,我不知道问号(?)在java中代表什么,我在做一个小程序,一个Nim游戏。我们在一本书中寻求帮助,并看到以下声明: int pinsToTake = (min >= 2) ? 2 : 1; if(boolean_expression) //do_if_true; else //do_if_false; 我不明白,?代表什么,它能和if语句有关吗,但你把它放在一个变量中?而:可以是“其他”吗?(我刚才说的这些话可能会很误导人) someval=(最小值>=2)?2 :
?
)在java中代表什么,我在做一个小程序,一个Nim游戏。我们在一本书中寻求帮助,并看到以下声明:
int pinsToTake = (min >= 2) ? 2 : 1;
if(boolean_expression)
//do_if_true;
else
//do_if_false;
我不明白,?
代表什么,它能和if语句有关吗,但你把它放在一个变量中?而:
可以是“其他”吗?(我刚才说的这些话可能会很误导人)
someval=(最小值>=2)?2 : 1;
这被称为三元运算符,可以用作if-else
。这相当于
if((min >= 2) {
someval =2;
} else {
someval =1
}
有关更多信息和用法,请按此操作。其
三值运算符
也称为条件运算符,请查看
像objectbar=foo.isSelected()?getSelected(foo):getSelected(baz)代码>
例如,操作数1?操作数2:操作数3
- 如果操作数1为true,则返回操作数2,否则返回操作数3
- 操作数1必须是布尔类型
- 操作数1可以是计算结果为布尔类型的表达式
- 操作数1和操作数2必须是可升级的数字类型或可转换的对象引用,或为null
- 如果操作数2或操作数3中的一个是字节,另一个是短字节,则返回值的类型将是短字节
- 如果操作数2或操作数3中的一个是字节、短字符或字符,而另一个是适合其他操作数的常量整数值
范围,则返回值的类型将是另一个值的类型
操作数
- 否则,将应用常规二进制数字升级
- 如果操作数2或操作数3中的一个为空,则返回的类型将是另一个操作数的类型
- 如果操作数2和操作数3都是不同的类型,则其中一个必须与另一个类型兼容(可强制转换)
它被称为,它只是if…else的缩写,是一个三元运算符,相当于if-else语句
在您的示例中:
pinsToTake = (min >= 2) ? 2 : 1
如果min>=2,则将2分配给pinsToTake,否则将1分配给pinsToTake
max = (a > b) ? a : b;
(a>b)?a:b;返回两个值(a或b)之一的表达式。
测试条件(a>b)。如果为true,则返回第一个值a。如果为false,则返回第二个值b。
返回的值取决于条件测试a>b。条件可以是任何返回布尔值的表达式。它被称为条件运算符。这就是它的工作原理。
如果最小值大于或等于2,那么后面的第一个值是?也就是说,这里的2将被分配给相应的变量,否则这里的第二个值1将被分配。它意味着:
if(min >= 2)
someval =2;
else
someval =1
它叫
也看看这个java会告诉你你需要的一切
为了存档起见,总结:
它被称为条件运算符。这是一个三元运算符
有三个任期:
布尔表达式?Expr1:Expr2
对布尔表现主义的评价。如果这是真的,那么
整个表达式是Expr1。如果它是假的,整个的价值
表达式是Expr2
因此,它的作用与if语句相同,但它是一个
而不是一个完整的陈述。这意味着您可以将其嵌入到
不能使用完整语句的地方
这是一个三元运算符。更多信息。长话短说,它是一个if-else语句,可以在一行中完成,在方法内部使用,并定义变量值
语法:
boolean_expression ? do_if_true : do_if_false;
与if-else语句的并行性:
int pinsToTake = (min >= 2) ? 2 : 1;
if(boolean_expression)
//do_if_true;
else
//do_if_false;
我没有故意使用括号,因为在do\u if\u true
和do\u if\u false
中只能执行一行代码
使用示例:
boolean hello = true;
String greetings = hello ? "Hello World!" : "No hello for you...";
这将把someString
设置为你好世界!”
,因为布尔变量Hello
的计算结果为true。另一方面,可以嵌套以下表达式:
boolean hello = true;
boolean world = false;
String greetings = hello ? (world ? "Hello World!" : "Hello Stranger!") : "No hello for you...";
在这种情况下,问候语的值为“你好,陌生人!”
谢谢你,好心的先生@亚历克赛:不用谢,:-)看。