什么是'或者#39;声明在Java中的这种情况意味着什么?

时间:2017-05-11 23:04:04

标签: java

我从来没有见过这个,如果在satatement之外,那么'或者'声明在这做?

if (i >= arr[j-1])
    D[i][j] = D[i][j] || D[i-arr[j-1]][j-1];

谢谢。

5 个答案:

答案 0 :(得分:1)

假设Dboolean矩阵,||只是你在别处使用的常规布尔运算。也就是说,如果任何操作数为true,将导致true;否则false

让你前进的简单例子:

boolean foo = false;
boolean bar = true;
boolean a = foo || bar; // true!

答案 1 :(得分:1)

有助于记住||是一个运算符,就像+-*/一样。所有这些都取两个值,并给出另一个值作为结果。算术运算符都采用两种数字类型并返回一个数字。另一方面,||需要两个boolean值并返回boolean值。例如

boolean a = b || c

如果ab都为假,则c为false。否则,a为真。

答案 2 :(得分:0)

它充当了产生布尔(truefalse)输出的逻辑运算。假设D[i][j]数组的条目都是布尔值,则此操作采用布尔值D[i][j]和布尔值D[i-arr[j-1]][j-1],对它们执行逻辑OR(即返回{ {1}}如果他们同时falsefalse,则将结果存储在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]);