・p.52「type07.cs」から再開します
提出フォロー:アレンジ演習:p.50 type05.cs
・身長をmではなくcm単位で入力できるようにしよう
作成例
//アレンジ演習:p.50 type05.cs
using System;
class type05
{
public static void Main()
{
Console.Write("身長(cm)--- ");
double bl = double.Parse(Console.ReadLine()) / 100; //入力値をmに換算
Console.Write("体重(kg)--- ");
double bw = double.Parse(Console.ReadLine());
//体重÷身長の2乗でBMIを得て、小数点以下1位まで表示
Console.WriteLine("BMI = {0:##.#}", bw / Math.Pow(bl, 2.0));
}
}
p.52 type07.cs
//p.52 type07.cs
using System;
class type07
{
public static void Main()
{
decimal total;
Console.Write("借入金額--- ");
decimal a = decimal.Parse(Console.ReadLine()); //入力値をdecimalに換算
Console.Write("利息(%)--- ");
decimal p = decimal.Parse(Console.ReadLine()); //入力値をdecimalに換算
decimal r = p / 100M; //decimal型の100で割って利率にする
total = a * (1m + r); //(1.00+利率)を借入金額に描けて元利合計を得る
Console.WriteLine("1期間後の元利合計は{0:c}です", total);
a = total;
total = a * (1m + r); //(1.00+利率)を借入金額に描けて元利合計を得る
Console.WriteLine("2期間後の元利合計は{0:c}です", total);
a = total;
total = a * (1m + r); //(1.00+利率)を借入金額に描けて元利合計を得る
Console.WriteLine("3期間後の元利合計は{0:c}です", total);
a = total;
total = a * (1m + r); //(1.00+利率)を借入金額に描けて元利合計を得る
Console.WriteLine("4期間後の元利合計は{0:c}です", total);
}
}
p.53 3.7 文字型
・コンピュータは文字を内部的に番号で管理する。 ・この番号を文字コードといい、OSや処理系により複数の文字コードが利用されている ・C#では基本的にUnicodeという世界中の文字を表せる文字コードを用いる ・文字用のデータ型がcharで、1文字分のデータ量を示す ・文字用のリテラルが文字リテラルで、文字1文字を''で挟んで示す ・これを用いると、文字型変数への代入や、初期化が可能 例: char a; a = 'A';l //文字型変数の宣言と代入 例: char a = 'A';l //文字型変数の初期化 ・Console.WriteLineや、Writeに文字型変数を渡すと、該当する文字になる ・文字を文字番号(Unicode番号)で指定できる 例: char a = '\u732B'; //前に\uか\xを付けて16進数で指定(猫) ・10進数の文字番号(Unicode番号)で指定するには、char型にキャスト(強制的な型の変換)すれば良い 例: char a = (char)29483; //10進数で指定し16進数に変換してもらう(猫)
p.55 エスケープ文字
・制御を文字として扱う手法
・例えば「\n」は1文字の「改行」を意味するエスケープ文字
・エスケープシーケンスともいう
・「改行」以外の制御用のエスケープ文字の動作は実行場所による。
例: \r、\b、\t、\v、
・また、単独では特別な意味を持つ文字を、そのまま扱う場合にも用いる
例: \'、\"、\\、
例:Console.WriteLine("Say \"HELLO!\",please");
例:Console.WriteLine("これは\\10です");
p.56 escape01.cs
//p.56 escape01.cs
using System;
class escape01
{
public static void Main()
{
char n = '\n'; //文字型の変数をエスケープ文字(改行)で初期化
string str1 = "今日は"; //文字列型の変数を文字列リテラルで初期化
string str2 = "よい天気です"; //文字列型の変数を文字列リテラルで初期化
Console.WriteLine(str1 + n + str2); //文字列と文字列の間に文字を連結した結果を表示
string str3 = "今日は\nよい天気です"; //エスケープ文字(改行)を含む文字列で初期化
Console.WriteLine(str3);
}
}
p.57 論理型
・真理値(真偽値)を扱うデータ型で、値は真(true)と偽(false)のみ。 ・論理型はboolで表され、bool型のリテラルはtrue、falseのみ ・真は「あてはまる、一致する」で、偽は「あてはまらない、不一致」の意味 ・これを用いると、論理型変数への代入や、初期化が可能 例: bool a; a = true; //論理型変数の宣言と代入 例: bool a = false; //論理型変数の初期化 ※ C/C++では整数の0/非0を論理型として用いているが、C#では禁止 ・Console.Write/WriteLineで、論理型変数を表示すると、True、Falseとなる
p.57(GetTypeメソッド)
・型の情報を文字列で返してくれるC#提供の仕掛け(メソッド) ・形式例: 変数.GetType() ⇒ その変数の.NET型情報を文字列で返す 例: bool a; Console.WriteLine(a.GetType()); //「System.Boolean」と表示
p.57(ToStringメソッド)
・データやオブジェクト(後述)を示す文字列を返してくれるC#提供の仕掛け(メソッド) ・どういう文字列が得られるかは対象によって異なる。 ・bool型の場合、真なら"True"、偽なら"False"となる。
p.57 bool01.cs
//p.57 bool01.cs
using System;
class bool01
{
public static void Main()
{
bool a = true; //論理型の変数をbool型のリテラルで初期化
bool b = false; //論理型の変数をbool型のリテラルで初期化
Console.WriteLine("a = {0}, b = {1}", a, b); //表示するとTrue/Falseとなる
Console.WriteLine("aは{0}", a.GetType()); //boolの.NET型情報を表示
Console.WriteLine("aは文字列にすると「{0}」", a.ToString()); //論理値を示す文字列を表示
Console.WriteLine("bは文字列にすると「{0}」", b.ToString()); //論理値を示す文字列を表示
}
}