ブールタイプの場合boolean
、常にのみtrue
とfalse
二つの値。
ブール演算は、次のカテゴリを含め、関係演算子、次のとおりです。
- 比較
>
演算子:>=
、<
、<=
、==
、、!=
- AND演算
&&
- OR
||
- 非動作
!
ブール isGreater = 5> 3。// 真の int型の年齢= 12 ; ブール isZero =年齢== 0; // falseの ブール isNonZero = isZero!; // 真の ブール isAdult =年齢> = 18; // falseの ブール isTeenager =年齢> 6 &&年齢<18; // 真
業務の優先順位:
短絡計算
ブール演算の重要な特徴は、短絡回路動作です。式はブール演算結果が事前に決定することが可能である場合は、後続の計算は、もはや実行されない、直接的な結果が返されます。
ので、false && x
結果は常にfalse
、それがいるかどうかx
でありtrue
、またはfalse
、従って、最初の決意値の動作はfalse
、計算は継続しないが、直接返さfalse
。
パブリック クラスメイン{ 公共 静的 ボイドメイン(文字列[]引数){ ブール B = 5 <3 。 ブール結果= B &&(5/0> 0 )。 System.out.println(結果)。 } }
いかなる短絡動作がない場合&&
、発現除数による後者の0
エラーが、しかし操作は事前に結果を計算短絡オペレータであるため実際にはステートメントは、エラーはなかったですfalse
。
変数の場合b
の値であるtrue
、式は行きますtrue && (5 / 0 > 0)
。式は除数によるものでなければならないあなたは短絡操作することはできません、そのため0
、エラー、あなたが自己テストすることができます。
同様に、ために||
操作限り、最初の値が決定されるとtrue
、後続の計算はもはや行われないが、直接返さtrue。
三項演算子
三項演算子b ? x : y
ブール式の結果によれば、2つの式の次の1の演算結果を返します。例:
パブリック クラスメイン{ 公共 静的 ボイドメイン(文字列[]引数){ int型のn = -100 。 int型のx = N> = 0?N: - nは、 System.out.println(X) } }
上記の文では、裁判官がいることを意味しn >= 0
、それがある場合には、確立されtrue
、その後、返しn
そう-n
。これは実際に式の絶対値です。
私たちは、三項演算子があることに注意してくださいb ? x : y
最初に計算されますb
場合は、b
あるtrue
、唯一の計算をx
、そうでない場合は、唯一の計算をy
。加えて、x
とy
タイプが同じでなければなりません、戻り値ではないので、boolean
しかし、x
およびy
1。