Erwin Bolwidtとphflackのすばらしい回答のおかげで、このコードをtrueに評価することが可能であることはすでに知っているので、提示されているような状態に対処するときは、高いレベルの注意を払う必要があることを示したいと思います。質問では、時々、あなたが見るものはあなたがそれがあなたが思っているものと正確には違うかもしれません。
これは、このコードSuccess!
がコンソールに出力されることを示すための私の試みです。私は少し不正をしたことは知っていますが、それでもここに表示するには良い場所だと思います。
このようなコードを記述する目的が何であれ、次の状況に対処する方法と、見た目が間違っていないとチェックする方法を理解することをお勧めします。
ラテン語の「a」とは異なる文字であるキリル文字「a」を使用しました。ifステートメントで使用されている文字をここで検査できます。
これは、変数の名前が異なるアルファベットから取得されるため機能します。それらは異なる識別子であり、それぞれ異なる値を持つ2つの異なる変数を作成します。
このコードを適切に機能させるには、文字エンコーディングを両方の文字をサポートするものに変更する必要があることに注意してください。たとえば、すべてのUnicodeエンコーディング(UTF-8、UTF-16(BEまたはLE))、UTF-32、さらにはUTF-7 )、またはWindows-1251、ISO 8859-5、KOI8-R(指摘してくれてありがとう-Thomas WellerとPaŭloEbermann-):
public class A {
public static void main(String[] args) {
int а = 0;
int a = 1;
if(а == 0 && a == 1) {
System.out.println("Success!");
}
}
}
(今後このような問題に対処する必要がなくなることを願っています。)
&&
は論理and
演算子です。つまり、a
値1、2、および3を同時に持つ必要がありますが、これは論理的に不可能です。答えはノー、不可能です。1、2、または3のいずれかの値がif
あるかどうかを確認するステートメントを記述しますかa
?