演算子
演算子の種類
Javaで演算に用いる様々な記号のことを、演算子(えんざんし)と言います。ここでは、様々な演算子とその分類を紹介します。Java言語には、以下のような演算子が存在します。
演算の分類 | 演算子の種類 | 演算の概要 | |
---|---|---|---|
二項演算 | 算術演算 | + - * / % | 主に数値に対する計算をします。特に+演算子は特有の文字列の結合にも用いられます。演算の結果、答えの数値や文字列が得られます。 |
算術演算 | < > <= >= == != instanceof | 2つのデータを比較して、大きいか小さいか、等しいか等しくないかを、true(真)もしくは、false(偽)のbooleanの形で返します。 | |
論理演算 | & || && | ! | boolean同士の論理演算AND(&&,&),OR(||,|),NOT(!)を行います。結果もまたbooleanでtrue(真)・false(偽)を反対にします。 | |
ビット演算 | & | ^ ~ << >> >>> | 整数のデータに対してビット単位で処理を行います。 | |
代入演算 | = += -= *= /=%= &= |= ^= | 整数のデータに対してビット単位で処理を行います。 | |
単項演算 | ++ -- + - ! ~ キャスト演算子 | 1つの値に対して計算などを行います。 | |
三項演算 | ? : | 3つの値を基に計算します。 |
演算子の優先順位
各演算子には、優先順位があります。
順位 | 処理内容 | 演算子 | 内容 | 例 |
---|---|---|---|---|
1 | 後置型単項演算子 | () | 括弧 | println() |
[] | 配列要素 | a[3]=1; | ||
. | ドット演算子 | System.out.println | ||
++ -- | インクリメント・デクリメント(後置) | a++,a-- | ||
2 | 前置型単項演算子 | ++ -- | インクリメント・デクリメント(前置) | ++a,--a |
+ - | プラス符号、マイナス符号 (数値の正負を表す) | +a,-a | ||
~ | ビットの反転 | ~1 | ||
! | 論理否定 | !true | ||
3 | オブジェクト生成と キャスト演算子 | new | オブジェクト生成 | new String() |
(型) | キャスト | (int)num | ||
4 | 四則演算(乗算・除算・剰余) | * / % | 乗算、除算、剰余 | a * b,a / b,a % b |
5 | 四則演算(加算・減算) | + - | 加算、減算 | a+b,a-b |
6 | シフト演算子 | << >> >>> | 左シフト、右シフト | a<<1,a>>1,a>>>1 |
7 | 関係演算子 | < <= > >= instanceof | より小、以下 より大、以上 インスタンスかどうか確認 | a<2,a<=2 a>2,a>=2 o instanceof A |
8 | 等値演算子 | == != | 等しい、等しくない | a == 0,a != b |
9 | ビット論理積 | & | AND演算 | a&b |
10 | ビット排他的論理和 | ^ | XOR演算 | a^b |
11 | ビット論理和 | | | OR演算 | a|b |
12 | 論理積 | && | AND演算(ショートカット) | a==1 && b==1 |
13 | 論理和 | || | OR演算(ショートカット) | a==1 || b==1 |
14 | 条件演算子 | ?: | 三項演算 | a ? x : y |
15 | 代入演算子 | = += -= *= /= %= &= ^= |= <<= >>= | 代入 | a=3; b+=5; c%=3; |