演算子の優先順位と結合規則
評価順序を理解し、括弧を使います。
「演算子の優先順位と結合規則」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全4レッスンが含まれています。
優先順位が重要な理由
式に複数の演算子が含まれる場合、C#は優先順位を使って処理順序を決定します。優先順位の高い演算子ほど強く結び付き、先に実行されます。
using System;
class Program {
static void Main() {
Console.WriteLine(2 + 3 * 4);
}
}加法演算より先に乗法演算
* / %は+ -より優先順位が高いため、数学の授業と同じように先に実行されます。
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 2 * 3);
Console.WriteLine(20 / 4 + 1);
}
}括弧による順序の変更
括弧の優先順位は最も高くなります。括弧を使うと、指定した順序で処理させ、意図を明確にできます。
using System;
class Program {
static void Main() {
Console.WriteLine((2 + 3) * 4);
Console.WriteLine(2 + (3 * 4));
}
}比較と算術演算
算術演算は比較より先に実行されます。a + b > cでは、まず加算が行われ、その後に比較が行われます。
using System;
class Program {
static void Main() {
int a = 3, b = 4, c = 5;
Console.WriteLine(a + b > c);
}
}論理演算子の順序
&&は||より優先順位が高くなります。a || b && cでは、ANDが先に結び付きます。
using System;
class Program {
static void Main() {
bool r = true || false && false;
Console.WriteLine(r);
}
}優先順位の概要
大まかな順序を高いものから並べると、括弧、単項演算子(! ~ -)、* / %、+ -、シフト、比較、等価比較、ビット演算、&&、||、そして代入です。
using System;
class Program {
static void Main() {
int x = 1 + 2 << 1;
Console.WriteLine(x);
}
}結合規則: 左から右
演算子の優先順位が同じ場合は、結合規則によって方向が決まります。ほとんどの二項演算子は左結合です。10 - 4 - 2は(10 - 4) - 2として処理されます。
using System;
class Program {
static void Main() {
Console.WriteLine(10 - 4 - 2);
Console.WriteLine(100 / 5 / 2);
}
}右結合の代入
代入は右結合です。a = b = 5では、まず5がbに代入され、その結果がaに代入されます。
using System;
class Program {
static void Main() {
int a, b;
a = b = 5;
Console.WriteLine(a + " " + b);
}
}単項演算子は強く結び付く
単項演算子の!、~、符号反転は二項演算子より先に適用されます。-3 + 2では、まず3の符号が反転されます。
using System;
class Program {
static void Main() {
Console.WriteLine(-3 + 2);
Console.WriteLine(!false && true);
}
}条件演算子
三項演算子?:の優先順位は低く、代入の直前です。安全のため、複雑な条件には括弧を付けます。
using System;
class Program {
static void Main() {
int n = 7;
string s = n % 2 == 0 ? "even" : "odd";
Console.WriteLine(s);
}
}巧妙さより明確さ
優先順位によって括弧を省略できる場合でも、括弧を追加するとコードが読みやすくなり、レビューもしやすくなることがあります。
using System;
class Program {
static void Main() {
int a = 2, b = 3, c = 4;
int result = (a * b) + (c * 2);
Console.WriteLine(result);
}
}理解度チェック
優先順位と結合規則についての理解度を確認します。
まとめ
優先順位によって、どの演算子が先に実行されるかが決まります。*と/は+と-より優先され、括弧はすべての演算子より優先されます。結合規則は、優先順位が同じ演算子同士の順序を決めます。ほとんどの演算子は左から右に、代入は右から左に処理されます。
迷った場合は、明確にするために括弧を追加します。
よくある質問
「演算子の優先順位と結合規則」レッスンは無料ですか?
はい。「演算子の優先順位と結合規則」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全4レッスンが含まれています。
「演算子の優先順位と結合規則」で何を学びますか?
評価順序を理解し、括弧を使います。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「演算子の優先順位と結合規則」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 算術演算子と代入演算子
- 比較演算子と論理演算子
- ビット演算子とシフト演算子
- 演算子の優先順位と結合規則