2-2.Dartの演算子と式

1. 演算子とは

演算子は、変数や値に対して操作を行うためのシンボルです。Dartにはさまざまな種類の演算子があります。ここでは、基本的な演算子について学びます。

2. 算術演算子

算術演算子は、数値の計算に使用されます。

  • 加算 (+): 二つの数値を足します。
  • 減算 (-): 二つの数値を引きます。
  • 乗算 (*): 二つの数値を掛けます。
  • 除算 (/): 二つの数値を割ります。結果は浮動小数点数になります。
  • 整数除算 (~/): 二つの数値を割り、整数部分を返します。
  • 剰余 (%): 二つの数値を割り、余りを返します。

Dart
void main() {
  int a = 10;
  int b = 3;

  print('a + b = ${a + b}'); // 13
  print('a - b = ${a - b}'); // 7
  print('a * b = ${a * b}'); // 30
  print('a / b = ${a / b}'); // 3.3333333333333335
  print('a ~/ b = ${a ~/ b}'); // 3
  print('a % b = ${a % b}'); // 1
}

3. 代入演算子

代入演算子は、変数に値を代入するために使用されます。基本的な代入演算子は=です。他にも複合代入演算子があります。

  • =: 代入
  • +=: 加算代入
  • -=: 減算代入
  • *=: 乗算代入
  • /=: 除算代入
  • ~/=: 整数除算代入
  • %=: 剰余代入

Dart
void main() {
  int a = 10;
  int b = 3;

  a += b; // a = a + b
  print('a += b: $a'); // 13

  a -= b; // a = a - b
  print('a -= b: $a'); // 10

  a *= b; // a = a * b
  print('a *= b: $a'); // 30

  a ~/= b; // a = a ~/ b
  print('a ~/= b: $a'); // 10

  a %= b; // a = a % b
  print('a %= b: $a'); // 1
}

4. 関係演算子

関係演算子は、二つの値を比較し、結果をブール値として返します。

  • ==: 等しい
  • !=: 等しくない
  • >: より大きい
  • <: より小さい
  • >=: 以上
  • <=: 以下

Dart
void main() {
  int a = 10;
  int b = 3;

  print('a == b: ${a == b}'); // false
  print('a != b: ${a != b}'); // true
  print('a > b: ${a > b}'); // true
  print('a < b: ${a < b}'); // false
  print('a >= b: ${a >= b}'); // true
  print('a <= b: ${a <= b}'); // false
}

5. 論理演算子

論理演算子は、ブール値の演算に使用されます。

  • &&: 論理積 (AND)
  • ||: 論理和 (OR)
  • !: 否定 (NOT)

Dart
void main() {
  bool x = true;
  bool y = false;

  print('x && y: ${x && y}'); // false
  print('x || y: ${x || y}'); // true
  print('!x: ${!x}'); // false
}

6. 条件演算子 (三項演算子)

条件演算子は、条件に基づいて値を返すために使用されます。

  • condition ? expr1 : expr2: 条件が真ならexpr1を返し、偽ならexpr2を返します。

Dart
void main() {
  int a = 10;
  int b = 3;

  String result = a > b ? 'a is greater than b' : 'a is not greater than b';
  print(result); // a is greater than b
}

7. 例題

例題1: 算術演算子の使用

Dart
void main() {
  int x = 15;
  int y = 4;

  int sum = x + y;
  int diff = x - y;
  int product = x * y;
  double quotient = x / y;
  int intQuotient = x ~/ y;
  int remainder = x % y;

  print('Sum: $sum'); // 19
  print('Difference: $diff'); // 11
  print('Product: $product'); // 60
  print('Quotient: $quotient'); // 3.75
  print('Integer Quotient: $intQuotient'); // 3
  print('Remainder: $remainder'); // 3
}

例題2: 代入演算子の使用

Dart
void main() {
  int num = 5;

  num += 10;
  print('After += : $num'); // 15

  num -= 3;
  print('After -= : $num'); // 12

  num *= 2;
  print('After *= : $num'); // 24

  num ~/= 4;
  print('After ~/= : $num'); // 6

  num %= 5;
  print('After %= : $num'); // 1
}

例題3: 関係演算子と論理演算子の使用

Dart
void main() {
  int a = 10;
  int b = 20;

  bool isEqual = a == b;
  bool isNotEqual = a != b;
  bool isGreaterThan = a > b;
  bool isLessThan = a < b;

  print('a == b: $isEqual'); // false
  print('a != b: $isNotEqual'); // true
  print('a > b: $isGreaterThan'); // false
  print('a < b: $isLessThan'); // true

  bool andCondition = (a < b) && (b > 15);
  bool orCondition = (a > b) || (b > 15);

  print('andCondition: $andCondition'); // true
  print('orCondition: $orCondition'); // true
}

↓次回内容:

2-3.Dartの制御フロー

1. 制御フローとは
制御フローは、プログラムの実行順序を制御するための構造です。Dartには、条件分岐やループを用いて制御フローを実現するための構文があります。
2. 条件分岐(if文)
条件分岐は、特定の条件に基づいて異なるコードブロックを実行するために使用されます。https://flutter.saloon.jp/dart-04/

コメントを残す