簡體   English   中英

在布爾表達式中使用多個或運算符

[英]Use more than one or opreator in a boolean expression

例如,在代碼中,結果之一是 1 1 0 1。顯然(c==0)布爾值為真,這個循環不應該停止它的工作。 所以我只是想知道 java 語法是如何讀取這個布爾表達式的。

int a=0,b=0,c=0,e=0;
    do {
        a++;
        b+=(int)(Math.random()*2);
        c+=(int)(Math.random()*2);
        e+=(int)(Math.random()*2);
        System.out.println(a+" "+b+" "+c+" "+e);
    } while (a==0|b==0|b==0|e==0);
    System.out.println("final"+a+" "+b+" "+c+" "+e);

你的循環條件是a==0|b==0|b==0|e==0 因此,您永遠不會檢查c==0 將條件更改為a==0|b==0|c==0|e==0應該可以工作。

另外,我建議使用|| OR 運算符,它是布爾 OR,而不是按位 OR | .

因此,您的循環條件應該是a == 0 || b == 0 || c == 0 || e == 0 a == 0 || b == 0 || c == 0 || e == 0 a == 0 || b == 0 || c == 0 || e == 0

您從未在 while 循環中使用過 c==0。 因此,如果 a、b 和 e 中的任何一個變為零,則循環將中斷。

而java等語言將boolean讀作T和F組合。

  • TTTT =T
    -TTTF = T
    ——…………
    ——…………
  • FFFF = F

所以如果一切都是假的,那么它就會是真的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM