📝

【Flutter】入門!Dart基本「If、For」

2023/08/26に公開

If

Dartにおける条件文(if文)は、特定の条件が満たされた場合にコードブロックを実行するための制御構造です。Dartのif文は、単一の条件だけでなく、条件が複数ある場合や条件が満たされなかった場合の処理もサポートしています。

基本的なif文

dart
if (condition) {
  // 条件が真の場合に実行されるコード
} else {
  // 条件が偽の場合に実行されるコード
}

条件が真の場合、最初のブロックが実行されます。条件が偽の場合、代わりにelseブロックが実行されます。

複数の条件を評価する

dart
if (condition1) {
  // 条件1が真の場合に実行されるコード
} else if (condition2) {
  // 条件1が偽で条件2が真の場合に実行されるコード
} else {
  // すべての条件が偽の場合に実行されるコード
}

複数の条件を評価する場合、最初に条件1が評価されます。条件1が真の場合、そのブロックが実行され、他の条件は評価されません。条件1が偽で条件2が真の場合、条件2のブロックが実行されます。どの条件も満たされない場合、elseブロックが実行されます。

簡潔な条件演算子

Dartは、条件が簡単な場合に三項演算子を使用することができます。
condition ? trueExpression : falseExpression
例えば:

dart
int age = 18;
String message = (age >= 18) ? "成人" : "未成年";

ネストしたif文

if文はネストすることもできます。つまり、if文の中に別のif文を記述することができます。

dart
if (condition1) {
  if (condition2) {
    // 条件1と条件2が両方真の場合に実行されるコード
  }
}

if文をネストする場合、適切なインデントを使用してコードを整理することが重要です。

条件の組み合わせ

複数の条件を組み合わせる場合、論理演算子(&&や||)を使用して条件を結合できます。

dart
if (condition1 && condition2) {
  // 条件1と条件2が両方真の場合に実行されるコード
}

if (condition1 || condition2) {
  // 条件1または条件2が真の場合に実行されるコード
}

Dartのif文は、プログラムのフローを制御するための基本的な構造です。条件に応じて特定のコードブロックを実行するための重要なツールです。

For

Dart言語におけるfor文は、繰り返し処理を行うための制御構造です。Dartでは複数の種類のforループが利用できます。

標準的なforループ

一般的なカウンターを使用して繰り返しを行うforループです。以下は基本的な構文です。
for (初期化; 条件式; 更新) {
// 繰り返しの本体
}
例:

dart
for (var i = 0; i < 5; i++) {
  print('Count: $i');
}

for-inループ

コレクション(リスト、セット、マップなど)の各要素に対して繰り返しを行うためのfor-inループです。
for (要素 in コレクション) {
// 繰り返しの本体
}
例:

dart
var numbers = [1, 2, 3, 4, 5];
for (var number in numbers) {
  print('Number: $number');
}

forEachメソッド

リストやセットなどのコレクションに対してforEachメソッドを使用して繰り返し処理を行うこともできます。
例:

dart
var fruits = ['Apple', 'Banana', 'Orange'];
fruits.forEach((fruit) {
  print('Fruit: $fruit');
});

whileループ

条件が満たされている間、繰り返し処理を行うwhileループです。
while (条件式) {
// 繰り返しの本体
}
例:

dart
var count = 0;
while (count < 3) {
  print('Count: $count');
  count++;
}

do-whileループ

条件を最初に評価せず、処理を実行してから条件を評価するdo-whileループです。
do {
// 繰り返しの本体
} while (条件式);
例:

dart
var value = 5;
do {
  print('Value: $value');
  value--;
} while (value > 0);

Dartのfor文はこれらのバリエーションを使用して、様々な繰り返し処理を実現するのに役立ちます。適切なforループを選択して、コードを効果的に構築してください。

continue、break

Dartのforループやif文内で使用されるcontinueとbreakは、制御フロー를 조작하는のに役立つ特別なキーワードです。

continueキーワードは、ループ内で現在のイテレーションをスキップして次のイテレーションに進むために使用されます。つまり、ループ内の特定の条件が満たされた場合にそのイテレーションをスキップし、次のイテレーションを開始します。
例えば、偶数の場合にのみ処理をスキップする場合を考えてみましょう

dart
for (var i = 1; i <= 5; i++) {
  if (i % 2 == 0) {
    continue; // 偶数の場合、このイテレーションをスキップ
  }
  print('Number: $i');
}

上記のコードでは、2, 4の場合にcontinueが実行されて該当するイテレーションがスキップされます。

breakキーワードは、ループや制御構造を中断し、その位置から直ちに外側のコードブロックに移動するために使用されます。これはループを強制的に終了する際などに使用されます。

例えば、特定の条件が満たされた場合にループ全体を終了する場合を考えてみましょう

dart
for (var i = 1; i <= 5; i++) {
  if (i == 3) {
    break; // iが3の場合、ループ全体を終了
  }
  print('Number: $i');
}

上記のコードでは、iが3の場合にbreakが実行され、その時点でループが終了します。

continueとbreakはコードの制御フローを制御するための強力なツールですが、過剰に使用するとコードが読みにくくなることがあります。適切なタイミングでこれらを使用して、コードをクリーンで理解しやすいものに保つことが大切です。

Discussion