【Dart】基本的な記述方法と変数

【Dart】基本的な記述方法と変数

※本記事で使用している環境

<パソコン>
機種:MacBook Air(13inch)
OS:macOS Sonoma(ver.14.5)

<ソフトウェア>
・GoogleChrome(ver.126.0.6478.127)
・DartPad(Dart 3.4.3・Flutter 3.22.2)

目次

DartPadを開く

Dart はブラウザ上で動かすことができます。

ブラウザで「DartPad」と検索し、開いてみましょう。

https://dartpad.dev

説明画像1

開くと、このように左側にプログラミングコードが表示されています。

赤枠で囲んだ「Run」を押すと、画面の右側にプログラムの実行結果が表示されます。

基本的な記述方法

処理の書き方

以下のプログラムを入力してみましょう。

void main() {
  print("Hello World!");
}

すると、以下のように、実行結果が表示されたことでしょう。

説明画像2

ここで、注意点があります。

プログラムの処理を記述したら、必ずセミコロン ; をつけなければなりません。

ここでは、print関数が登場しました。

print関数

文字列や数値を画面に表示する関数

コメント

プログラムを書く際、何のコードか説明を記述したい場合があります。

その際に用いるのが、以下の記号です。

void main() {
  // これはコメントです。
  print("Hello World!");
}
説明画像3

行の先頭に、// を入力することで、行の最後までがプログラムの動作に影響しないコメントとして扱われます。

コメントを複数行にわたって入力したいときは、いかの記号を用います。

void main() {
  /*
   * 1行目のコメント
   * 2行目のコメント
   */
  print("Hello World!");
}
説明画像4

最後のアスタリスク「*」とスラッシュ「/」の間にスペースを入力しないように気をつけましょう。

変数

プログラムミングをすでに経験したことのある人はご存知かと思いますが、変数というものが登場します。

変数

値を入れておく箱

<記述方法1>

[変数の型] [変数の名前];
[変数の名前] = 値;

<記述方法2>

[変数の型] [変数の名前] = 値;

変数を使う際は、主に「変数の宣言」と「初期化」を行います。

変数の宣言

変数の型の後に変数の名前を入力し、変数という値の入れ物をつくること

初期化

変数の初期値を入力すること

記述方法1では、最初の行で変数の宣言を行い、次の行で初期化を行なっています。

記述方法2では、変数の宣言と初期化を同時に行なっています。

では、以下のプログラムを入力してみましょう。

void main() {
  var name1 = "hoge";
  String name2 = "fuga";
  Object name3 = "foo";
  
  print("$name1, $name2, $name3");
}
説明画像5

では、初期化を行わないとどうなるのでしょうか。

やってみましょう。

void main() {
  int lineCount;
  
  print(lineCount);
}
説明画像6

すると、コンパイルエラーが起こりました。

コンパイル

コンパイルとは、人間が理解しやすいように書かれているプログラミング言語を機械が理解できるような機械語に変換することです。
コンパイルが通らないというのは、この作業がうまくできないということです。

なぜ、コンパイルが通らなかったかというと、変数がnullかどうか不明だからです。

null

値が何も入っていないこと。
0ではない。変数に0が入っている場合は、変数に0という値が入っているため、nullとはならない。

解決法は、以下の3つです。

①変数の宣言した後に初期化をする

説明画像7

②変数の宣言と初期化を同時に行う

説明画像8

③変数の型のあとにクエスチョンマーク「?」をつける

説明画像9

①と②は、変数に値を代入(初期化)することで、コンパイルが通るようになりました。

③は、クエスチョンマークをつけることで、「この変数はnullかもしれない」という意味になります。

実際に③はなにも値を変数に入れていないため、nullと表示されています。

では、最後に練習問題です。

練習問題

以下のコードは、コンパイルが通るでしょうか。

void main() {
  int lineCount;
  
  if (true) {
    lineCount = 0;
  } else {
    lineCount = 1;
  }
  
  print(lineCount);
}

答えは、Yesです。コンパイルを実行することができます。

なぜなら、宣言した変数に何かしらの値が代入されるからです。

詳しくは、条件分岐の説明をする際に解説します。

説明画像10

おすすめ書籍

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

shimaのアバター shima ライター

自分が学んだことをメモするサイト。
ご質問やご要望、お仕事依頼がございましたらお問合せフォームよりお願いいたします。

コメント

コメントする

CAPTCHA



reCAPTCHAの認証期間が終了しました。ページを再読み込みしてください。

目次