関係演算子「==」は何を比較するのですか?
次の文は、書籍「Java プログラミング思考」からの抜粋です:「関係演算子はブール結果を生成し、オペランドの値間の関係を計算します。」
この文は簡単そうに見えますが、注意深く理解する必要があります。簡単に言うと、==は値が等しいかどうかを比較するために使用されます。
いくつかの例を見てみましょう:
public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int n=3; int m=3; System.out.println(n==m); String str = new String("hello"); String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1==str2); str1 = str; str2 = str; System.out.println(str1==str2); } }
出力結果は次のとおりです:
true false true
n==m結果は次のとおりですtrue 、これは理解しやすいですが、変数 n と変数 m に格納される値は両方とも 3 であり、等しい必要があります。 str1 と str2 の 2 つの比較結果が異なるのはなぜですか?これを理解するには、基本データ型変数と非基本データ型変数の違いを理解するだけで済みます。
これら 8 つの基本データ型の変数は、変数に直接「値」が格納されているため、関係演算子 == で比較する場合は「値」そのものが比較されます。浮動小数点型と整数型はどちらも符号付き型ですが、char 型は符号なし型であることに注意してください (char 型の値の範囲は 0~2^16-1)。例:
int n=3; int m=3;
たとえば、次のコード行:
String str1;
new String("hello") を使用してオブジェクト (String クラスのインスタンスとも呼ばれる) を生成し、このオブジェクトを str1 にバインドします。
str1= new String("hello");
以上がJava で == は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。