目次
概要
このページでは、関係演算子について学習します。関係演算子は、左辺と右辺を比較する際に使います。
演算子 | 演算子名 | 内容 | 例 |
---|---|---|---|
== | 等値 | 左辺と右辺が等しい場合 ⇒ true 等しくない場合 ⇒ false | 1 == 1(true) 1 == 2(false) |
!= | 非等値 | 左辺と右辺が等しくない場合 ⇒ true 等しい場合 ⇒ false | 1 != 1(false) 1 != 2(true) |
> | 大なり | 左辺が右辺よりも大きい場合 ⇒ true それ以外の場合 ⇒ false | 3 > 1(true) 1 > 3(false) |
< | 小なり | 左辺が右辺よりも小さい場合 ⇒ true それ以外の場合 ⇒ false | 3 < 1(false) 1 < 3(true) |
>= | 大なりイコール | 左辺が右辺以上の場合 ⇒ true それ以外の場合 ⇒ false | 3 >= 1(true) 1 >= 3(false) 3 >= 3(true) |
<= | 小なりイコール | 左辺が右辺以下の場合 ⇒ true それ以外の場合 ⇒ false | 3 <= 1(false) 1 <= 3(true) 3 <= 3(true) |
プログラムの中で、「大なり」と「小なり」が混在するとプログラムが読みにくくなります。私は「小なり」で統一するようにしています(理由は、数値は右にいくほど大きくなる、というのが一般的だからです)。
手順
STEP1:C# プログラム(ファイル)を追加する
こちらの記事を参考にして、コンソールアプリ(プロジェクト名:Lesson3)に C# プログラム(ファイル名:Lesson3_2)を追加します。
STEP2:プログラムを記述する
Lesson3_2.cs のプログラムを下記のように変更します。
namespace Lesson3
{
public static class Lesson3_2
{
/// <summary>
/// (1). 等値演算
/// </summary>
public static void Text1()
{
Console.WriteLine("(1). 等値演算");
Console.WriteLine("1 == 1:{0}", 1 == 1);
Console.WriteLine("1 == 2:{0}", 1 == 2);
Console.WriteLine("");
}
/// <summary>
/// (2). 小なり演算
/// </summary>
public static void Text2()
{
Console.WriteLine("(2). 小なり演算");
Console.WriteLine("3 < 1:{0}", 3 < 1);
Console.WriteLine("1 < 3:{0}", 1 < 3);
Console.WriteLine("");
}
/// <summary>
/// (3). 小なりイコール演算
/// </summary>
public static void Text3()
{
Console.WriteLine("(3). 小なりイコール演算");
Console.WriteLine("3 <= 1:{0}", 3 <= 1);
Console.WriteLine("1 <= 3:{0}", 1 <= 3);
Console.WriteLine("3 <= 3:{0}", 3 <= 3);
Console.WriteLine("");
}
}
}
Program.cs のファイルの中身を下記に置き換えます。
namespace Lesson3
{
public class Program
{
public static void Main(string[] args)
{
//Lesson3_1.Text1();
//Lesson3_1.Text2();
Lesson3_2.Text1();
Lesson3_2.Text2();
Lesson3_2.Text3();
}
}
}
STEP3:動作を確認する
演算の結果は、想定した結果と同じでしたか?うまくできた人は、課題に取り組んでみてください。
課題
課題 (1):非等値演算
「概要」にある「非等値演算」の例(このページの上部の表内)の結果を確かめてみましょう。Lesson3_2.cs ファイルに以下のプログラムを追記します。
/// <summary>
/// 課題 (1):非等値演算
/// </summary>
public static void Kadai1()
{
Console.WriteLine("課題(1). 非等値演算");
Console.WriteLine("1 != 1:{0}", 1 != 1);
Console.WriteLine("1 != 2:{0}", 1 != 2);
Console.WriteLine("");
}
課題 (2):大なり演算
「概要」にある「大なり演算」の例(このページの上部の表内)の結果を確かめてみましょう。
課題 (3):大なりイコール演算
「概要」にある「大なりイコール演算」の例(このページの上部の表内)の結果を確かめてみましょう。
課題 (4):異なる型で等値演算
以下のプログラムを追記して結果を確かめてみましょう。
/// <summary>
/// 課題 (4):異なる型で等値演算
/// </summary>
public static void Kadai4()
{
int a = 1;
double b = 1.0;
decimal c = 1.0M;
double d1 = 0.1;
double d2 = 0.1;
decimal e = 0.1M;
Console.WriteLine("課題 (4):異なる型で等値演算");
Console.WriteLine("(int)1 == (double)1.0:{0}", a == b);
Console.WriteLine("(int)1 == (decimal)1.0:{0}", a == c);
//Console.WriteLine("(double)0.1 == (decimal)0.1:{0}", d1 == e); // 演算子 '==' を 'double' と 'decimal' 型のオペランドに適用することはできません
Console.WriteLine("(double)0.1 == (double)0.1:{0}", d1 == d2);
Console.WriteLine("");
}
次に進む
バグの多くは、関係演算子の記述ミスによるものが多いです。「より大きい」なのか「以上」なのかなど、条件をひとつずつ確認しながらプログラミングをしましょう。次は単項演算子について学びます。