3-3. 演算子

本章は「演算子」がテーマです。プログラミングにおける演算子を学習します。

演算子と聞けばどのようなイメージが浮かぶでしょうか?

「演算」というキーワードから、+ ー × ÷ の四則演算のイメージが強いかもしれません。確かにそれも演算子に含まれます。

ですが、それだけではありません。プログラミングではもっとたくさんの種類の演算子が出てきます。

この章で出てくる演算子は超基本的なものばかりです。必ずマスターするようにしましょう。

四則演算子

いうまでもなく、先ほど述べた+ ー × ÷ の四則演算です。

ここは意識しやすいところなので簡単に済ませましょう。ファイルにプログラムを書いて実行させるより、対話シェルで確認します。Cloud9のターミナルにおいて php -a と入力して対話シェルを起動して、以下の通り入力してください。入力するのはecho 〜の行だけです。 > で示された結果が返ってくるはずです。

echo 1 + 1;
> 2

echo 10 - 3;
> 7

echo 5 * 2;
> 10

echo 8 / 4;
> 2

echo 7 % 2;
> 1

echo 1 + 2 * 3;
> 7

echo (1 + 2) * 3;
> 9

プログラミングの四則演算子は、算数でいうところのそれとは記号が少し違うのでまとめておきます。

echo 1 + 1; // 足し算(加算)
echo 10 – 3; // 引き算(減算)
echo 5 * 2; // 掛け算(乗算)
echo 8 / 4; // 割り算(除算)
echo 7 % 2; // あまり(剰余)

特に掛け算と割り算は算数のそれとは記号が異なるので注意してください。

乗算、除算、剰余は加算、減算より優先的に計算が行われます。
加算、減算を優先的に計算したい場合は、優先的に計算したい箇所を()で囲むようにします。

連結演算子

文字列を連結する時に使います。こちらも対話シェルで試しましょう。

echo "Hello, " . "PHP";
> Hello, PHP

echo "7 + 3 = " . 10;
> 7 + 3 = 10

echo 8 . 5;
> 85

ドットで連結できます。その名の通り、ドット演算子とも呼ばれます。

もちろん、変数に入れたものを連結演算子で連結することも可能です。

$firstName = "真光";
$lastName = "濱口";
echo $lastName . $firstName . "\n";
> 濱口真光

$applePrice = 100;
$taxRate = 0.1;
$result = 100 * (1 + $taxRate);
echo "りんごは税込で".$result."円です" . "\n";
> りんごは税込で110円です

比較演算子

何かと何かを比較する演算子です。<や=を使って比較結果を取得します。

前の章で論理値を学んだことを覚えていますか?前の章で「はい」と「いいえ」という値を持つ変わった型というのを説明したかと思います。ここでその知識が必要になります。

比較演算子とは、何かと何かを比較した結果を、論理値で返してくれます。以下はサンプルです。ここでも対話シェルを使いましょう。ターミナルで php -a を入力してください。そして次のプログラムを試してください。比較演算子の各種の結果を、var_dumpで出力しています。

$a = 5;
$b = 8;
$c = 5;

var_dump($a < $b);
> bool(true)

var_dump($a > $b);
> bool(false)

var_dump($a <= $c);
> bool(true)

var_dump($a >= $c);
> bool(true)

var_dump($a == $b);
> bool(false)

var_dump($a == $c);
> bool(true)

少し解説を入れましょう。

$a = 5;
$b = 8;
$c = 5;
$a < $b; // 8は5より大きいのでtrue
$a > $b; // 5は8より小さいのでfalse
$a <= $c; // 5は5以上に含まれるのでtrue
$a >= $c; // 5は5以下に含まれるのでtrue
$a == $b; // 5と8は等しくないのでfalse
$a == $c; // 5と5は等しいのでtrue

これが何の役に立つのか分かりませんよね。これがのちの制御文で当たり前のように出てきます。不安のある人はじっくりと取り組んで、必ず理解してから次へ進むようにしてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

3-2. 変数、データ構造

次の記事

3-5. 繰り返し