[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

--

pointこの用語のポイント

pointプログラミングで出てくる演算子だよ

point今の数字から1を引くよ

point変数の前に置く(--num)か変数の後に置く(num--)かで結果が変わる場合があるよ

スポンサーリンク

簡単に書くよ

--とは

プログラミングで出てくる演算子の一つで「今の数字から1を引きますよ~」な減算を意味する演算子
です。

image piyo

詳しく書くよ

まずは予備知識から行きましょう。

プログラミングは「プログラムを作ること」ね。
プログラムの元ネタである「ソースコード」を書く作業を指す場合もあります。

--

ソースコードを書くときに使う言葉は「プログラミング言語」です。
プログラミング言語には、いろいろな種類があります。
それぞれの言語によって書き方は違います。
ですが、基本的な部分の書き方は似ている場合が多いです。

変数」という用語も覚えておいてください。
変数は、プログラミング言語における「値を入れておく箱」です。

--2

あとは「演算子」の説明もしておきましょう。
演算子は「どんな演算をするか表す記号」です。
「+」「-」「*(×)」「/(÷)」の四則演算の記号をはじめ、なんかいろいろあります。

--3

以上が予備知識です。

ここまでを踏まえて、変数の値から1を引くときに使う演算子が「--」です。

--4

例えば、以下のような処理があったとしましょう。

num = 1;
num--;


これは

・変数numに1を入れてください
・変数numの値から1を引いてください


な命令です。
この処理が終わった後、変数numの値は0になっています。

注意点として、--は変数の前に置くことも後ろに置くことも可能です。

--num;

と書くこともできるし

num--;

と書くこともできるのです。

そして、この2つは違う結果になる場合があります。

専門家の間では、内部的にやっていることが違うので処理速度が異なるとかかんとか議論される場合もあるようですが、それはひとまず無視しますね。
ここでは、純粋に結果が異なる場合を取り上げます。

まずは、PHPで書いた2つの処理を見てください。

<php
$num = 1;
$ret = --$num;
print $ret


<php
$num = 1;
$ret = $num--;
print $ret


違いは3行目の

$ret = --$num;



$ret = $num--;

だけです。

それぞれの処理の結果はどうなると思いますか?

答えは、上の処理の$retの値は「0」になります。
それに対して、下の処理の$retの値は「1」のままです。

どうしてでしょうね?

実は

$ret = --$num;



$ret = (--$num);

っぽいイメージになります。
$numから1を引いて、その結果が$retに入れられるのです。

$num = $num - 1;
$ret = $num;


と同じ結果になります。

それに対して

$ret = $num--;



($ret = $num)--;

っぽいイメージです。
$numの値を$retに代入して、その後で$numから1が引かれるのです。

$ret = $num;
$num = $num - 1;


と同じ結果になります。

単純に1を引きたいだけであれば、前に置こうと後ろに置こうと大した違いはありませんけどね。
一応、覚えておいてください。
カッコ付けて、いろいろな処理を一行で書きたい場合は、意識しておく必要があります。

image piyo2

一言でまとめるよ

まぁ「--」って単語が出てきたら「1を引きなさいな演算子なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク