C#のif文のサンプルです。
目次
if文
| if (条件) { 処理 } else if (条件) { 処理 } else { 処理 } |
- 条件がtrueの場合、配下のブロック{ }の処理が実行され、if文の処理は終了します。
- 条件がfalseの場合、配下のブロック{ }の処理は実行されず、その下(else if/else)に進みます。
- else ifは、1つ以上記述できます。省略可。
- elseのブロック{ }の処理は、どの条件もtrueでなかったときに実行されます。
- elseは、1つのみ記述できます。省略可。
コード
サンプルのコードです。
12行目のelse ifの条件式を満たすので1が表示されます。
18行目のように、else if文の中にif文を記述することができます。入れ子の構造です。
using System;
class Test1
{
static void Main()
{
int num = 1;
if (num == 0)
{
Console.WriteLine("0");
}
else if (num == 1)
{
Console.WriteLine("1"); //1が表示される
}
else if (num == 2)
{
if (num == 2)
{
Console.WriteLine("サンプルです"); //
}
}
else
{
Console.WriteLine("01以外");
}
}
}
関係演算子
2つの値を比べて真偽値(true/false)を返します。
条件を満たしていればtrue,そうでない場合はfalseです。
| 関係演算子 | 説明 |
|---|---|
| a > b | aはbより大きい |
| a >= b | aはbより大きい または 等しい |
| a < b | aはbより小さい |
| a <= b | aはbより小さい または 等しい |
以下は、MicrosoftのC# 演算子の関係演算子のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/#relational-and-type-testing-operators
等値演算子
2つの値を比べて真偽値(true/false)を返します。
条件を満たしていればtrue,そうでない場合はfalseです。
| 等値演算子 | 説明 |
|---|---|
| a == b | aとbの値は等しい |
| a != b | aとbの値は等しくない |
以下は、MicrosoftのC# 演算子の等値演算子のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/#equality-operators
論理演算子の論理積(&&)
- if文で論理積(&&)を使用する場合、論理積(&&)の左の式と右の式の両方が条件に合致する場合にtrueになります。
- 論理積(&&)の左の式がfalseの場合、右の式は評価されません。これを短絡評価(ショートサーキット評価 : Short-Circuit Evaluation)といいます。
- 以下は、Microsoftの&& 演算子 (C# リファレンス)のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/conditional-and-operator
コード
8行目は、偶数かつ10より小さい場合にtrueになります。
→「OK」が表示されます。
using System;
class Test1
{
static void Main()
{
int num = 6;
if ((num % 2 == 0) && (num < 10))
{
Console.WriteLine("OK"); //OKが表示される
}
else
{
Console.WriteLine("NG");
}
}
}
論理演算子の論理和(||)
- if文で論理和(||)を使用する場合、 論理和(||)の左の式または右の式のどちらかが条件に合致する場合にtrueになります。
- 論理和(||)の左の式がtrueの場合、右の式は評価されません。これを短絡評価(ショートサーキット評価 : Short-Circuit Evaluation)といいます。
- 以下は、Microsoftの|| 演算子 (C# リファレンス)のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/conditional-or-operator
コード
8行目は、偶数または10より小さい場合にtrueになります。
→「OK」が表示されます。
using System;
class Test1
{
static void Main()
{
int num = 9;
if ((num % 2 == 0) || (num < 10))
{
Console.WriteLine("OK"); //OKが表示される
}
else
{
Console.WriteLine("NG");
}
}
}
論理演算子の否定(!)
- !aとした場合、aがfalseの場合にtrueになり、aがtrueの場合にfalseになります。
- 以下は、Microsoftの! 演算子 (C# リファレンス)のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/logical-negation-operator
コード
8行目はnumと1の比較でfalseになり、それを!で否定して条件式はtrueになります。
14行目はnumと9の比較でtrueになり、それを!で否定して条件式はfalseになります。
using System;
class Test1
{
static void Main()
{
int num = 9;
if (!(num == 1))
{
Console.WriteLine("test1"); //test1が表示される
}
if (!(num == 9))
{
Console.WriteLine("test2");
}
else
{
Console.WriteLine("test3"); //test3が表示される
}
}
}
関連の記事
C# switch文のサンプル
C# while文とdo while文のサンプル
C# for文とbreakとcontinueのサンプル
C# クラスとコンストラクタのサンプル