p.53 文字型
・1文字を格納するための型で、C#ではUnicodeによる文字コード(文字を表す番号)が用いられる ・charは「キャラ」または「チャー」と読む(どちらでも良いがチームルールで決める場合もある) ・Unicodeは1文字を2バイト以上で表すが、C#では2バイトと規定しているので、char型は16ビット。 ・char型の変数の初期化は文字リテラルで行うことができる ・書式: char 変数名 = '文字'; ・Console.Write/WriteLineは文字型の変数も扱うことが可能 ・文字リテラルでは'\u文字コード'形式で、16進数による文字コードによる文字の指定が可能 ・例えば、'猫'は16進数による文字コードが「732B」なので「char a = '\u732B';」と初期化できる ※文字コードはWindowsに付属の「文字コード表」で確認できる ・なお、'\u文字コード'は、'\x文字コード'にしても良い(\xは16進数を示す) ・文字コードを10進数で指定するには、char型へのキャスト(強制変換:後述)を「(char)」で行え良い 例: char d = (char)12431; //12431は16進数308Fで「わ」の文字コード
アレンジ演習:type09.cs
・行数を増やさずに「猫でもわかるC#」と表示するようにしよう ※「C#」は文字コードで指定しなくてOK
作成例
//アレンジ演習:p.55 type09.cs
using System;
class type09
{
public static void Main()
{
char a = '\u732B'; //猫
char b = '\x3067'; //で
char c = 'も';
char d = (char)12431; //わ
char e = '\u304B'; //か
char f = '\x308B'; //る
Console.WriteLine("{0}{1}{2}{3}{4}{5}C#", a, b, c, d, e, f); //【変更】
}
}
p.55 エスケープ文字
・制御用のコードを文字として扱う仕組みと、特別な意味をもつ文字を通常文字として扱える仕組みを合わせたものがエスケープ文字 ・エスケープシーケンスともいう ・前に\マークをつけた2文字で1文字分の変数になる ・制御用のコードを文字として扱う仕組みの代表が「\n」(改行)で、これ以外の「\r」「\t」「\b」「\v」「\f」の動作は 処理系などに依存するので、何も動作しないことがある。 ・なお「\0」はヌル(ナル、null)のことで「無」を意味する。 ・特別な意味をもつ文字を通常文字として扱える仕組みには「\\」「\'」「\"」があり「\」「'」「"」を文字として扱える ・エスケープ文字は文字列リテラルの中にいくつでも指定可能。例:"A\nB\nC\n"(1文字ごとに改行)
アレンジ演習:p.56 escape01.cs
・エスケープ文字を用いて「Let's go to "SIDE7" by \1234」と画面に表示しよう
作成例
//アレンジ演習: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); //表示時に中にある改行コードが動作する
//【以下追加】
Console.WriteLine("Let\'s go to \"SIDE7\" by \\1234");
}
}
p.57 論理型
・真理値(真偽値)を扱える型で、1ビット分の記憶容量。 ・真理値(真偽値)は真を意味するtrue、偽を意味するfalseの2値のどちらかになる ・真偽には「正しい、ホント」「間違い、ウソ」という意味はなく「あてはまる」「あてはまらない」が近い。 ・論理型はbool型のみで、trueとfalseは論理リテラル。 ※ C/C++では「整数0で偽、0以外で真を表す」ことが可能だが、C#では禁止なので注意 ・論理型変数はフラグ用に用いられることがある。例: bool tested = false; //テスト済フラグをオフ ・論理型変数はtrueとfalseの2値以外を保持できないので、フラグなどの用途に向く ・なお、Console.Write/WriteLineでbool型変数の値を表示すると先頭が大文字のTrue/Falseとなる ・bool型は.NET型ではSystem.Boolean型になる
アレンジ演習:p.57 bool01.cs
・bool型変数どうしの加算をするとどうなるか確認しよう ・文法エラーになったらコメントアウトすること
提出:アレンジ演習:p.57 bool01.cs