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

--

pointこの用語のポイント

point演算子だよ

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

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

スポンサーリンク

簡単に書くよ

--とは

プログラミングで出てくる演算子のひとつ
であり

「今の数字から1を引きますよ~」を意味する演算子
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「変数」と「演算子」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。

--

演算子は「どんな演算をするか表す記号」です。
「+」「-」「*(×)」「/(÷)」をはじめ、なんか いろいろ あります。

--2

以上を踏まえて

変数の値から1を引くときに使う演算子

が「--」です。

--3

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

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


image piyo2

一言でまとめるよ

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

一番上に戻るよ
スポンサーリンク
書籍画像060
書籍画像029


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
クイズで学ぶUIデザイン ユーザビリティの基本が身につく50問