このようなことはこれまで可能ですか?3つの整数値を比較する
if(a == b == c)
または
if((a== b) && (b == c))
が唯一の方法ですか?
またはそれを行うためのクールな方法は何ですか?
このようなことはこれまで可能ですか?3つの整数値を比較する
if(a == b == c)
または
if((a== b) && (b == c))
が唯一の方法ですか?
またはそれを行うためのクールな方法は何ですか?
は、いくつかの言語では、その速記を使用することができます。例えば、Python a == b == c
は、式a == b and b == c
にほぼ等しいですが、bは1回だけ評価されます。
ただし、JavaとJavascriptではにはを使用できません。第2の例のように書く必要があります。最初の例は、次のようにほぼ等しくなります。
boolean temp = (a == b);
if (temp == c) {
// ...
}
これはあなたの望むものではありません。 Javaのa == b == c
は、c
がブール値でない限りコンパイルされません。 JavaScriptで
、あなたの最も安全な賭けは、a === b && b === c
です。私はいつも==
を===
のために使用しないでください。 JavaでHere's a more detailed explanation.
- 私たちは==ショートカット演算子を持っていません。私たちは個々の平等を成し遂げることになります。
しかし、が多くの機能を必要とすると思われる場合は、個の引数を変更して、このような関数を実装することを検討します。以下は、例外条件を処理しないサンプルコードです。
public static boolean areTheyEqual(int... a) {
int VALUE = a[0];
for(int i: a) {
if(i!= VALUE)
return false;
}
return true;
}
3つの数字、1つのライン方式のうちの最大値を取得するには:
int型の最大値=(A> B & &> C)? a :((b> a & & b> c)?b:c);