重複の可能性:
Java ?: 演算子は何と呼ばれ、何をしますか?
一部のコードで?
は、数式を実行するために a が使用されます。
それは何で、どのように使用しますか? 方程式の最終的な答えの例と理由を示すことは可能ですか?
int count = getChildCount();
int top = count > 0 ? getChildAt(0).getTop() : 0;
重複の可能性:
Java ?: 演算子は何と呼ばれ、何をしますか?
一部のコードで?
は、数式を実行するために a が使用されます。
それは何で、どのように使用しますか? 方程式の最終的な答えの例と理由を示すことは可能ですか?
int count = getChildCount();
int top = count > 0 ? getChildAt(0).getTop() : 0;
基本的には三項演算子です:
String mood = (isHappy == true)?"I'm Happy!":"I'm Sad!";
isHappy の場合、"I'm Happy!" です。"私は悲しいです!" それ以外は。
x = () ? y : z;
表記のようなものを意味していると思いますか?その場合、括弧内の式はブール値として評価されtrue
x = y
ます。x = z
int count = getChildCount();
int top = count > 0 ? getChildAt(0).getTop() : 0;
変数が 0 より大きいgetChildAt(0).getTop()
場合、最上位の変数には の値が含まれることを意味し、それ以外の場合は次のようになります。count
0
私の推測では、次のように使用される三項演算子を参照していると思います。
<some condition> ? <some value> : <some other value>;
例えば:
int max = a > b ? a : b;
これは an の短縮形でありif
、次と同等です。
int max;
if (a > b) {
max = a;
} else {
max = b;
}
ただし、コードで 1 行の結果を許可します。
うまく使えば、その簡潔さによってコードをより明確にすることができます。ただし、行が長くなりすぎたり、複雑になったりする場合は注意が必要です。用語が短い場合にのみ、コードが読みやすくなります。
?
評価式の は、 三項演算子 と呼ばれます。これは基本的にif() ... else
ブロックの省略形です。
三項演算子について言及していると思います。これは、特定の種類の if ステートメントの省略形です。次のように、割り当てを行っている場所:
int dozen = (bakersDozen) ? 13 : 12;
bakersDozen
が真であると仮定すると、 dozen
13 になります。偽である場合、12 になります。
int result = (a > b) ? 1 : 0;
と同じです
int result;
if (a > b)
result = 1;
else
result = 0;
? 通常は 3 項 (または 3 項) 演算子です。それでは、それが何をしているのかを説明しましょう。
myValue = (a = b) ? 1 : 0;
最初の部分はあなたの状態です。「a は b に等しいか?」
2 番目の部分は、真の応答です。
3 番目の部分は、誤った応答です。
したがって、a が b と等しい場合、myValue は 1 になります。a が b と等しくない場合、myValue は 0 になります。