Scalaの「演算子」は、他の多くのプログラミング言語と同様に、数値や変数に対する操作を行うために使用されます。ただし、Scalaでは演算子は**すべてメソッド呼び出しの糖衣構文(シンタックスシュガー)**として定義されている点が大きな特徴です。つまり、演算子も実際にはメソッドです。
1. 算術演算子(Arithmetic Operators)
基本的な数値計算に使用されます。
| 演算子 | 説明 | 使用例 |
|---|---|---|
+ |
加算 | 1 + 2 → 3 |
- |
減算 | 5 - 3 → 2 |
* |
乗算 | 4 * 2 → 8 |
/ |
除算 | 10 / 2 → 5 |
% |
剰余(余り) | 7 % 3 → 1 |
例:
2. 比較演算子(Relational / Comparison Operators)
値を比較して、真理値(Boolean)を返します。
| 演算子 | 説明 | 使用例 |
|---|---|---|
== |
等しい | a == b |
!= |
等しくない | a != b |
> |
より大きい | a > b |
< |
より小さい | a < b |
>= |
以上 | a >= b |
<= |
以下 | a <= b |
ScalaではJavaと違い、==は値の比較(equals)を意味します。eqとneは参照の比較です。
3. 論理演算子(Logical Operators)
論理値(Boolean)の操作に使われます。
| 演算子 | 説明 | 使用例 |
|---|---|---|
&& |
AND | true && false |
| ` | ` | |
! |
NOT | !true → false |
4. 代入演算子(Assignment Operators)
変数に値を代入する、または変更するために使用されます。
| 演算子 | 説明 | 使用例 |
|---|---|---|
= |
代入 | val x = 10 |
+= |
加算して代入 | x += 1 |
-= |
減算して代入 | x -= 2 |
*= |
乗算して代入 | x *= 3 |
/= |
除算して代入 | x /= 2 |
5. ビット演算子(Bitwise Operators)
整数型に対してビットレベルで操作を行います。
| 演算子 | 説明 | 使用例 |
|---|---|---|
& |
論理積(AND) | 5 & 3 → 1 |
| ` | ` | 論理和(OR) |
^ |
排他的論理和(XOR) | 5 ^ 3 → 6 |
~ |
ビット反転 | ~5 → -6 |
<< |
左シフト | 1 << 2 → 4 |
>> |
右シフト | 4 >> 1 → 2 |
6. 演算子の特別な性質(すべてはメソッド)
Scalaでは演算子はメソッドの一種として扱われるため、以下のような記述も可能です:
自作クラスに対しても、演算子としてメソッドを定義することで、演算子のオーバーロードが可能です。
まとめ
-
Scalaでは演算子もメソッドとして定義されている。
-
Javaに似た構文を持ちながら、より柔軟に演算子の挙動を定義できる。
-
演算子のオーバーロードや連鎖記述が可能。
生成日:2025/05/04