【Java初心者向け】演算子について

プログラミング

Javaプログラミングでの演算子について、初心者向けに記述していきたいと思います。

演算子 とは

オペランドを使用して何らかの演算を行い、その結果を返す処理を行うための記号のことです。

数値演算子・代入演算子

値 + 値 両方のオペランドが数値の場合、加算した値を返す
※どちらかのオペランドが文字列である場合、文字列連結した値を返す
値 – 値 両方のオペランドが数値の場合、減算した値を返す
値 * 値 両方のオペランドが数値の場合、乗算した値を返す
値 / 値 両方のオペランドが数値の場合、除算した値を返す
a % b 両方のオペランドが数値の場合、aをbで割って余った値を返す
変数 = 値 右辺の値を左辺の変数に代入し、その代入した値を返す

演算子の優先順位と結合規則

結合規則 優先順位 演算子
1 [] , . , () , ++(後置), –(後置)
2++(前置) , –(前置)
3new , キャスト演算子
4 * , / , %
5 + ,
6 , ,
7> , < , >= , <= , instanceof
8== , !=
9&
10^
11 |
12 &&
13 ||
14 ?:
15= , += , -+ , *= , /= , %= , ≪= , ⋙= , &= , |= , ->

例をあげますと

上記の図では、数字の順に演算されていきます。

1行に複数の演算記号がある場合
演算子の優先順位ごとに演算するします。
また同一の優先順位の場合、結合規則の順に演算されます。

複合代入演算子

数値演算と代入演算を一つの記号で表す演算記号のことを言います。

例)
val = val – 8;
val -= 8;

上記は同じ意味となります。

インクリメント・デクリメント演算子

インクリメント演算子

カウントアップと言い、変数の値に1を加算し、その結果を変数に代入します。

例)
val = val + 1;
val += 1;
val++;
++val;

上記は同じ意味になります。

デクリメント演算子

カウントダウンと言い、変数の値から1を減算し、その結果を変数に代入します。

例)
val = val – 1;
val -= 1;
val–;
–val;

上記は同じ意味になります。

インクリメント・デクリメントの前置・後置

まず、前置とは、1行中に含まれるすべての処理の前にインクリメント/デクリメントを実行します。

例) 
int a = 2;
int b = ++a;
System.out.println(a);
System.out.println(b);

↓ コンパイラが解釈したコード

int a = 2;
a = a + 1;
int b = a;
System.out.println(a);
System.out.println(b);

つづいて、後置とは、1行中に含まれるすべての処理の後にインクリメント/デクリメントを実行します。

例) 
int a = 2;
int b = a++;
System.out.println(a);
System.out.println(b);

↓ コンパイラが解釈したコード

int a = 2;
int b = a;
a = a + 1;
System.out.println(a);
System.out.println(b);

論理演算子

計算結果が「論理値」となる演算子のことです。

値 == 値 左右の値が等しい場合true、そうでない場合falseを返す
値 != 値 左右の値が等しくない場合true、そうでない場合falseを返す
値 > 値 左の値が右の値より大きい場合true、そうでない場合falseを返す
値 < 値 左の値が右の値より小さい場合true、そうでない場合falseを返す
値 >= 値 左の値が右の値以上の場合true、そうでない場合falseを返す
値 <= 値 左の値が右の値以下の場合true、そうでない場合falseを返す
タイトルとURLをコピーしました