講義メモ

・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); //【追加】変数値と文字列を連結して表示
    } //メソッド定義の終了
} //クラス定義の終了

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です