アプリエンジニアが教えるわかりやすいDart入門(4)構文

Dart_programming_language_logo

構文

前回のDart入門(3)の投稿に続き、今回もDartについて解説していきます。

今回は構文について解説していきます。

下記の構文を使いプログラムの流れをコントロールします。

if-else文

ifの後に続く()にbool値を返す条件式を記述することで分岐を実現します。

if (条件式) {

  trueのときに実行される処理文 ;

  } else {

  falseのときに実行される処理文 ;

}

条件式がfalseのときの処理も記述したい場合は、elseの後におこないたい処理文を記述します。

void main() {
  var age = 18;
  if (age >= 20) {
    print('成人');
  } else {
    print('未成人');
  }
}

実行結果

未成人

for文

一般的なfor文を使い、繰り返し(ループ)処理を記述できます。

for (式1; 式2; 式3) {

  処理文 ;

}

式1でカウンタ変数の宣言と初期化、式2で条件判定がおこなわれtrueの場合、処理文が実行されます。

処理文が実行された後、式3でカウンタ変数の更新がおこなわれ、再び式2で条件判定がおこなわれます。

式2の条件判定がfalseになるまで繰り返され、falseになった時点でfor文が終了します。

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

実行結果

Counter : 0 
Counter : 1 
Counter : 2 
Counter : 3 
Counter : 4

while, do-while

while文は、指定された条件が成立する(true)の間、繰り返し処理をおこないます。

while (条件式) {

  処理文; //条件がtrueの場合に処理文が実行される

}
void main() {
  int num = 0;
  while (num < 3) {
    print('num : $num');
    num++;
  }
}

実行結果

num : 0 
num : 1 
num : 2

do-while文は、はじめにdoの後の{}内に処理文を記述します。

その後whileの後の()内に条件式を記述します。

while文と同様に条件式が(true)の間は繰り返し処理をおこないます。

条件判定が(true)である間は繰り返し処理が実行され、条件判定が(false)になった時点で、do-while文が終了します。

void main() {
  int num = 0;
  do {
    print('num : $num');
    num++;
  } while (num < 3);
}

実行結果

num : 0 
num : 1 
num : 2

break

繰り返しを停止したいときはbreakを使用します。

void main() {
  int num = 0;
  while (num < 5) {
    if (num == 3) {
      break;
    }
    print('num : $num');
    num++;
  }
}

実行結果

num : 0 
num : 1 
num : 2

continue

繰り返しをスキップするにはcontinueを使用します。

void main() {
  for (var i = 1; i < 8; i++) {
    if ((i % 3) == 0) {
      print('Skip');
      continue;
    }
    print('Counter : $i');
  }
}

実行結果

Counter : 1 
Counter : 2 
Skip 
Counter : 4 
Counter : 5 
Skip 
Counter : 7

switch

switch文は()カッコ内の引数と、caseで指定した値を==で比較し、一致した場合、case以降に記述した処理文を実行します。

一致しない場合は、次のcaseの値と比較します。

一致しない場合の処理を記述するには、defaultを使用します。

caseに記述した処理文を実行した後、switch文を抜けたい場合は、breakを記述します。

break文がない場合は、次のcaseに記述した処理文も続けて実行されます。

void main() {
  var lang = 'Dart';
  // var lang = 'C#';
  switch (lang) {
    case 'Swift':
      print('Swift');
      break;
    case 'Kotlin':
      print('Kotlin');
      break;
    case 'Dart':
      print('Dart');
      break;
    default:
      print('unknown');
  }
}

実行結果

Dart

assert

assert()はアサーション文と言い、プログラムのテストに役立ちます。

()カッコ内の条件式がtrueの場合は何も起きず、プログラムは何事もなく動作し続けます。

しかし、アサーションの条件がfalseと評価された場合はAssertionErrorとなり、プログラムが中断されます。

void main() {
  var value = true;
  print('before assert : $value');
  assert(value);
  print('after  assert : $value');

  value = false;
  print('before assert : $value');
  assert(value);
  print('after  assert : $value'); // エラー
}

実行結果

before assert : true
after assert : true
before assert : false
Unhandled exception: ~ // エラー表示

※DartPad上ではアサーション文は無視されます。

Flutterの開発環境を構築すればDartSDKがインストールされ、ターミナルからコンパイルして確認できます。

コンパイル時に --enable-assertsオプションを指定しコンパイルすると、アサーションが有効になります。

dart --enable-asserts file_name.dart

Flutterの開発環境構築はこちらの記事を参照してください。

DartSDKを個別にインストールしたい場合は、こちらを参照してください。

次回は例外について投稿する予定です。

たかひら かずま
ウォーキングをしながら音楽を聴いたり考えごとをするのが好きです。
最近リモートワークで太ってしまったのでダイエットに挑戦中!

Egg Device Application

東京品川のスマホアプリ製作・開発会社です。
一般アプリ業務用アプリからVRアプリまで開発可能。

求人情報

スマホアプリ製作・開発の
相談を受け付けています

メールでのご相談

お電話でのご相談
TEL 03-5422-7524
平日10:00~18:00