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