基礎 情報・IT• 学習時間の目安:約13分

変数とデータ型:値を入れる箱に、名前と種類がある

🔑 一言でいうと

変数は、値を入れておく名前つきの箱です。x = 5 は「x は5と等しい」ではなく「x に5を入れる(代入する)」という意味です。だから x = x + 1 のような式が成り立ちます。箱に入れる値にはデータ型(整数・小数・文字列・真偽値など)があり、種類を間違えると「5」+「3」が53になるような予想外の結果になります。

このページで学べること

  • 変数と代入のしくみがわかる
  • x=x+1 の意味を説明できる
  • 主なデータ型の違いがわかる
  • 型のちがいによるバグを見つけられる

前提知識

代入と、4つの基本データ型

💡 = は「等しい」ではなく「入れる」

多くのプログラミング言語で = は代入を表します。「等しいか調べる」ときは == のように別の記号を使います。

x = 3 のあとに x = x + 4 を実行すると、右側の x + 4(=3+4=7)が計算され、その結果が x に入ります。よって x は7になります。算数の等式なら x=x+4 は成り立ちませんが、代入だと考えれば自然です。

データ型は、箱に入れられる値の種類です。よく使うのは次の4つです。

主なデータ型
型入る値例
整数(int)小数点のない数0、7、−15
小数(float)小数点のある数3.14、0.5
文字列(string)文字の並び"こんにちは"、"5"
真偽値(boolean)真か偽の2つだけtrue、false

同じ「5」でも、数の5と文字列の "5" は別物です。数なら 5+3=8 ですが、文字列なら "5"+"3"="53"(つなげる)になる言語が多くあります。

x = 5 … 代入 / x == 5 … 等しいか調べる(比較)

このページでは読みやすさのため、プログラムの式も全角の記号(=・+・×・÷)で書いています。実際のプログラムでは半角で入力し、代入は =、比較は ==、かけ算は *、わり算は / と書きます(全角で打つとエラーになります)。

🤔 なぜ x = x + 1 が成り立つのか

算数の等式なら、x = x + 1 は「同じ数が自分より1大きい」と言っていることになり、決して成り立ちません。ところがプログラムではふつうに使われます。

プログラムの = は「等しい」ではなく「入れる」だからです。処理は右からで、まず右側の x + 1 を計算し、その結果を左側の x に入れ直します。x が3なら右側は 3 + 1 = 4 になり、その4が x に入る。「箱の中身を取り出して1足し、同じ箱に戻す」という2段階の作業です。等しいかどうかを調べたいときは == という別の記号を使います。

図でイメージする(箱の中身が書きかわる)

x = 3 → x = x + 4

変数 x3 3 + 4 = 7 変数 x7
右側を計算してから、同じ箱に入れ直す(前の値は消える)。だから x=x+4 は「x に4を足した値を x にする」という意味になります。

例題(くわしい手順)

例題1:変数を使って合計と平均を求める

3人のテストの点数(80、90、70)の合計を、変数を使って求める流れを追います。

🧭 手順
  1. 入れ物を用意:合計を入れる変数 total に 0 を代入(total = 0)。
  2. 1人ずつ足す:total = total + 80 → 80。total = total + 90 → 170。total = total + 70 → 240。
  3. 平均も出す:avg = total ÷ 3 = 80。
  4. 確かめる:80 + 90 + 70 = 240、240 ÷ 3 = 80。手で計算した値と一致します。

最初に total = 0 としておくのが大切です。初期値を入れ忘れると、箱の中身が決まらずエラーや予想外の値になります。

例題2:2つの変数の中身を入れかえる

a = 2、b = 3 のとき、a と b の中身を入れかえたいとします。「a = b」「b = a」の順に実行するとどうなりますか。

🧭 手順
  1. 1つ目を実行:a = b なので、a に b の中身 3 が入ります。この時点で a = 3、b = 3。
  2. もとの a が消えた:a に入っていた 2 は上書きされて、どこにも残っていません。
  3. 2つ目を実行:b = a なので b に 3 が入りますが、もともと 3 なので変わりません。結果は a = 3、b = 3。
  4. 正しくやるには:一時的な箱を使います。tmp = a → a = b → b = tmp。これで a = 3、b = 2 と入れかわります。

代入は上書きです。入れたい先に大事な値が残っているなら、先に退避させないと消えてしまいます。プログラミングで最初につまずく典型例です。

数の5と文字列の「5」の違い

数の5と文字列の "5" の違い
くらべること数(整数)の 5文字列の "5"
書き方5"5"(引用符で囲む)
5 + 3 の結果8(たし算)"53"(つながる)
計算に使えるか使えるそのままでは使えない(数に変換が必要)

フォームに入力された値は多くの場合文字列として届きます。計算する前に数へ変換するのが定番の処理です。

よくある間違い

⚠️ 間違い①:= を「等しい」と読む

= は代入です。x = x + 1 は「右側を計算して x に入れ直す」という意味。等しいか調べたいときは == を使います。

⚠️ 間違い②:文字列のまま計算する

フォームから受け取った "5" と "3" をそのまま足すと "53" になります。数値に変換してから計算します。

⚠️ 間違い③:変数名を a、b などにしてしまう

動きはしますが、後から読めなくなります。total、price、count のように中身がわかる名前にすると、間違いも減ります。

練習問題

まず自分で解いてから解説を開きましょう。

基本1

x = 3 のあとに x = x + 4 を実行すると、x はいくつになりますか。

解答・解説を見る

答え:7

右側の x+4=3+4=7 を計算し、その値を x に入れ直します。よって7です。

つまずいたら → 「右側を計算してから左に入れる」(本ページ 代入と、4つの基本データ型)に戻りましょう。

基本2

文字列の "10" と "20" を足すと、多くの言語ではどうなりますか。

次から選びましょう

解答・解説を見る

答え:"1020"

文字列どうしの+は連結になるため "1020" です。30 にしたいときは数値に変換してから足します。

つまずいたら → 「文字列どうしの + は足し算ではなく、つなげる操作」(本ページ 代入と、4つの基本データ型)に戻りましょう。

応用

a = 2、b = 3 のあと、a = b、b = a を実行すると a と b はいくつになりますか。

次から選びましょう

解答・解説を見る

答え:a=3、b=3

a = b で a が3になり、その直後の b = a ではすでに3になった a が入るため b も3。値の交換には一時的な変数(tmp)が必要です。

つまずいたら → 「代入は上書き。先に退避させる」(本ページ 例題2)に戻りましょう。

応用2

「年齢が18以上か」を表す変数の型は何になりますか。

次から選びましょう

解答・解説を見る

答え:真偽値(boolean)

結果は「はい(true)」か「いいえ(false)」の2つだけなので真偽値です。条件分岐の判定にそのまま使えます。

つまずいたら → 「真か偽の2つだけをとるのが真偽値」(本ページ 代入と、4つの基本データ型)に戻りましょう。


よくある質問

Q. 変数とは何ですか?

値を入れておく名前つきの箱です。x=5 のように書くと、xという箱に5が入ります。あとから中身を書きかえたり、計算に使ったりできます。

Q. x=x+1 はなぜ成り立つのですか?

= が「等しい」ではなく「代入」を意味するからです。右側の x+1 を先に計算し、その結果を同じ箱 x に入れ直すので、中身が1増えます。

Q. データ型はなぜ必要なのですか?

同じ「5」でも数と文字列では動きが変わるからです。数なら 5+3=8、文字列なら "5"+"3"="53" になります。型を意識すると、こうした予想外の結果を防げます。

Q. 変数の名前はどうつけるとよいですか?

中身が分かる名前にします。goukei や nedan のように何が入っているかが読めれば、あとで読み返したときに間違いにくくなります。a や b だけでは分かりません。

次に学ぶ内容

📚 参考・監修方針

高等学校「情報I」および基本的なIT知識の範囲を参照し、オリジナルに作成(実在試験問題の転載はありません)。正確性は編集方針にそって確認しています。

最終更新日:• 最終確認日:• このページの誤りを報告する