私はしばらくの間Javaを学んでいますが、それでも新しい構文のトリックなどを学んでいます。私はAndroidのソースコードでこれに出くわしました:
boolean retry = id == 1;
どういう意味ですか?
id == 1はブール式であり、id等しい場合はtrue 1、それ以外の場合はfalseです。
boolean retry = id == 1;、という名前のブール変数を宣言し、retryブール式の値をこの変数に割り当てid == 1ます。
したがって、ブール変数を宣言します。これは、の場合はtrue id == 1、それ以外の場合はfalseです。
少し明確にするために、次のように書くことができます。
boolean retry = (id == 1);
retryの値が1の場合、それ以外の場合trueはです。idretryfalse
と同じです
boolean retry;
if (id == 1)
retry = true;
else
retry = false;
===等式述語である、は、代入演算子である、よりも優先順位が高くなります。
したがって、id == 1が最初に評価され、次にその値(trueまたはfalse)がに割り当てられretryます。
ブール再試行は、の場合にtrueの値を取得しますid == 1。
それは次と同じです:
boolean retry;
if (id == 1) {
retry = true;
} else {
retry = false;
}
最初に、idは1で評価されるため、おそらくはidですinteger。
その後、値retryにこの評価が割り当てられるため、idが1に等しい場合はretryになりtrue、それ以外の場合はid retryになりfalseます。
私は、parensを使用するだけで、このような複雑なステートメントの背後にある混乱を解消するのに役立つことがわかりました。
boolean retry = (id == 1);私にははるかに理にかなっています。(id == 1)ここでは、が評価されている式であり、結果がに割り当てられていることは明らかです。boolean retry
この行はブール変数を作成し、1に等しいtrue場合とそうでない場合に設定します。idfalse
(x) ? true : falseこれは、C、C ++、C#などの三項演算のように機能します。
同様の構文:
boolean retry = (id == 1)? true: false;
または、別の方法で書くこともできます。
boolean retry;
if (id == 1) {
retry = true;
} else {
retry = false;
}
これはブール変数を定義する方法です。
の場合、の値はidになります。1retrytrue
次のように見ると、何が起こっているのかを確認しやすくなる可能性があります。
boolean retry = (id == 1);
したがって、基本的にはidが1に等しいかどうかをチェックし、その結果を変数retryに割り当てます。
retryのようにtrueまたはfalseのいずれかになる式を割り当てretryますboolean。さらに、==最初に解決され、次にに割り当てられretryます。
基本的にはと同じretry = (id == 1)です。ブール式を評価し、に割り当てretryます。
ブール変数retryは値を取得するか、式がまたはを返すかどう0かによって異なります。1id==1truefalse
の値idが1、の場合、はid==1に対応します。trueしたがって、retry=1。
また、の値idが0、の場合、id==1はに対応します。falseしたがって、retry=0。
==これは比較演算子であることに注意してください。
idがintであると仮定して応答を行います。したがって、1との比較は適切であり、コンパイルエラーは発生しません。 ==は、JLSのセクション15.21.1で説明されているJavaの等式演算子です。ブール演算子であるため、==はブール値を出力します。 =はJavaの代入演算子です。この特定のケースでは、次の構文を持つ複合代入演算子です。
ブールf=(op1 op op2)
変換中=は、演算の出力値を(op1 op op2)左側のオペランド(この場合はf )に割り当てます。
サンプルを振り返ると、id == 1(idの値が1の場合はtrue、それ以外の場合はfalse)の出力が再試行に割り当てられます。
平易な英語で結論を下すために、サンプルには次の意味があります。idの値が1である限り、再試行してください。
1.int id = 1;
boolean retry = id == 1;
つまりretry = true;。
2.int id = 2;
boolean retry = id == 1;
つまりretry = false;。
簡略化ID==1は次のように考えることができます
if ( id == 1 ){
}
コードはこのように書くことができます、そうすればそれは簡単に理解されるでしょう、あなたはそう思いますか?最後に、質問に答える機会を与えてくれてありがとう!
boolean retry = (id == 1);