モノを作るには部品が必要です。そして、その部品にもいろいろな大きさや形、組み合わせるのに必要な条件などがあります。もちろん、プログラムを作るのにも相応の部品が必要であり、それらの一部として演算子やステートメントがあります。ここでは、それらについて解説していくことにします。
まず、以下に示したプログラムソースをご覧ください。
List 1.6 演算子を使った例 |
using System; class Example { static void Main() { int 整数 = 8; |
整数 8, 実数 12.5 整数 32, 実数 143.75 バイト列 8, 文字列 文字列を バイト列 2, 文字列 文字列を連結します。 |
ここで示したプログラムでは、いくつかの演算子を使用しています。これらは、それほど難しいものではありません。文字列の扱いやUNICODEによる漢字の使用など、些細な違いはありますが、CやC++とほとんど同じように使うことができます。
また、CやC++のように、C#の演算子にも優先順位がつけられています。例えば掛け算(*
)は、足し算(+
)よりも優先順位が高くなります。よって、1 + 2 * 3
の結果は9
ではなく、7
になるのです。
C#では、UNICODEを使用してプログラムコードが書けます。つまり、アルファベットや数字だけではなく、ひらがなや漢字などの日本語も使用できるのです。これは、日本、韓国、中国など、いわゆるワイド文字を使用する人々にとっては大変便利です。
ここの講座でも日本語の変数などを使用していますが、理解を助けるのに一役買っているのでないでしょうか。
以下に、C#に出てくるすべての演算子を優先順位が高い順に示しておきます
カテゴリ | 演算子 |
---|---|
基本 | (x) x.y f(x) a[x] x++ x-- new typeof sizeof checked unchecked |
単項 | + - ! ‾ ++x --x (T)x |
乗除算 | * / % |
加減算 | + - |
シフト | << >> |
関係 | < > <= >= is |
等値 | == != |
ビットごとの論理積 | & |
ビットごとの排他的論理和 | ^ |
ビットごとの論理和 | | |
論理積 | && |
論理和 | || |
条件式 | ?: |
代入 | = *= /= %= += -= <<= >>= &= ^= |= |
さて、次にこれらの演算子を活用するためにステートメントについて説明します。
まずは、以下のプログラムを見てください。
List 1.7 ステートメントの基本を使った例 |
using System; class Example { static void Main() { bool 真偽値 = true; string[] 文字列配列 = new string[10]; |
for - 0, if - 真, switch - 0, for - 1, if - 偽, switch - 1, while - 真 for - 2, if - 真, switch - 2, for - 3, if - 偽, switch - 0, while - 真 for - 4, if - 真, switch - 1, for - 5, if - 偽, switch - 2, while - 真 for - 6, if - 真, switch - 0, for - 7, if - 偽, switch - 1, while - 真 for - 8, if - 真, switch - 2, for - 9, if - 偽, switch - 0, while - 真 foreach - 0 1 4 9 16 25 36 49 64 81 |
ここでは、いくつかのステートメントが出てきています。ほとんどのステートメントはCやC++と同じように使用できますが、一部新しいステートメントも出てきています。
forステートメントやwhileステートメントは、繰り返しの動作に用います。どちらも真の状態のときにブロック内の式を実行します。switchステートメントは式を場合にわけて実行します。foreachステートメントでは、配列内のデータごとに式を実行します。
上記で示したプログラムコードが理解できれば、それぞれのステートメントの意味を把握することはそれほど難しいことではないでしょう。
取り敢えずここまでのことが理解できれば、C#で書かれたプログラムの流れを掴むことができるようになっているはずです。