条件分岐を使うことで、様々なシチュエーションに対応した挙動が実装できます。
int age = 25;
if(age >= 20){
Console.WriteLine("お酒が飲めます");
} else {
Console.WriteLine("飲酒は二十歳になってから");
}
if文のかっこの中には条件式を入れ、その条件式が当てはまる場合のみ処理が実行されます。 else文は反対に、条件式が当てはまらない場合のみ処理を実行します。
else if文を使えば、if文が実行されなかった場合の条件分岐ができます。
int score = 75;
Console.WriteLine(score + "点");
if(score >= 90){
// scoreが90以上
Console.WriteLine("余裕で単位取得です");
}else if(score > 80) {
// scoreが80以上90未満
Console.WriteLine("普通に単位取得です");
}else if(score >= 60){
// scoreが60以上80未満
Console.WriteLine("なんとか単位取得です");
}else {
// scoreが60未満
Console.WriteLine("残念ながら落単です");
}
条件式には以下のようなものがあります。 条件式の結果はbool型というtrueかfalseの変数で返されます。 条件式が当てはまった場合はtrue、条件式が当てはまらない場合はfalseとなります。
// 2つの値は等しいか?
Console.WriteLine(100 == 100); // true
Console.WriteLine(100 == 40); // false
// 〇〇より上か?
Console.WriteLine(15 > 5); // true
Console.WriteLine(15 > 25); // false
// 〇〇より下か?
Console.WriteLine(7 < 24); // true
Console.WriteLine(7 < 2); // false
//より上 vs 以上
Console.WriteLine(50 > 50); // false
Console.WriteLine(50 >= 50); // true
//未満 vs 以下
Console.WriteLine(20 < 20); // false
Console.WriteLine(20 <= 20); // true
これを活用することで、条件分岐ができるようになるわけです。
補足
if文はかっこの中がtrueの場合必ず処理を実行します。 逆にかっこの中がfalseの場合処理は絶対に実行されません。
if(true){
Console.WriteLine("この処理は必ず実行されます");
}
if(false){
Console.WriteLine("この処理は絶対に実行されません");
}
例)買い物の際、お金が足りなかった場合の処理
int money = 100;
int cola_price = 150;
Console.WriteLine(money);
if(money < cola_price) {
// お金がない場合
Console.WriteLine("お金が足りません");
} else {
// お金がある場合
money = money - cola_price;
Console.WriteLine("コーラを買いました");
}
Console.WriteLine(money);
結果として「お金が足りません」と出るはずです。 この場合お金が差し引かれることもありませんし、商品が購入されることもありません。
例)プレイヤーのHP