※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

7. Kotlin 演算子(Operators)

2023年7月6日

概要

演算子 (Operators) は、オペランド(Operand, 例えば 値または変数) に対して演算を実行する特殊文字です。

Kotlin では 以下の演算子があります。

  • 算術演算子 (Arithmetic Operators)
  • 比較演算子 (Relational Operators)
  • 代入演算子 (Assignment Operators)
  • 単項演算子 (Unary Operators)
  • 論理演算子 (Logical Operators)
  • ビット演算子 (Bitwise Operations)

算術演算子

算術演算子は、数値型の値に対して算術演算を実行するために使用されます。

演算子名前概要
+加算2 つの値を加算します。val sum = 5 + 3 // sum は 8
減算2 つの値を減算します。val difference = 10- 4 // difference は 6
*乗算2 つの値を乗算します。val product = 6 * 7 // product は 42
/除算2 つの値を除算します。val quotient = 15 / 3 // quotient は 5
%剰余除算の余りを返します。val remainder = 10 % 3 // remainder は 1

比較演算子

比較演算子は、2 つの値を比較し、ブール値(true または false)を返します。

演算子名前概要
==等しい2 つの値が等しいかどうかを比較します。val isEqual = 5 == 5 // isEqual は true
!=等しくない2 つの値が等しくないかどうかを比較します。val isNotEqual = 5 != 3 // isNotEqual は true
<より小さい左側の値が右側の値より小さいかどうかを比較します。val isLess = 3 < 5 // isLess は true
>より大きい左側の値が右側の値より大きいかどうかを比較します。val isGreater = 7 > 4 // isGreater は true
<=以下左側の値が右側の値以下かどうかを比較します。val isLessOrEqual = 5 <= 5 // isLessOrEqual は true
>=以上左側の値が右側の値以上かどうかを比較します。val isGreaterOrEqual = 8 >= 6 // isGreaterOrEqual は true

代入演算子

代入演算子は、変数に値を代入するために使用されます。

演算子名前概要
=代入右側の値を左側の変数に代入します。var x = 5 // x に 5 を代入
+=加算代入左側の変数の値に右側の値を加算し、結果を左側の変数に代入します。x += 3 // x は 8 になる
-=減算代入左側の変数の値から右側の値を減算し、結果を左側の変数に代入します。x -= 2 // x は 6 になる
*=乗算代入左側の変数の値に右側の値を乗算し、結果を左側の変数に代入します。x *= 4 // x は 24 になる
/=除算代入左側の変数の値を右側の値で除算し、結果を左側の変数に代入します。x /= 3 // x は 8 になる
%=剰余代入左側の変数の値を右側の値で除算した余りを左側の変数に代入します。x %= 5 // x は 3 になる

単項演算子

単項演算子は、1 つのオペランドに対して操作を実行します。

演算子名前概要
+単項プラス値の符号を変更しません。val positive = +5 // positive は 5
単項マイナス値の符号を反転します。val negative = -5 // negative は -5
++インクリメント値を 1 増やします。var x = 5; x++ // x は 6 になる
デクリメント値を 1 減らします。var y = 5; y– // y は 4 になる
!否定ブール値を反転します。val isFalse = !true // isFalse は false

論理演算子

論理演算子は、ブール式の値に基づいて操作を実行します。

演算子名前概要
&&論理積 (AND)両方のオペランドが true の場合にのみ true を返します。val result = true && false // result は false
||論理和 (OR)いずれかのオペランドが true の場合に true を返します。val result = true || false // result は true
!論理否定 (NOT)オペランドの真偽値を反転させます。val result = !true // result は false

ビット演算子

ビット演算子は、整数のビット単位の操作を実行します。

演算子名前概要
andビット積 (AND)各ビット位置で、両方のオペランドのビットが 1 の場合に 1 を返します。val result = 5 and 3 // result は 1
orビット和 (OR)各ビット位置で、いずれかのオペランドのビットが 1 の場合に 1 を返します。val result = 5 or 3 // result は 7
xorビット排他的論理和 (XOR)各ビット位置で、一方のオペランドのビットだけが 1 の場合に 1 を返します。val result = 5 xor 3 // result は 6
invビット反転 (NOT)各ビットを反転します。val result = inv(5) // result は -6
shl左シフトビットを左にシフトします。val result = 5 shl 2 // result は 20
shr右シフトビットを右にシフトします。val result = 5 shr 1 // result は 2
ushr符号なし右シフトビットを右にシフトし、符号ビットを 0 で埋めます。val result = -5 ushr 1 // result は 2147483645