この章では、C#における演算子と式について詳しく解説します。演算子は、変数や値に対して操作を行うために使用される記号やキーワードです。ここでは、算術演算子、比較演算子、論理演算子、三項演算子、演算子の優先順位と結合性、式の評価と短絡評価について学びます。
3.1 算術演算子、比較演算子、論理演算子
算術演算子
算術演算子は、数値に対して基本的な数学的操作を行うために使用されます。C#で使用される主な算術演算子は以下の通りです。
+
: 加算-
: 減算*
: 乗算/
: 除算%
: 剰余(余り)
int a = 10;
int b = 3;
int sum = a + b; // sumは13
int difference = a - b; // differenceは7
int product = a * b; // productは30
int quotient = a / b; // quotientは3
int remainder = a % b; // remainderは1
比較演算子
比較演算子は、2つの値を比較し、その結果を真(true
)または偽(false
)として返します。
==
: 等しい!=
: 等しくない>
: より大きい<
: より小さい>=
: 以上<=
: 以下
int x = 5;
int y = 10;
bool isEqual = (x == y); // isEqualはfalse
bool isNotEqual = (x != y);// isNotEqualはtrue
bool isGreater = (x > y); // isGreaterはfalse
bool isLess = (x < y); // isLessはtrue
論理演算子
論理演算子は、ブール値(真または偽)を組み合わせたり、論理的な操作を行うために使用されます。
&&
: 論理積(AND) – 両方が真のときに真||
: 論理和(OR) – どちらか一方が真のときに真!
: 否定(NOT) – 真を偽に、偽を真に変える
bool a = true;
bool b = false;
bool resultAnd = a && b; // resultAndはfalse
bool resultOr = a || b; // resultOrはtrue
bool resultNot = !a; // resultNotはfalse
3.2 三項演算子の使用法
三項演算子
三項演算子は、条件式の結果に応じて2つの値のうち1つを選択するために使用される演算子です。構文は以下の通りです。
condition ? trueResult : falseResult;
条件が真であればtrueResult
が返され、偽であればfalseResult
が返されます。
int number = 10;
string result = (number > 5) ? "Greater than 5" : "Less than or equal to 5";
// resultは"Greater than 5"
この例では、number
が5より大きい場合は"Greater than 5"
が返され、それ以外の場合は"Less than or equal to 5"
が返されます。
3.3 演算子の優先順位と結合性
演算子の優先順位
C#では、演算子には優先順位があり、高い優先順位を持つ演算子が低い優先順位の演算子よりも先に評価されます。たとえば、算術演算子の*
と/
は、+
や-
よりも高い優先順位を持ちます。
int result = 5 + 3 * 2; // resultは11 (3 * 2が先に計算される)
この例では、3 * 2
が先に計算され、その結果に5
が加算されます。
結合性
結合性とは、同じ優先順位の演算子が複数存在する場合に、どの順序で評価されるかを決定するルールです。多くの演算子は左結合性を持ち、左から右に評価されます。
int result = 10 - 5 - 2; // resultは3 (10 - 5が先に計算される)
この例では、最初に10 - 5
が計算され、その後で5 - 2
が計算されます。
3.4 式の評価と短絡評価
式の評価
C#では、式は特定の値に評価されます。演算子を使用して複雑な式を構築し、その結果を得ることができます。
int a = 5;
int b = 10;
int c = a + b * 2; // cは25 (b * 2が先に計算される)
この例では、b * 2
が最初に計算され、その結果にa
が加算されます。
短絡評価
論理演算子&&
および||
は短絡評価と呼ばれる動作を行います。これは、全体の評価結果が確定した時点で、残りの条件を評価しないというものです。
bool a = false;
bool b = true;
bool result = a && b; // resultはfalse (aがfalseなので、bは評価されない)
この例では、a
がfalse
であるため、&&
演算子の右側(b
)は評価されず、結果としてresult
はfalse
になります。
まとめ
この章では、C#における演算子と式について学びました。算術演算子、比較演算子、論理演算子を使って基本的な操作を行い、三項演算子を使用して条件に応じた値を選択する方法を理解しました。また、演算子の優先順位と結合性、そして式の評価と短絡評価についても詳しく説明しました。これらの知識を活用することで、複雑な式を効率的に構築し、C#プログラムのロジックを柔軟に制御できるようになります。
コメント