1日目のゴール
「初級編」1日目のテーマは
“C# で「入力 → 処理 → 出力」という一連の流れを、自分で組み立てられるようになること” です。
超初級編では、主に「こちらから決めた値」をコードの中に書いていました。
初級編では一歩進んで、「ユーザーが入力した値」を受け取り、それを使って処理する小さなアプリを作っていきます。
今日のキーワードはこの2つです。
Console.ReadLine
文字列を数値に変換する(int.Parse / double.Parse)
この2つを軸に、「対話できるコンソールアプリ」の感覚をつかみます。
コンソールアプリの“基本形”をもう一度確認する
C# プログラムの骨組み
まずは、コンソールアプリの基本形をもう一度押さえます。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("C# 初級編スタート!");
}
}
C#ここで重要なのは、次の3つです。
using System;
Console などの基本クラスを使うための「道具箱宣言」
class Program { … }
C# のコードは必ずクラスの中に書く、というルール
static void Main(string[] args)
アプリの入口。ここから処理が始まる
超初級編で一度通っているので、ここは「形として覚える」で大丈夫です。
今日の本題は、この Main の中に「入力 → 処理 → 出力」の流れを作ることです。
Console.ReadLine で「入力」を受け取る
ReadLine は「1行分の文字を読み取る」
今までは、Console.WriteLine で「出力」だけしていました。
ここに「入力」を足すのが Console.ReadLine です。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("あなたの名前を入力してください:");
string name = Console.ReadLine();
Console.WriteLine("こんにちは、" + name + " さん!");
}
}
C#ここで起きていることを、丁寧に追ってみます。
Console.WriteLine
「名前を入力してください」と画面に表示する
Console.ReadLine
ユーザーがキーボードで入力して Enter を押すまで待つ
入力された内容を「文字列」として返す
string name = Console.ReadLine();
返ってきた文字列を、name という変数に入れている
そのあとで、name を使ってあいさつ文を作っている
ポイントは、「ReadLine は必ず string(文字列)を返す」ということです。
数字を入力しても、いったんは「文字列」として受け取ります。
文字列を数値に変換する:int.Parse / double.Parse
「入力は文字列」「計算は数値」というギャップを埋める
例えば、「年齢を入力して、来年の年齢を表示する」アプリを作りたいとします。
そのとき、こう書きたくなります。
Console.WriteLine("あなたの年齢を入力してください:");
string ageText = Console.ReadLine();
// ここでいきなりこう書くと…
int nextAge = ageText + 1; // エラー
C#ageText は string(文字列)なので、そのままでは足し算できません。
そこで使うのが int.Parse です。
Console.WriteLine("あなたの年齢を入力してください:");
string ageText = Console.ReadLine();
int age = int.Parse(ageText);
int nextAge = age + 1;
Console.WriteLine("来年は " + nextAge + " 歳ですね。");
C#int.Parse(ageText) は、
「文字列 ageText を整数(int)として解釈しようとする」処理です。
同じように、小数を扱いたいときは double.Parse を使います。
Console.WriteLine("身長を入力してください(cm):");
string heightText = Console.ReadLine();
double height = double.Parse(heightText);
Console.WriteLine("あなたの身長は " + height + " cm ですね。");
C#ここでの超重要ポイントはこれです。
入力は必ず文字列として入ってくる
計算したいなら、適切な型(int / double)に変換する必要がある
この「文字列 → 数値」の変換が、初級編の最初の壁ですが、
一度慣れてしまえば、あとはパターンです。
例題1:簡単な「合計金額計算アプリ」
個数と単価を入力して合計を出す
では、入力と変換と計算をまとめた、少しだけ実用的な例を作ってみます。
仕様はこうです。
商品名を入力する
単価(1個あたりの値段)を入力する
個数を入力する
合計金額を計算して表示する
コードはこうなります。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("商品名を入力してください:");
string itemName = Console.ReadLine();
Console.WriteLine("単価を入力してください(円):");
string priceText = Console.ReadLine();
int price = int.Parse(priceText);
Console.WriteLine("個数を入力してください:");
string quantityText = Console.ReadLine();
int quantity = int.Parse(quantityText);
int total = price * quantity;
Console.WriteLine("----------");
Console.WriteLine("商品名: " + itemName);
Console.WriteLine("単価: " + price + " 円");
Console.WriteLine("個数: " + quantity + " 個");
Console.WriteLine("合計金額: " + total + " 円");
}
}
C#ここで深掘りしたいのは、「型の流れ」です。
itemName は string のままでいい(文字として扱う)
priceText → int.Parse → price(数値として計算に使う)
quantityText → int.Parse → quantity(同じく数値)
total は int × int の結果なので int
「どの値を文字列のまま扱い、どの値を数値に変換するか」を意識できると、
コードの意味が一気にクリアになります。
例題2:BMI 風の「体格チェック」ミニアプリ
入力 → 計算 → 条件分岐までつなげてみる
次は、少しだけロジックを足してみます。
身長(cm)と体重(kg)を入力する
身長を m に直す
BMI っぽい値を計算する
値に応じてコメントを変える
コード例です。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("身長を入力してください(cm):");
string heightText = Console.ReadLine();
double heightCm = double.Parse(heightText);
Console.WriteLine("体重を入力してください(kg):");
string weightText = Console.ReadLine();
double weight = double.Parse(weightText);
double heightM = heightCm / 100.0;
double bmi = weight / (heightM * heightM);
Console.WriteLine("あなたの BMI 風の値は " + bmi + " です。");
if (bmi < 18.5)
{
Console.WriteLine("少しやせ気味かもしれません。");
}
else if (bmi < 25.0)
{
Console.WriteLine("標準的な範囲です。");
}
else
{
Console.WriteLine("少し高めかもしれません。生活習慣を見直してみましょう。");
}
}
}
C#ここには、これまでの要素が全部入っています。
Console.ReadLine で入力
double.Parse で小数に変換
四則演算で計算
if 〜 else if 〜 else で条件分岐
Console.WriteLine で結果表示
「入力があるだけで、急にアプリっぽくなる」感覚が、ここでつかめるはずです。
例題3:簡単な「学習時間フィードバック」アプリ
今日の勉強時間からコメントを出す
最後に、初級編らしい「自分の学習と直結する」ミニアプリを作ってみます。
今日の勉強時間(分)を入力する
30 分以上なら「よく頑張った」
10 分以上 30 分未満なら「悪くない」
10 分未満なら「明日はもう少しだけやろう」
コードはこうです。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("今日の勉強時間を入力してください(分):");
string minutesText = Console.ReadLine();
int minutes = int.Parse(minutesText);
Console.WriteLine("今日の勉強時間は " + minutes + " 分ですね。");
if (minutes >= 30)
{
Console.WriteLine("よく頑張りました!");
}
else if (minutes >= 10)
{
Console.WriteLine("悪くないです。この調子で少しずつ増やしていきましょう。");
}
else if (minutes > 0)
{
Console.WriteLine("少しでも手をつけたのは素晴らしいです。明日はもう 5 分だけ増やしてみませんか?");
}
else
{
Console.WriteLine("まずは 5 分だけでもやってみる日を作ってみましょう。");
}
}
}
C#ここで意識してほしいのは、「入力された値に対してロジックが動いている」ということです。
超初級編では、minutes の値をコードの中で決めていました。
初級編では、それをユーザーに委ねています。
1日目で絶対に押さえておきたいポイント
「入力は string、計算は数値」という二段構え
今日の一番大事なポイントを、言葉でまとめるとこうなります。
Console.ReadLine は「必ず string を返す」
数値として計算したいなら、int.Parse / double.Parse で変換する
変換したあとは、普通の int / double と同じように扱える
この流れが自然に書けるようになると、
「ユーザーと対話するコンソールアプリ」が一気に作りやすくなります。
もし余裕があればやってみてほしいこと
自分用の「1日の振り返りアプリ」を作る
例えば、こんな仕様を自分で考えてみてください。
今日の勉強時間(分)
今日の睡眠時間(時間)
今日の気分(1〜5 の数字)
これらを入力して、
「今日はかなりいい日だった」
「ちょっと無理しすぎかも」
などのコメントを if 文で出す。
やることは全部、今日やったことの組み合わせです。
Console.ReadLine
int.Parse / double.Parse
計算
if 文
Console.WriteLine
1日目のまとめ
初級編 1日目で、あなたは新しく「入力」という軸を手に入れました。
Console.WriteLine だけの世界から、
Console.ReadLine を通じて「ユーザーと会話する」世界へ。
入力(string)
→ 必要に応じて数値に変換(int / double)
→ 計算・判定
→ 結果を表示
この一連の流れが、「アプリの最小単位」です。
2日目以降は、この流れの中に
「エラーにならないように気をつける」
「メソッドに分けて整理する」
「複数のデータを扱う」
といった要素を少しずつ足していきます。
まずは今日、
「自分の入力に反応してくれる C# プログラム」を
1つでも動かせていたら、それで十分すぎるくらい良いスタートです。

