はじめに
Dartのプログラミングでは、条件に応じたフロー制御や、反復処理を効率的に行うために条件分岐とループは欠かせません。この記事では、Dartにおける条件分岐とループ処理の基本的な使い方から、さらに進んだテクニックまでを解説します。前回のFlutter入門開発はこちらです。
条件分岐
if-else
最も基本的な条件分岐の方法がif-else
文です。条件がtrue
の場合に指定の処理を行い、false
の場合に別の処理を行います。
void main() {
var isMember = true;
if (isMember) {
print('Welcome, member!');
} else {
print('Please sign up.');
}
}
この例では、isMember
がtrue
の場合は「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-else
やswitch-case
を使い分けることで、複雑な条件分岐が簡単に実装できます。また、for
、while
、do-while
などのループを適切に使いこなすことで、コードの効率性と可読性が向上します
Flutter開発入門の次の記事はこちらです。