Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是&&;你的意思是什么时候分配?JAVA_Java_Arrays_Boolean_Operators - Fatal编程技术网

什么是&&;你的意思是什么时候分配?JAVA

什么是&&;你的意思是什么时候分配?JAVA,java,arrays,boolean,operators,Java,Arrays,Boolean,Operators,我知道&&可以用于检查在条件语句中使用时是否满足这两个条件,但您如何解释full[I][j]=open[I][j]&&full[I-1][j]如果我们正在阅读这段代码,我们如何解释请注意,full和open是两个二维布尔数组 //i=列j=行 对于(int i=1;i

我知道&&可以用于检查在条件语句中使用时是否满足这两个条件,但您如何解释
full[I][j]=open[I][j]&&full[I-1][j]
如果我们正在阅读这段代码,我们如何解释

请注意,full和open是两个二维布尔数组

//i=列j=行
对于(int i=1;i
这意味着
[i][j]&&full[i-1][j]
将解析为一个布尔值,并将其作为另一个数组中的布尔元素赋值。

我认为(不是100%确定)它正在赋值, 当我们使用基本数据类型时,我们可以使用一个&来进行逐位anding, 当我们对布尔值执行相同操作时

full[i][j] = open[i][j] && full[i - 1][j]; 

这意味着我们正在将
打开[i][j]
完整[i-1][j]
和d布尔值分配给
完整[i][j]

默认情况下,完整数组的所有值均为false

初始值为i=1和j=0。 完整[0][0]的值将为false。因此,无论打开的[][]值是什么,完整[1][0]的值都将为false


如果我理解你的问题,请纠正我。

事实上full是一个已经处理过的数组,有些索引是真的,有些是假的,它实际上做的是检查矩阵的任何垂直线是否包含所有真值。你是否运行此代码来查看实际情况?我认为它可以帮助提高对该表达式的理解是的,我一步一步地理解了,我知道它在做什么,它的用途是什么,我不熟悉和使用=(赋值)运算符。所以我想知道实际发生了什么。这意味着当我们在处理布尔值时,赋值(=)实际上也是一个条件运算符,对吗?它将被赋值到完整的[i][j]如果open[i][j]和full[i-1][j]这两个值都为真(?)。我知道它在做什么,但你能解释一下这里发生了什么吗?is=也充当一个条件运算符吗?不,full[i][j]只是设置为表达式
open[i][j]和&full[i-1][j]的结果值,这是一个布尔值。=只设置full[i][j]等于此值,因此只是赋值运算符。
 full[i][j] = open[i][j] && full[i - 1][j];
full[i][j] = open[i][j] && full[i - 1][j];