我从来没有见过这个,如果在satatement之外,那么'或者'声明在这做?
if (i >= arr[j-1])
D[i][j] = D[i][j] || D[i-arr[j-1]][j-1];
谢谢。
答案 0 :(得分:1)
假设D
是boolean
矩阵,||
只是你在别处使用的常规布尔运算。也就是说,如果任何操作数为true
,将导致true
;否则false
。
让你前进的简单例子:
boolean foo = false;
boolean bar = true;
boolean a = foo || bar; // true!
答案 1 :(得分:1)
有助于记住||
是一个运算符,就像+
,-
,*
和/
一样。所有这些都取两个值,并给出另一个值作为结果。算术运算符都采用两种数字类型并返回一个数字。另一方面,||
需要两个boolean
值并返回boolean
值。例如
boolean a = b || c
如果a
和b
都为假,则c
为false。否则,a
为真。
答案 2 :(得分:0)
它充当了产生布尔(true
或false
)输出的逻辑运算。假设D[i][j]
数组的条目都是布尔值,则此操作采用布尔值D[i][j]
和布尔值D[i-arr[j-1]][j-1]
,对它们执行逻辑OR(即返回{ {1}}如果他们同时false
和false
,则将结果存储在true
答案 3 :(得分:0)
||是java中的运算符。它将返回true或false值。
在您的情况下,JVM将评估D [i] [j] || d [I-ARR [J-1]] [j-1]
这将返回一个布尔值(true / false值),然后将其存储在D [i] [j]中。
答案 4 :(得分:-1)
你有没有输入过:
System.out.println(1==1);
如果你还没去尝试:D 它打印出一个布尔值(在这种情况下为True) " OR"运算符可以以相同的方式使用
尝试在您的示例周围添加一个print语句,然后查看它的打印内容:
System.out.println(D[i][j] == D[i][j] || D[i-arr[j-1]][j-1]);