・p.22「変数を使ってみる」から
p.22 変数を使ってみる
・変数:「変わることが可能な」の意味で、記憶域(メモリ)を必要な分だけ確保して名前(変数名)を付けたもの ・変数のデータ型:変数の用途・特性を示す情報で、記憶域の確保量や利用法が決まる ・データ型の例: int「イント」と読み「インテジャー(整数)」の略。整数用で1個32ビット、-2,147,483,648から 2,147,483,647まで数値格納用 ・変数の宣言:C/C++/Java/C#などでは、変数を事前に用意する=宣言する必要がある ・変数の宣言の書式: データ型 変数名; 例: int hp; //モンスターのHP用 ・複数の変数の宣言:同じ型の変数はまとめて宣言できる。変数名をカンマつなぎで指定すればOK 例: int hp, mp; //モンスターのHPとMP用 ・代入:変数にデータを格納することで、すでに格納されているデータがあれば上書きされる ・代入演算子:「=」記号で代入が可能で「変数など = データなど;」という書式で動作する ※ C/C++/Java/C#などでは、「等しい」という意味は無いので注意 例: hp = 50; //モンスターのHPを50にする ・変数の型と代入:型と一致しないデータの代入は文法エラー 例: hp = 50.2; //モンスターのHPはint型なので整数専用だから、小数点数の代入はできないのでエラー ・初期化:変数の宣言とデータの代入を同時に行う事 ・初期化の書式: データ型 変数名 = 値; 例: int hp = 50; //モンスターのHPを50に初期化 ・変数名のルール:英大文字、英小文字、数字、アンダースコア「_」、2バイト文字(漢字やひらがな等)が利用可能。 ただし、先頭文字には数字は使えない。 また、ほとんどの業務では2バイト文字は非推奨や禁止が多い。チームルールを決めていることが多い。 (例:変数名は小文字で開始し、2つの単語を繋いでいるときは2つ目の単語の先頭を大文字にする。「_」不要 例えば、maxHp、monsterName) ・キーワード:予約語ともいい、C#側で文法上用いるため、変数などには使えない単語のこと。小文字の単語のみ p.17 myname01.csに登場したキーワード: using、class public、static、void ・キーワードに関するルール:キーワードを大文字にしたものは利用可能(例:Class)だが、チームルールで禁止されていることが多い ・加算演算子:「+」記号で加算が可能で、加算結果を変数に代入できる。加算の対象は値でも変数でもOK ・減算演算子:「+」記号で減算が可能で、減算結果を変数に代入できる。減算の対象は値でも変数でもOK 例: int a = 10, b = 5, c; //整数の変数aを10で初期化、bを5で初期化、cは宣言のみ c = a + b; //aに格納されている10と、bに格納されている5を加算し、結果の15をcに代入
p.25 変数のデータを表示する
・Console.WriteLine(変数名); とすると、変数の値が表示される
例:上の例の後に、 Console.WriteLine(c); とすれば15が表示される
・なお「+」記号は前後のどちらかが文字列の場合、加算ではなく連結になる
例: "私は" + 15 // "私は15"になる
・このことを利用して、変数のデータを表示する時は、説明文字列と変数を「+」で連結して表示すると良い
例:上の例の後に、 Console.WriteLine("私は" + c); とすれば"私は15"が表示される
例:上の例の後に、 Console.WriteLine("HPは" + 50 + "です"); とすれば"HPは50です"が表示される
p.25 text01.cs
//p.25 text01.cs
using System; //System名前空間の利用を宣言
class text01 //クラスtext01の定義
{ //クラス定義の開始
public static void Main() //開始時に動作するメソッドMain
{ //メソッド定義の開始
int a = 10, b = 20, total; //int型の変数a、bの初期化とtotalの宣言
total = a + b; //変数aとbの値の話をtotalに代入
Console.WriteLine(a + " + " + b + " = " + total); //変数値と文字列を連結して表示
} //メソッド定義の終了
} //クラス定義の終了
アレンジ演習 p.25 text01.cs
・実行して動作を確認したら、下記の機能を追加しよう ① int型の変数diffの宣言 ② 変数aから変数bの値を引いた結果を変数diffに代入 ③ 変数a、b、diffの値を用いて「10 - 20 = -10」と表示
作成例
//アレンジ演習 p.25 text01.cs
using System; //System名前空間の利用を宣言
class text01 //クラスtext01の定義
{ //クラス定義の開始
public static void Main() //開始時に動作するメソッドMain
{ //メソッド定義の開始
int a = 10, b = 20, total; //int型の変数a、bの初期化とtotalの宣言
total = a + b; //変数aとbの値の話をtotalに代入
Console.WriteLine(a + " + " + b + " = " + total); //変数値と文字列を連結して表示
int diff; //【以下追加】int型の変数diffの宣言
diff = a - b; //変数aから変数bの値を引いた結果を変数diffに代入
Console.WriteLine(a + " - " + b + " = " + diff); //変数値と文字列を連結して表示
} //メソッド定義の終了
} //クラス定義の終了
p.26 変数のデータを表示する(続き)
・Console.WriteLine(計算式); とすると、ここで計算を行って、計算結果を表示できる 例: Console.WriteLine(10 + 20); //「30」が表示される ・なお、複数の「+」が並んでいる場合、左から右へ順に加算か連結が行われる 例: a + " + " + b + " = " + total の場合: ①「a + " + "」で "10 + "になる ②「① + b」で "10 + 20"になる ③「② + " = "」で "10 + 20 = "になる ④「③ + total」で "10 + 20 = 30"になり完成 ・この順序は()をつけることで変更でき、()内が先に扱われる。 ・例: "和は" + (10 + 20) とすると、先に加算が行われるので、"和は30"になる ※()が無いと、"和は" + 10 + 20 は "和は1020"となってしまう(どちらも連結になる)
p.25 text02.cs
//p.25 text02.cs
using System; //System名前空間の利用を宣言
class text02 //クラスの定義
{ //クラス定義の開始
public static void Main() //開始時に動作するメソッドMain
{ //メソッド定義の開始
int a = 10, b = 20; //int型の変数a、bの初期化
Console.WriteLine(a + " + " + b + " = " + (a + b)); //変数値と文字列を連結して表示
} //メソッド定義の終了
} //クラス定義の終了
アレンジ演習 p.26 text02.cs
・p.26に説明があるように、「(a + b)」を「a + b」にしたものを追加して、結果を比較しよう
作成例
//アレンジ演習p.25 text02.cs
using System; //System名前空間の利用を宣言
class text02 //クラスの定義
{ //クラス定義の開始
public static void Main() //開始時に動作するメソッドMain
{ //メソッド定義の開始
int a = 10, b = 20; //int型の変数a、bの初期化
Console.WriteLine(a + " + " + b + " = " + (a + b)); //変数値と文字列を連結して表示
Console.WriteLine(a + " + " + b + " = " + a + b); //【追加】変数値と文字列を連結して表示
} //メソッド定義の終了
} //クラス定義の終了