是不是有什么样的;及;Java中的语句?
我有一个问题想得到回答。我正在制作一个需要使用布尔值的应用程序。 这是到目前为止我的代码是不是有什么样的;及;Java中的语句?,java,boolean,Java,Boolean,我有一个问题想得到回答。我正在制作一个需要使用布尔值的应用程序。 这是到目前为止我的代码 if (but1 = true){ //Do Something } 但是我想在中使用某种类型的和函数,这样我可以说 if (but1 = true and but2 = true){ //Do Something } 我已经声明了我所有的布尔变量,并且想知道是否有任何类型的函数允许我支持我需要的这种类型的代码。 谢谢这是: if (but1 && but2)
if (but1 = true){
//Do Something
}
但是我想在中使用某种类型的和函数,这样我可以说
if (but1 = true and but2 = true){
//Do Something
}
我已经声明了我所有的布尔变量,并且想知道是否有任何类型的函数允许我支持我需要的这种类型的代码。
谢谢这是:
if (but1 && but2){
//Do Something
}
只是简单的Java。试试这个:
if (but1 == true && but2 == true) {
// do something
}
我认为应该这样写:
if (but1) {
//Do Something
}
if (but1 && but2){
//Do Something
}
无法将变量与=
进行比较。单个等号用于赋值,其中==
用于比较
在Java中,您可以执行以下操作:
if (a == true && b == true)
{
//do code
}
逻辑and是&
<如果第一个参数为false,则代码>&
将缩短求值的速度。例如:
// foo() and bar() will be called
if (foo() & bar()) {
}
// bar() will not be called if foo() returns false
if (foo() && bar()) {
}
好的,这个问题已经得到了很好的回答,但只是想让你知道:
if (but1 = true){
//Do Something
}
将始终计算为true,因为它接受分配给但1的新值
对于布尔型,也不需要使用“==”运算符。&&也是一种短路运算符。如果第一次评估失败,则不检查第二次评估。您可以使用一个&来检查语句的两个部分
比如说
if (a() && b()){...}
如果a()为false,则不会计算b()。如果有一个&那么即使a()为false,也会计算b()
这对or(和)也是一样的。你真的试过了吗?这比在这里提问要快。读一读,你会学到这一点和更多。这是正确的,但不是惯用语。不需要“==true”是的,但是如果but1和but2等于true或false,我怎么说呢?那么你可以使用!but1
(与but1==false
或but1!=true
相同,但可读性更强)。而且but1
与but1==true
和but1相同=错误
。它是非常基本的逻辑:“but1为真”当且仅当“but1等于真”…&
也可用于布尔值。检查一下。我确实同意对于布尔人的结果是一样的。我所争论的是“逻辑与”一词。JLS-link@martijno-posted给了我一个理由,我引用:“当一个&、^或|运算符的两个操作数都是boolean或boolean类型时,则按位运算符表达式的类型是boolean”。你也可以检查一下。