Javaの演算子は大きく分けて4種類
単純な+,*の算術演算子、文字列を連結する文字列連結演算子、
=で右から左に代入する代入演算子、++のインクリメント・デクリメント演算子があります。
それぞれ使い方や機能の違い、優先順位が異なります。
その違いを全て網羅し、解説します。
その前にこちらを読むとわかりやすいかもしれません。
算術、文字列結合、代入、インクリメント・デクリメント演算子
それぞれ表にまとめて解説します。
算術演算子 左から右に評価される
算術演算子は基本的な四則演算です。
左から右へと評価されます。
演算子 | 意味 | 優先順位 | 評価例 |
+ | 足し算 | 中 (5) | 1 + 1 → 2 |
– | 引き算 | 中 (5) | 2 – 1 → 1 |
* | 掛け算 | 中 (4) | 2 * 2 → 4 |
/ | 割り算 | 高 (4) | 10 / 2 → 5 |
% | 割り算のあまり | 高 (4) | 9 % 2 → 1 |
左から右へと評価されます。
特殊なのが「%」を使った割り算のあまりだけを出す算術です。
文字列結合演算子 左から右へ評価
文字列を結合して1つの文字列にします。
演算子 | 意味 | 優先順位 | 評価例 |
+ | 文字列連結 | 中 (5) | System.out.print(
“Useful” + “Lab” + “みてね” ) →UsefulLabみてね |
文字列が連結されます。
「” ”」と空白を入れることで連結した文字列に空白を挿入できます。
ウイルス対策できる除菌水
除菌グッズすら店頭では手に入らなくなってきている。
お店に行くこともリスクのひとつ。
だったら宅配でなおかつ安全性が保証されている
次亜塩素酸の除菌水使ってみませんか?
今なら加湿器プレゼント!空間除菌なら除菌水ジーア代入演算子 右から左へ評価
代入演算子のみ右から左へ評価されます。
優先順位はどれも最低の15段階目です。一番最後に行われるということですね。
演算子 | 意味 | 評価例 |
= | 右を左に代入 | x = 5 → x (5をxに代入) |
+= | 左と右を足し算して左に代入 | x += 5 → x (x+5をxに代入) |
-= | 左と右を引き算して左に代入 | x -= 5 → x (x-5をxに代入) |
*= | 左と右を掛け算して左に代入 | x *= 5 → x (x*5をxに代入) |
/= | 左と右を割り算して左に代入 | x /= 5 → x (x/5をxに代入) |
%= | 左と右を割り算して、その余りを左に代入 | x %= 5 → x (x%5をxに代入) |
+= | 左の後ろに右の文字列を結合して代入 | x += “たんさん” → x (x+”たんさん”をxに代入) |
代入演算子は複雑です。使い慣れましょう。
インクリメント・デクリメント演算子 左から右へ評価
インクリメント・デクリメントは1だけ増やしたい1だけ減らしたいときに使えます。
この演算子は優先順位が15段階のうちの1番、最上位です。
演算子 | 意味 | 評価例 |
++ | 値を1増やす | x++ →x
{a = a + 1 a+ = 1と同じ) |
— | 値を1減らす | x– →x
{a = a – 1 a- = 1と同じ) |
インクリメント・デクリメント演算子はオペランドを1つしか持たない
別名単項演算子とも呼ばれます。
++,–はオペランドの前に付けることもできる
先ほどは「x++」「x–」とオペランドにくっつけましたが、
「++x」「–x」ともできます。
どちらも1増やす、減らすで意味は変わりません。
他の演算子と一緒に使うときにオペランドの前に付けます。
しかしエラーの原因(増減するタイミングが違う)にもなりかねないので
極力インクリメント・デクリメント演算子は
他の演算子と一緒に使わないようにしましょう。
まとめ
代入演算子や「%」、インクリメント・デクリメントの動き方は
日常的にはみない動きです。
慣れないとエラーを起こす原因にもなりかねないので
使い慣れましょう。
この記事がいいなと思ったらツイッターのフォローと当サイトのお気に入りをお願いします!