Visual C# 2017 入門
11.ハイ&ローゲームを作ろう その4
今回は [ ハイ&ローゲームを作ろう その3 ] の続きです。
今までは IDE の使い方をメインとした内容でしたが、ここから少しずつ
プログラミング言語の仕組みについても説明します。
変数とは
プログラムを組むとき数値や文字の情報を扱います。
ほとんどの場合、変数と言われるものを使うことになります。
例えばジュースの自動販売機ならば、変数として「 投入金額 」と「 おつり 」を
用意します。そして
「 投入金額 」ー「 ジュース代 」という計算式で「 おつり 」を算出します。
200 円、または、1000 円投入されることもあると思います。
投入された金額とジュース代により、おつりは変わってきます。
変化する値を記憶するために変数を使うのです。
変数の特徴は次のものがあります。
ここでは簡単に説明していますが、実はもう少し複雑です。
くわしくは後で少しずつ説明していきます。
変数を使ってみよう
それでは実際に使ってみましょう。
まず、変数を使うには宣言をします。
例えば「これから kazu という変数を使います」という感じです。
ちなみに kazu は私が勝手に付けた名前です。
long kazu = 0;
という宣言文を画像の位置に書き込みます。
テストをするため、次のプログラムも追加してください。
button1_Click の中を変更しています。( 24 行目と 25 行目)
label1.Text = "Hello c#"; を削除して次の2行を追加しました。
kazu++;
label1.Text = kazu.ToString();
これで button1 が押されるたびに次の処理が行われます。
・変数 kazu の内容に1ずつ足す
・ラベル label1 に変数 kazu の内容を表示する
実行してみます。
button1 をクリックすると label1 の表示が1になります。
続けてクリックすると2,3,4…とカウントアップしていきます。
kazu++;
という書き方は、変数に1ずつ足したいときに使います。
2ずつ足したいときは書き方が変わって
kazu += 2;
というようになります。5ずつ足すときは
kazu += 5;
となります。
変数の宣言について
変数の宣言には「 型 」を指定する必要があります。
型とは、整数や文字列などのタイプのことです。
次のようになっています。
型 変数名
long kazu
宣言と同時に初期値を入れることができます。
long kazu = 5;
このように書けば、宣言時に kazu の内容は 5 になります。
「 型 」は色々あります。よく使うものを表にしました。
他にもあるので、プログラミングに慣れてきたらネットで調べましょう。
型 (タイプ) | 内 容 | 備 考 |
---|---|---|
long | 整数(符号あり) | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
double | 倍精度浮動小数点型 | 小数点が利用可能 |
string | 文字列 | |
bool | 論理ブール型 | true または false |
小数点を使わないのであれば long
小数点を使うのであれば double
文字列ならば string
選択肢が二択ならば bool
を使うのがいいでしょう。
変数に型があることで注意しなければならないことがあります。
宣言をした型と、違う型を使えないのです。
文字列型のところで整数をそのまま使うことはできません。
さきほど次のプログラムを書きましたね。
label1.Text = kazu.ToString();
これは label1.Text(文字列型)に対し、kazu(整数)を入れるために
メソッド ToString() を使いました。
これを使えば、整数型を文字列に変換することができるのです。
このように違う型での間でやりとりするときには、変換が必要になります。
変数のスコープについて
スコープとは簡単に言うと有効範囲のことです。
これについての説明は長くなるので、いま覚えて欲しいことだけ説明します。
変数の宣言をする場所に気を付けてください。
メソッド内で宣言した変数は、そのメソッド内でしか使えないのですが
今回のようにメソッドの外で宣言すると、すべてのメソッドで使えるようになります。
試しにメソッド button2_Click でも使ってみましょう。
30 行目と 31 行目を変更します。
今度は変数 kazu を−1してみます。
kazu−− にすると1ずつ引かれます。
実行してみましょう。
button1 を押すと1足されて、button2 を押すと1引かれます。
1つの変数を2つのメソッドで使っているのです。
代入演算子とは
いままで使っている = は代入演算子と言われています。
kazu = 5;
label1.Text = kazu.ToString();
これです。
右側の値を、左側の変数に入れるわけです。
右側は計算式(例:kazu + 1)でも OK です。
次のも代入演算子です。
kazu += 5;
これは kazu = kazu + 5; と同じことです。
kazu *= 10;
これは kazu = kazu * 10; と同じことです。
注意する点は、何でも代入できる訳ではないことです。
左右のタイプが違うと代入できないこともあります。
例えば整数を扱う変数に、文字列は代入できないのです。
long kazu;
kazu = "Hello c#";
. . . . . . (エラーになる)
文字列の変数に整数を入れるときには変換が必要になります。
さきほど説明したメソッド ToString() を使って変換する方法です。
ほかにも変換が必要なパターンがあるので、必要になったらネットで調べてみましょう。
なお、数値の計算ではなく文字列として扱いたいときには " (ダブルコーテーション) で囲んで文字列にします。
String moji;
moji = "300 + 600";
このようにすれば 300 + 600 という文字列が代入されます。