Flutter入門開発6 Dartの条件分岐とループ処理

Flutter

はじめに

 Dartのプログラミングでは、条件に応じたフロー制御や、反復処理を効率的に行うために条件分岐とループは欠かせません。この記事では、Dartにおける条件分岐とループ処理の基本的な使い方から、さらに進んだテクニックまでを解説します。前回のFlutter入門開発はこちらです。

条件分岐

if-else

 最も基本的な条件分岐の方法がif-else文です。条件がtrueの場合に指定の処理を行い、falseの場合に別の処理を行います。

void main() {
  var isMember = true;

  if (isMember) {
    print('Welcome, member!');
  } else {
    print('Please sign up.');
  }
}

 この例では、isMembertrueの場合は「Welcome, member!」を出力し、falseの場合は「Please sign up.」を出力します。

else-if

 複数の条件を評価する必要がある場合、else-ifを使って複数の条件をチェーンすることができます。

void main() {
  var score = 85;

  if (score >= 90) {
    print('Grade: A');
  } else if (score >= 80) {
    print('Grade: B');
  } else if (score >= 70) {
    print('Grade: C');
  } else {
    print('Grade: F');
  }
}

 この例では、scoreの値に応じて異なる評価を出力する例となります。

switch-case

 switch-case文は、特定の値に基づいて処理を分岐させる場合に便利です。特に複数のケースがある場合、コードを簡潔に保つことができます。

void main() {
  var command = 'OPEN';

  switch (command) {
    case 'OPEN':
      print('Opening...');
      break;
    case 'CLOSE':
      print('Closing...');
      break;
    default:
      print('Unknown command');
  }
}

 この例では、commandの値に応じて異なるメッセージを出力します。

ループ

forループ

 forループは、指定された回数だけ繰り返し処理を行う際に使用されます。

void main() {
  for (var i = 0; i < 5; i++) {
    print('Iteration $i');
  }
}

 この例では、iが0から4までの5回、ループが実行されます。

for-inループ

 for-inループは、コレクション(リストやセットなど)の要素を順に処理するために使用されます。

void main() {
  var fruits = ['りんご', 'ばなな', 'オレンジ'];

  for (var fruit in fruits) {
    print(fruit);
  }
}

 この例では、リスト内の各フルーツを順に出力します。

whileループ

 whileループは、条件がtrueである限り、繰り返し処理を行います。

void main() {
  var i = 0;

  while (i < 5) {
    print('Iteration $i');
    i++;
  }
}

 この例では、iが5未満の間、ループが実行されます。

do-whileループ

 do-whileループは、少なくとも一度は処理を実行し、その後条件がtrueであれば処理を続けます。

void main() {
  var i = 0;

  do {
    print('Iteration $i');
    i++;
  } while (i < 5);
}

 この例では、iが5未満の間、少なくとも1回はループが実行されます。

breakとcontinue

 break文は、ループを途中で終了させるのに使用され、continue文はその反復処理をスキップして次の反復に進む際に使用されます。

void main() {
  for (var i = 0; i < 5; i++) {
    if (i == 3) {
      break;
    }
    print('Iteration $i');
  }
  print('----');
  for (var i = 0; i < 5; i++) {
    if (i == 3) {
      continue;
    }
    print('Iteration $i');
  }
}

 この例では、最初のループでiが3になるとループが終了し、2つ目のループではiが3のときだけその反復をスキップします。

まとめ

 Dartの条件分岐とループは、フロー制御の基本を理解するために重要です。if-elseswitch-caseを使い分けることで、複雑な条件分岐が簡単に実装できます。また、forwhiledo-whileなどのループを適切に使いこなすことで、コードの効率性と可読性が向上します

 Flutter開発入門の次の記事はこちらです。

コメント