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

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

プログラミングにおける「=」と「==」の違い

スポンサーリンク

予備知識


用語意味
プログラミングプログラムを作ること
プログラミング言語プログラムの元ネタ(ソースコード)を書くときに使う言葉
変数プログラミング言語における「値を入れておく箱」
演算子「どんな演算をしてくださいね」を表現する記号

それぞれの用語の意味


用語意味
=(単純代入演算子プログラミングで出てくる演算子の一つで「右側の値を左側の変数に入れますよ~」な代入を意味する演算子
==(等価演算子プログラミングで出てくる演算子の一つで「右側の値と左側の値は同じですか~?」な比較を意味する演算子

似ているところ


どちらも、プログラミングで出てくる演算子です。


違うところ


「=」(イコールが1つ)は値の代入を意味する演算子です。右の値を左に入れます。
それに対して「==」(イコールが2つ)は値の比較を意味する演算子です。右の値と左の値を比較します。


備考


プログラミング言語で登場する「=」は、算数・数学の「=」とは異なります。慣れれば感覚的に分かりますが、プログラミングを始めたばかりの人は、意識してあげてください。
言語の種類にもよりますが、プログラミング言語において「右と左は同じですよ~(同じですか~?)」を意味する演算子は「==(イコール2つ:等価演算子)」か「===(イコール3つ:厳密等価演算子)」を使うことが多いです。
「=」(イコール1つ)は、比較ではありません。代入です。

C言語を例に説明しますが「aとbは同じですか?」な処理を書こうとして

if(a = b){
    printf("aとbは同じ");
}


と書くのは間違いです。

この処理は、実際には「変数bの値を変数aに代入します。成功しましたか?」な判定処理になります。
「=」(イコール1つ)は代入を意味する演算子だからです。

「aとbは同じですか?」を判定したい場合は

if(a == b){
    printf("aとbは同じ");
}


と「==」(イコール2つ)で書く必要があります。


スポンサーリンク