目次
概要
このページでは、演算の順序について学習します。式の中に複数の演算子がある場合、優先順位の高い演算子から先に計算が実行されます。以下は、優先順位の高い順に演算子を整理した表です。
演算子名 | 演算子 |
---|---|
単項演算子 | +、-、++、‐‐(※) |
乗算、除算、余り | *、/、% |
加算、減算 | +、- |
小なり・大なり演算子 | <、<=、>、>= |
等値・非等値演算子 | ==、!= |
手順
STEP1:プログラムを記述する
Lesson3_4.cs のプログラムを下記のように変更します。
namespace Lesson3
{
public static class Lesson3_4
{
/// <summary>
/// (1). 演算の順序
/// </summary>
public static void Text1()
{
Console.WriteLine("1 + 2 + 3 = {0}", 1 + 2 + 3);
Console.WriteLine("1 * 2 + 3 = {0}", 1 * 2 + 3);
Console.WriteLine("1 + 2 * 3 = {0}", 1 + 2 * 3);
Console.WriteLine("true == 1 < 2 = {0}", true == 1 < 2);
double x = 0.5;
Console.WriteLine("1 < ++0.5 == true = {0}", 1 < ++x == true);
x = 0.5;
Console.WriteLine("1 < 0.5++ == true = {0}", 1 < x++ == true);
}
}
}
STEP2:動作を確認する
一つの式の中で複数の演算子を使っています。どのような結果になったかひとつずつ確認してみてください。
課題
課題① – 1:カッコを使って演算の順序を変更する
C# では、カッコの中の式を優先して計算します。一般的な数式のルールと同じなので分かりやすいと思います。演算の順序が不明瞭だと思われる個所にカッコをつけて、順序を明確にするために使うケースもあります。それでは、次のコードを実行してみてください。
/// <summary>
/// 課題(1). 演算の順序を変更する(明確にする)
/// </summary>
public static void Kadai1()
{
Console.WriteLine("1 * (2 + 3) = {0}", 1 * (2 + 3));
Console.WriteLine("1 + (2 * 3) = {0}", 1 + (2 * 3));
Console.WriteLine("true == (1 < 2) = {0}", true == (1 < 2));
double x = 0.5;
Console.WriteLine("(1 < ++0.5) == true = {0}", (1 < ++x) == true);
x = 0.5;
Console.WriteLine("(1 < (0.5++)) == true = {0}", (1 < (x++)) == true);
}
次に進む
レッスン3 では、演算子について学習しました。計算のためだけに使われるものではなく、ゲームを作る上でも重要になります。特に関係演算子については理解を深めておきましょう。次は、条件分岐について学習します。