Java 我不知道';我不理解while循环中的布尔值
我不明白下面的布尔值是如何工作的Java 我不知道';我不理解while循环中的布尔值,java,Java,我不明白下面的布尔值是如何工作的 int searchedValue = 100; int pos = 0; boolean found = false; while (pos < values.length && !found) { if (values[pos] == searchedValue) { found = true; } else
int searchedValue = 100; int pos = 0;
boolean found = false;
while (pos < values.length && !found)
{
if (values[pos] == searchedValue)
{
found = true;
}
else
{
pos++;
}
}
if (found)
{
System.out.println(“Found at position: ” + pos);
}
else { System.out.println(“Not found”);
}
int searchedValue=100;int pos=0;
布尔值=false;
while(pos
我不明白的是:
我怎样才能去掉问题上的重复标记?请不要重复我的问题,因为ppl只是停止回答我。我查看了所有ppl标记为重复的帖子,但答案没有回答我的问题……你知道吗?我只是想把我自己的问题复制到同一个网站上,因为有些ppl只是标记我盲目复制,我因此没有得到我的答案。A
boolean
可以是true
或false
已找到
正在用作控制标志。它最初设置为false
,因为您没有找到任何内容。它被用在while
循环头部的表达式中,这样循环只有在found
为false
时才会执行,也就是说,一旦你找到了什么,循环就会终止<当匹配发生(在循环中)时,code>found设置为true
,以使其发生。循环完成后,输出基于found
的值
while
循环将在表达式
pos < values.length && !found
pos
是真的
。假设您正在使用and(&&
),则表达式的两个部分都必须是true
如果我们看一下!当found
为false
时,此子表达式为true
。这是因为代码>运算符对其应用于的表达式的值求反。因此,如果找到
为假
,!找到的
为真
。同样,如果找到的为真,则!找到的
为
假
。因此,当found
为false
时,循环将继续执行
打印输出还取决于找到的的值。if
语句的表达式非常类似于while
循环,即发生的情况取决于表达式是true
还是false
在您的例子中,if(found)
是所有表达式中最简单的,即isfound
true
或false
。如果(found==true)
有帮助,您可以将其视为if(found==true)
。Java的习惯用法是省略==true
为什么您认为条件测试==false
?他们没有。“…这意味着while循环将在find=true时继续循环?”“不,这意味着当条件”!“发现”是真的,只有当“发现”是假的时候才是真的。好吧,如果我知道如何编码和理解它们,那么我就不会读java初学者课本,在这里问一些看似愚蠢的问题,不是吗?但为什么条件是真的呢!建立找到意味着找不到,对吗?因为found=false,单独查找意味着找不到,对吗?那么!找到意味着找不到,换句话说!找到意味着找到,意味着找到=真……对吗?这让我很困惑……你能给我解释一下吗?@user3390471我已经更新了我的答案来解决你评论中的问题。是的,谢谢你更新了你的答案来回答我。啊哈,这是一个非常令人困惑的条件作用,如果你不给我解释得这么好,我永远也弄不明白……还有一个问题,在if条件的末尾,if(found)
,即found=true或false
,以及条件为什么和如何工作???请给我解释一下……我已经在啃这段代码三天了,连sl都不会