ある日、息子に「プログラミングでよく使う【 i 】ってどういう意味なの?」と聞かれました。皆さんはどう答えますか? 「i = i + 1というのもよく見るけど、数学だとおかしな式だし…何だか不思議…」と困惑する方も多いかもしれません。
実は、プログラミングの世界で使われる「i」には、「これ以外の文字だとダメ!」という決まりはなく、あくまで“慣習”や“歴史的な理由”があるのです。さらに、同じ「=(イコール)」の記号でも、数学とは違うルールで使われるため、最初は戸惑ってしまいがち。
この記事を読むとわかること👇
- 「i」にはどういう意味や由来があるの?
- 「i = i + 1」って、いったいどういう仕組み?
- どうしてプログラミングのループで「i」が使われやすいの?
といった疑問を分かりやすくまとめてみました。「プログラミング i 意味」というキーワードが気になる方の疑問解決にも役立つと嬉しいです。

プログラミング「i」の意味
プログラミング入門書や学校の授業を見ると、やたら「i」という文字が目につきませんか? この章では、そもそも「i」という変数がどんな場面で使われるのか、そしてどんな由来や意味があるのかをお話しします。
まずは変数ってなに?おさらい
プログラミングでは、「変数(へんすう)」という“データを入れる箱”のようなものをよく使います。たとえば、テストの点数やゲームのスコア、キャラクターの位置など、その値が変わるかもしれないものを一時的に保存しておく場所が変数です。
- 例:
score
という変数:ゲームの得点を入れるname
という変数:登場人物の名前を入れる
このように、変数名は自由につけられますが、意味がわかりやすい名前をつけるのが理想ですよね。
なんで「i」という変数名をよく見るの?
変数名が自由につけられるなら、「score」や「count」などの方がわかりやすそう。なのに、なぜプログラミング初心者向けの本や授業では、「i」がよく出てくるのでしょうか?
実は、これは「昔からの慣習」が強いのです。たとえば、理系の数学や物理学で、Σ(シグマ)という記号を使うときに添字(そえじ)として「i」を用いたりします。そこから「i」=「インデックス(index)の頭文字」という認識が広まり、「i」は“数を数える変数”として自然に使われるようになった歴史があるのです。
さらに、昔のプログラミング言語である「FORTRAN」(フォートラン)では、IやJで始まる変数は整数型として自動的に扱われていました。これが理由で、ループ用の変数として手軽に「i」が使われ始め、現在もその名残で教科書やサンプルコードに「i」が多用されているんですね。
「i」は“index”や“integer”の頭文字とされる説
「i」には特定の単語から取ったというはっきりした決まりはありませんが、主によく言われるのが以下の2つです。
- index(インデックス)
「i」はindexの頭文字とされます。たとえば、たくさんの数字が並んだ配列で「i番目」の数字を取り出すときなど、ループのカウント(数え上げ)にも使われます。 - integer(インテジャー)
integerというのは整数を表す英単語です。フォートランの昔のルールでは「I」から始まる変数は整数型として扱われることが多かったため、「i = 1, 2, 3…」とカウントしやすい、という背景もあります。
ちなみに、二重ループになると「j」や「k」を追加で使うケースも多いのですが、これは「i」の次にアルファベットが続くから…という程度で、それ以上の深い理由はありません。
ループ(繰り返し)のカウンターとして「i」が便利
プログラミングでは、「ループ(繰り返し処理)」がとても大事です。たとえば「1から10までの数字を全部足す」「同じ動作を100回繰り返す」といった処理は、プログラムにとって当たり前の作業。そこで、“今、何回目の繰り返しなのか”を表すための変数が必要になります。
- for文の例(Pythonっぽい書き方)pythonコピーする編集する
total = 0 for i in range(1, 11): # 1~10まで total = total + i print(total)
このように、i
が1から10まで順番に増えていきます。
こうしたループの仕組みを分かりやすくするために、長年「i」が採用されやすかったわけです。
「特別な意味はない」けど、慣習として定着
結論を言うと、「i」という変数名には“絶対コレ!という特別な意味”はありません。それでも、長いプログラミングの歴史の中で「i」という文字がループのカウンターに使われ続けてきたため、多くのサンプルコードで見かけるようになりました。
息子には「プログラムの世界では、昔から“i”っていう文字を使って数えるのが流行ってるんだよ」と説明し、ある程度納得してもらったので、そこから興味を広げて「インデックス(index)って言葉が由来だよ」と伝えてみました。理解してくれたかな…。
プログラミングの「i = i + 1」はどうして成立するの?
プログラミングのサンプルを見ていると、しばしば登場するのが「i = i + 1」という不思議な式。数学で考えると、「i = i + 1」は明らかにおかしいですよね。どうしてプログラミングの世界では、この式がOKなのでしょうか?
プログラミングにおける「=」は“イコール”ではなく「代入」
まず、プログラミングで使われる「=」という記号は、数学でいう「イコール」とは少し違うということです。数学では、「=」は“左右が同じである”ときに使う記号ですが、プログラミングでは“右の値を左の変数に入れる”という動作を示します。これを「代入」と呼びます。
- イメージ:
- i = i + 1 → 「右の
i + 1
を計算し、その結果を左のi
に入れ直す」 - もし最初の
i
が 5 なら、i + 1
は 6 だから、i
を 6 に変えるよ!
- i = i + 1 → 「右の
「i = i + 1」は数値を1つ増やして書き込む命令
では、実際に「i = i + 1」がプログラムの中で動く仕組みを、もう少し丁寧に説明しましょう。
- コンピュータは、まず右辺の「i + 1」を計算します。
- 計算結果を左辺の変数「i」に上書きします。
たとえば、はじめ「i」が0だったら、「i + 1」は1なので、新しいiは1になります。次のループでプログラムに行き着いた時には、今度は「i + 1」は2になり、iは2に更新される。こんなふうに“値を1つずつ増やす”ための表現として、多くの言語で「i = i + 1」が登場するのです。
なぜ「i += 1」ではなく「i = i + 1」を教えることが多い?
いくつかのプログラミング言語では、「i = i + 1」よりも「i += 1」の方がシンプルで読みやすい場合があります。「i++」と書く言語もあったりして、実は書き方はいろいろ。しかし、初心者向けの教材では「i = i + 1」が使われることも多いです。
これは、プログラミング初心者が「代入とはどういうものか?」を理解するために、あえて「i = i + 1」という形を示しているとも言えます。代入の概念をしっかり理解してもらうために、分解して見せるわけですね。
「おかしい」という感覚が芽生えるのも大事な一歩
息子が「i = i + 1って、おかしくない?」と感じたのは、ある意味正しいです。数学では成立しない式ですからね。ですが、それを「プログラミングでは“代入”って意味なんだ」と理解できると、プログラミング的思考の第一歩を踏み出したことになりますね。
- 数学:
- i = i + 1 → 左右が同じ数である必要があるから、成り立たない式。
- プログラミング:
- i = i + 1 → “
i + 1
の値”を計算して、“その結果”をi
に入れ直す命令。
- i = i + 1 → “
慣れれば当たり前だけど最初は戸惑ってOK
最終的に、「i = i + 1」という書き方は、プログラミング的には「iを1つ増やす命令」だと理解すれば問題ありません。これは、何か箱(i)を用意して、1つずつボールを増やしていくイメージを使うと分かりやすいかもしれません。
- 伝えるときのヒント
- 「数学では“=“は“同じ”って意味だけど、プログラミングでは“右のものを左に入れる”命令なんだよ。」
- 「だから今の
i
にもう1個たして、新しいi
として使うよ、ということなんだね。」
こうしたイメージで説明すると、納得してもらえるかなと思います。
【結論】i に特別な意味はないけどみんなが使うお約束
「プログラミング i 意味」をめぐる疑問をまとめてみました。
- プログラミングでの「i」は、ループカウンターや添字(インデックス)としてよく使われる
- 元は数学や昔の言語(FORTRAN)などの慣習からきている。
- 「index」「integer」の頭文字として連想されやすいため、歴史的に広まった。
- 「i = i + 1」は「右側の値を左側の変数に代入する」という処理
- 数学と違って、「=」はイコール(左右が等しい)ではなく「代入」を意味する。
- 小学生にとっては少し不思議に思えるけれど、プログラミングではごく当たり前の書き方。
- 本当は「i」じゃなくてもいい!でも、慣習としてみんなが使っている
- 自由に変数名をつけてもよいが、サンプルコードや教科書で「i」が出てくるのは昔からの伝統。
- プログラマ同士は「i」と書かれていると「ループカウンターかな?」とすぐわかるメリットがある。
わかりやすい伝え方ポイント
- 「i」には特別な意味があるわけじゃなくて、“数えるためにみんなが使ってきた文字”と教える。
- 「i = i + 1」は、プログラムの世界では“iに1を足してiに入れ直す”命令と伝える。
- 数学とプログラミングは少しルールが違うという前提を理解してもらう。
これらを押さえておくと、「なんでiって使うの?」と聞かれても答えやすくなります。
プログラミング i 意味が分かれば式の謎が解ける :まとめ
この記事のプログラミング「i」の意味・由来のポイントをまとめました。
- 数学・物理の影響:数を数える添字(そえじ)として「i」が使われることが多かった
- 「index」「integer」の頭文字:「i」はindex(インデックス)やinteger(整数)の略として認識されやすい
- FORTRANの歴史:古いプログラミング言語では「i」が整数型として扱われていた
- ループカウンターとして便利:「i」は繰り返し処理(ループ)でのカウンターとして使いやすい
- 「i = i + 1」は代入の命令:「iに1を足して、新しいiにする」というプログラムの基本処理
- 数学の「=」とは違う意味:「=」は左右が等しいのではなく、「代入」を意味する
- 初心者向けに「i = i + 1」を教える理由:「代入」の考え方を理解しやすくするため
- 必ず「i」を使わなくてもよい:慣習として使われているが、他の変数名もOK
- 「j」「k」もよく使われる:二重ループでは「j」、三重ループでは「k」を使うことが多い
- 数学とプログラムの違いを理解することが重要:最初は戸惑うが、プログラミングのルールを学ぶ第一歩