比較演算子|Javaから楽しく学ぶ!ゲームプログラミング専門学校

Javaから楽しく学ぶ!ゲームプログラミング専門学校

ゲームプログラミングとはその名のとおりゲームのプログラムを作ることを指します。『Javaから楽しく学ぶ!ゲームプログラミング専門学校』ではゲームプログラミングについて、実際にゲームプログラムをJAVAプログラミング言語を使用し、作成していきながら詳しく解説していきます。

比較演算子

比較演算子には下表のような種類があります。
演算子意味記入例
<右オペランドより小さいx < y;
>右オペランドより大きいx > y;
<=右オペランド以上x <= y;
>=右オペランド以下x >= y;
==等しいx == y;
!=異なるx != y;

オペランド:演算の対象となる値や変数のこと。
「x < y」という式では、xを左オペランド、yを右オペランドと表す。

※上記表は演算の対象となる変数がプリミティブ型であった場合の意味になります。
→ プリミティブ型についてはJavaデータ型

演算対象がオブジェクトであった場合は意味が違ってきます。
とりあえずまずは下記のサンプルを入力し、作成したプログラムを動かしてみましょう。
class EnSample01{
public static void main(String[] args) {
int x = 3;
int y = 3;
String strA = "テスト";
String strB = "テスト";
strA += "123";
strB += "123";

System.out.println("x = " + x);
System.out.println("y = " + y);
if(x == y){
System.out.println("xとyの数値は一致します。");
}else{
System.out.println("xとyの数値は一致しません。");
}

System.out.println("strA = " + strA);
System.out.println("strB = " + strB);
if(strA == strB){
System.out.println("strAとstrBの文字列は一致します。");
}else{
System.out.println("strAとstrBの文字列は一致しません。");
}
}
}
上記の入力が終わったら、ファイルを保存します。
以下には、"C:Sample"フォルダの配下に、ファイル名を"EnSample01.java"として保存した場合の例を示します。

ファイルを作成したら、コンパイルを行います。
そのために、コマンドプロンプトを起動し、先ほど作成した"EnSample01.java"が保存されているフォルダにカレントフォルダを移してください。
cd C:Sample

次に、javacを実行し、コンパイルします。
javac EnSample01.java

コンパイルに成功したら、生成されたバイトコードをJava仮想マシンを介して実行します。
java EnSample01

実行結果
x = 3
y = 3
xとyの数値は一致します。
strA = テスト123
strB = テスト123
strAとstrBの文字列は一致しません。

ここで着目してほしいのが、数値は一致しているけど、文字列は一致していないと判断されている点です。

strA 、strBの型はともにString型であり、
このString型は文字列を扱うために用意されたオブジェクト(クラス)です。

String型として定義されたstrA、strBをオペランドとして==演算子を使った場合、正しい結果が得られません。
※上記サンプルではstrAとstrBに格納されている文字列が一致するかどうか調べることを意図としています。
この場合、Stringクラスが持つequals()メソッドを使用します。
if(strA.equals(strB) == true){
………
}
equals()メソッドは呼び出したオブジェクト(strA)と、引数で渡したオブジェクト(strB)の文字列が一致した場合、boolean型のtrueを返します。

何を言っているのかわからない場合は、ここではとりあえず、サンプルソースを改変するなどして、色々試してみてください。
トラックバック:0Edit
Copyright © Javaから楽しく学ぶ!ゲームプログラミング専門学校 All Rights Reserved.
当サイトのテキストや画像等すべての転載転用・商用販売を固く禁じます