式と演算子 其の一
機械に頭を使ってもらうことにしよう
文ときたら、次は 式。
なんとなく SF とかでプログラムを知っている人なら、今まで書いたプログラムを見て「こんなテキスト吐くだけなんて、なんか違う!!」と思ってる?
ちゃんとプログラムでも 計算 させられます。
まず、プログラムで計算させる数の書き方から見ていこう。
リテラル
リテラル っていうのは、プログラムの中に書いた、見た目通りの値 のこと。
0;
1;
3;
12;
54;
108;
これを使っていく。
四則演算
1 + 1; // 2
2 - 5; // -3
この +
とか -
をひっくるめて 演算子 という。他にも、掛け算、割り算、剰余算(割った余り)、などがあるよ。多すぎるから他の演算子は其の二や其の三に分けることにする。本当に多い。
3 * 4; // 3 × 4 = 12。全角の記号が使えないからこれを使う。
7 / 3; // 7 ÷ 3 = 2。整数の計算だよ。小学生のころの記憶を思い出せ!
7 % 3; // 7 ÷ 3 = 2 あまり 1。割り算の余りだよ。小学生のころの(ry
記号の優先順序も数学に近い。同じ優先順序なら左から。わかりにくいけど掛け算、割り算、剰余算は同じ優先順序。
1 + 2 * 3; // 7
6 + 4 % 2 + 3; // 9
4 + 5 - 1; // 8
6 / 2 / 3; // 1
この演算子と数を書いたもののことを 式 という。
括弧式
(1 + 2) * 5; // => 3 * 5 => 15
4 / (3 + 1); // => 4 / 4 => 1
(6 + 4) % (2 + 3); // => 10 % 5 => 0
6 / 2 / 3; // => 3 / 3 => 1
6 / (2 / 3); // => 6 / 0 => Floating point exception。0 では割れない
括弧 のある計算も、同じ感じで書ける。括弧で囲った式 が 優先 的に評価される。
これでよくある計算はさせられるようになった、かな?まぁ、最近のコンパイラは賢いから、コンパイルするときに全部計算しちゃう。
かがくのちからってすげー!