#このチュートリアルの動作環境: Windows7 システム、Java8 バージョン、DELL G3 コンピューター。 Java では、&& と & はどちらも「and」、つまり and を表す論理演算子です。両側の式が true で、演算結果全体が true の場合、それらはすべて true となり、それ以外の場合は false になります。続いて記事では両者の違いについて詳しく紹介していきます。Java における & と && の違い: 1. && 演算子が動作するとき、最初の式の値が false の場合、2 番目の式は計算されませんが、& 演算子を使用すると、両方の式が計算されます。最初の式の値が true であるかどうかに関係なく実行されます。 2. & 演算子はビット演算子として使用できますが、&& 演算子は使用できません。
& と &&
& の違い と && は両方とも論理演算子ですが、&& は短絡演算子とも呼ばれます。最初の式の値が false の場合、2 番目の式は評価されないため、 と & は、最初の式が true であるかどうかに関係なく、両方の式を実行します。また、& はビット単位の演算子としても使用でき、& の両側の式がブール型でない場合、& はビット単位の演算を表します。 #&& 操作int i = 0; if(i == 3 && ++i > 0 ) { } System.out.println("i = " + i);
i = 0
原因: 2 番目の式は実行されません
#& 操作
int i = 0; if(i == 3 & ++i > 0 ) { } System.out.println("i = " + i);の結果は次のとおりです:
i = 12 番目の式は
論理演算子は、さまざまな演算の関係式を接続して複雑な論理式を形成し、プログラム内の式が真であるかどうか、および決定の結果が真であるかどうかを判断します。または偽。
論理演算子はブール変数を操作し、表 1 に示すように、その結果もブールになります。表 1 論理演算子の使用法、意味、および例
意味 | 説明 | 例 | 結果 | ##&& | ||
---|---|---|---|---|---|---|
短絡と | ab がすべて true の場合、計算結果は true、それ以外の場合は false になります。 | 2>1&&3c1d995140a88a205d1def57fdc5f24b24 | false | ##! | !a | |
a が true の場合、値は false、a が false の場合、値は true | !(2>4) | true | | | a|b | ||
abがすべて偽の場合、計算結果は偽、それ以外の場合は真です | 1> ;2| 3>5 | false | & | a&b | ||
ab は次のとおりです。どちらも true、計算結果は true、それ以外の場合は false | 1<2&3<5 | true | || | 違い: a が true の場合、b は計算されません (b の値が何であっても結果は true であるため) |
!a | ##true | true | true | true |
---|---|---|---|---|
#false | true | false | true | |
true | false | false | true | |
##false | false | false | false | true |
逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。 下面是一些使用逻辑运算符的示例。 x>0 && x<=100 // 第一行语句 y%4==0 || y%3==0 // 第二行语句 !(x>y) // 第三行语句 其中,第一行语句用于判断 x 的值是否大于 0 且小于或等于 100,只有两个条件同时成立结果才为真(true)。第二行语句用于判断 y 的值是否能被 4 或者 3 整除,只要有一个条件成立,结果就为真(true)。第三行语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。 更多编程相关知识,请访问:编程教学!! |
以上がJavaの&と&&の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。