Month: May 2025

講義メモ 第3章 変数とデータ型

p.37 変数の初期化 ・すでに説明した通り、変数の宣言時に初期値を代入することを(変数の)初期化という ・初期化では値や式(定義済の変数を含む)、値を返す処理(メソッド)を記述できる ・初期化に用いられた値を初期値という 例: ① string a = “ABC”; //値”ABC”で初期化。初期値は”ABC” ② string b = a + “DEF”; //aの値”ABC”に”DEF”を連結する式で初期化。初期値は”ABCDEF” ③ string c = Console.ReadLine(); //入力された文字列で初期化。初期値は実行時に確定 p.38(組み込み型とユーザ定義型) ・string、intなどはC#が提供するデータで、予めシステムに組み込まれているので、組み込み型という  例: int a; //組み込み型 ・対して、後述するクラスの定義によって、自由にデータ型をプログラミングでき、これをユーザ定義型という  例: Slime surarin; //ユーザ定義型 p.38(ローカル変数) ・Main()などのメソッドの中において定義した変数をローカル変数という ・ローカル変数の値は宣言時には未定なので、ゴミが入っているとみなされ、そのまま用いるとエラーになる ・よって、ローカル変数の値を用いるには、初期化または値の代入後であること 例: int i; Console.WriteLine(i); //エラーになる p.39 定数 ・変数の初期化において「const」を前置すると、値を変更できない変数になる。これを定数という。 ・書式: const データ型 定数名 = 値または式; ・定数は主に値に名前を付けて使いまわしたい場合に用いる ・例えば、プログラム中に税込み金額を用いる処理が複数ある時、毎回「* 1.1」してしまうと:  ①「1.1」が何を意味するかわからない  ② 税率が変わったら、全ての「* 1.1」を探して変更せねばならない  ③ 式によっては「* 1.1」だったり「+ ● * 0.1」だったりすることがある ・上記を改善するために、税率を定数で定義しておくと良い 例:  const int TAX = 10; //税率10%  int price1 = 500 + (500 * TAX / 100);  Console.WriteLine(“税率{0}%だと500円は{1}円になる”, TAX, price1); ・なお、定数は初期化が必須になる ・定数に対する代入はエラーになる ・開発チームルールによっては、定数は大文字で表記することがある ミニ演習 mini039.cs ・上の例を参考に、定数を用いるプログラムを作ろう ・また、定数の定義時に初期化しないとエラーになることを確認しよう(確認後、コメントアウト) ・加えて、定数に対する代入がエラーになることを確認しよう(同上) 作成例 //ミニ演習 mini039.cs using System; class mini039 {     public static void Main()     {…

Read the full article

講義メモ

・p.32「カスタム書式指定文字を使った書式の指定」から p.32 カスタム書式指定文字を使った書式の指定 ・書式のパターンの表記法の一つがプレースホルダ ・プレースホルダには、ゼロプレースホルダと、桁プレースホルダがある ・ゼロプレースホルダは指定したゼロの数より値が短いときに、ゼロで埋める形式  例:「0000.00」と指定して、1.2を渡すと「0001.20」となる ・桁プレースホルダは指定した#の数より値が短いときに、スペースで埋める形式  例:「####.##」と指定して、1.2を渡すと「 1.2 」となる ・上記は混在が可能で、全体の桁数を指定することも可能 ・どちらも、値が指定より長い場合は、プレースホルダにはならない ・なお、整数部でプレースホルダとプレースホルダの間にカンマを入れることで3桁カンマ区切りになる ・また、書式指定文字ではない文字を混在させて埋め込んだり、シングルコーテーションで囲むことで書式指定文字を通常文字にすることもできる p.34 テキスト正誤 ・実行結果の1行目の「0001.20」は10桁右詰めになる(左詰めになっているのは誤り) p.33 text07.cs //p.33 text07.cs using System; class Text07 {     public static void Main()     {         Console.WriteLine("{0, 10:0000.00}", 1.2); //「   0001.20」となる         Console.WriteLine("{0, 10:####.##}", 1.2); //「       1.2」となる         Console.WriteLine();         Console.WriteLine("{0, 10:0,0}", 123456);  //「   123,456」となる         Console.WriteLine("{0, 10:#,#}", 123456);  //「   123,456」となる         Console.WriteLine();         Console.WriteLine("{0, 10:0,00000000.00}", 123456); //「000,123,456.00」となる         Console.WriteLine("{0, 10:#,########.##}", 123456); //「   123,456    」となる         Console.WriteLine();         Console.WriteLine("{0:(000)####-####}", 1132104566); //「011)3210-4566」となる         Console.WriteLine("{0, 20:'##'0.00}", 123456); //「         ##123456.00」となる     } } p.34 ユーザの入力を知る ・Console.WriteLineの反対がConsole.ReadLineで、コンソールからの実行中の文字列入力が可能 ・「Console.ReadLine()」が実行されると、プログラムは一時停止してコンソールからの入力待ちになる ・そしてEnterキーが押されるまで先にすすまない ・Enterキーの前に入力された文字列がプログラムに渡されて、Console.ReadLine()メソッドの戻り値になる ・この戻り値のデータ型はstring(文字列)型なので、string型の変数を用いて受け取ると良い 例: string ans; //受け取りに用いるstring(文字列)型の変数の宣言 ans = Console.ReadLine(); //入力された文字列が得られたら、ansに代入 ・このまま実行すると真っ黒なコンソールが表示されるだけになり、分かりづらいので、  通常「Console.ReadLine();」の実行前に「Console.Write(“案内の文字列”);」を実行することが多い 例: string ans; //受け取りに用いるstring(文字列)型の変数の宣言 Console.Write(“お名前:”); //「お名前:」と表示(改行しない) ans = Console.ReadLine(); //入力された文字列が得られたら、ansに代入 アレンジ演習:p.35 readline01.cs ・実行結果が下記のようになるよう拡張しよう あなたのファーストネームは:Amuro あなたのセカンドネームは:Ray あなたが Amuro Ray さんですね。 ・変数nameをファーストネームのfnameと、セカンドネームのsnameの2つにすると良い 作成例…

Read the full article

今週の話題

ゲームソフト販売本数ランキング:今週1位は「『OVER REQUIEMZ』(オーバーレクイエムズ:Switch)」※未更新 GO! Nintendo Switch 2の26年度販売予想は1500万台、ソフトは4500万本。任天堂決算資料で明らかに GO! フロム・ソフトウェアイベントはファンの愛に満ちた空間。歴代アート展示にコスプレ、クイズ大会と企画満載。幕間には『A.C.E.』などの映像も。“FROMSOFTWARE GAMES EVENT Spring 2025 in TOKYO”リポート GO! 対戦型音楽ゲーム『Heavenly Guitars』PC版リリース、ソニーのブロックチェーン「Soneium」と連携 GO! 生成AI活用の『神魔狩りのツクヨミ』がついにリリース―目指すは「中ヒットでも継続できる」ゲーム GO! トランプ関税により米国内でのゲーム機の価格が約70%上がる可能性―全米民生技術協会が報告書を発表 GO! ポケットペア、任天堂とポケモンの『パルワールド』訴訟について現状説明―予防的な措置として一部仕様変更も GO! 米国では16歳未満は親同意なしの『原神』ガチャ禁止に。アメリカ連邦取引委員会の訴訟の波紋は GO!