if文(elseなし)
if文を使うと条件によって処理を分けられる。
条件が成立したときはifブロック内が実行される。
成立しないときは何も実行されない。
var line = Console.ReadLine(); //キー入力
var num = int.Parse(line); //数値に変換
if (num == 5) //もし入力が5なら
{
Console.WriteLine("5が入力されました"); //成立した場合に実行
}5 //5を入力
5が入力されましたif-else文(二者択一)
var line = Console.ReadLine(); //キー入力
var num = int.Parse(line); //numにキー入力を代入
//numを2で割った余りが0ならば
if (num % 2 == 0)
{
Console.WriteLine("偶数");
}
//そうでないならば
else
{
Console.WriteLine("奇数");
}5 //5を入力
奇数if文の入れ子
string inputX = Console.ReadLine(); //キー入力1回目
int x = int.Parse(inputX);
string inputY = Console.ReadLine(); //キー入力2回目
int y = int.Parse(inputY);
if(x == 0) //キー入力1回目が0ならば
{
Console.WriteLine("xは0");
if(y == 0) //キー入力2回目も0ならば
{
Console.WriteLine("yも0");
}
}0 //キー入力1回目
0 //キー入力2回目
xは0
yも0関係演算子(比較)
| 演算子 | 意味 | 例 |
| == | 等しい | x == y (xとyは等しい) |
| != | 等しくない | x != y (xとyは等しくない) |
| < | 小さい | x < y (xはyより小さい) |
| > | 大きい | x > y (xはyより大きい) |
| <= | 以下 | x <= y (xはy以下) |
| >= | 以上 | x >= y (xはy以上) |
例1. 数値の比較
var line = Console.ReadLine();
var num = int.Parse(line);
if (num >= 15) //変数numが15以上か
{
Console.WriteLine("num >= 15が成り立ちました。");
Console.WriteLine($"numの値は{num}です。");
}20 //キー入力
num >= 15が成り立ちました。
numの値は20です。例2. 文字列の比較
var lang = Console.ReadLine();
if (lang == "c#") // langがc#ならば
{
Console.WriteLine("langの値は「c#」です。");
}
if(lang != "Java") // langがJavaでないならば
{
Console.WriteLine("langの値は「Java」ではない。");
}c# // キー入力
langの値は「c#」です。
langの値は「Java」ではない。論理演算子(かつ/または/否定)
| 演算子 | 意味 | 例 |
| && | かつ (AND) | a == 1 && b ==2 |
| || | または (OR) | a == 1 || b ==2 |
| ! | 否定 (NOT) | ! (a == 1) |
例1. if文で数値が範囲内か調べる(&&、かつ)
var month = 7;
if (1 <= month && month <= 10)
{
Console.WriteLine("1以上、10以下の数値です");
}1以上、10以下の数値です例2. if文でどちらかが成り立つか調べる(|| 、または)
var num = 16;
if (num % 5 == 0 || num % 8 == 0) //%は余りが0になるか調べる
{
Console.WriteLine("numは5か8で割り切れます");
}numは5か8で割り切れます3つ以上の分岐にはswitch文が便利
if文を使うと処理を2つに分岐できるものの、3つ以上の分岐にはif文だと複雑になるため、switch文を使った方がより簡単に記述できる。
breakは処理を中断するという意味。成立した場合にはswitch文から抜け出す。
例1. 整数型(int)で多分岐処理させる
Console.WriteLine("ご希望のメニューを番号で入力して下さい");
Console.WriteLine("1: カレーライス");
Console.WriteLine("2: エビフライ丼");
Console.WriteLine("3: 卵とじそば");
var line = Console.ReadLine();
var value = int.Parse(line); //キー入力を整数型に変換してvalueに代入
switch (value) //キー入力から分岐
{
case 1:
Console.WriteLine("カレーライスですね。");
break; //処理を中断してswitch文から抜け出す
case 2:
Console.WriteLine("エビフライ丼ですね。");
break;
case 3: Console.WriteLine("卵とじそばですね。");
break;
default:
Console.WriteLine("入力に誤りがあります。");
break;
}ご希望のメニューを番号で入力して下さい
1: カレーライス
2: エビフライ丼
3: 卵とじそば
2 //キー入力
エビフライ丼ですね。例2. 文字列型(string)で多分岐処理させる
var word = Console.ReadLine(); //キー入力
var term = "";
switch (word)
{
case "アイス":
term = "アイスクリーム";
break;
case "チョコ":
term = "チョコレート";
break;
case "ポテチ":
term = "ポテトチップス";
break;
}
if(term != "") //!=で空文字でないか調べ、上の3つのどれかなら正式用語termを表示する
{
Console.WriteLine("{0}は{1}の略です。", word, term);
}
else //空文字化か入力した文字列が登録にない場合
{
Console.WriteLine("登録にありません。");
}ポテチ //キー入力
ポテチはポテトチップスの略です。else if構文を使った多分岐処理
ある変数が指定した範囲内にあるか調べて、処理を複数に分岐したい場合などに使う(switch文ではできない)。
var height = 165;
if (height >= 180)
{
Console.WriteLine("高身長です");
}
else if (height >= 160) //ここが165の場合に実行される処理
{
Console.WriteLine("平均的な身長です");
}
else if (height >= 150)
{
Console.WriteLine("低身長です");
}
//このブロックは省略可能。いずれの条件にも該当しない時の処理
else
{
Console.WriteLine("いずれでもない");
}平均的な身長です
