2012-04-17 85 views
4

可能重複:
Why are we using i as a counter in loops?
Why are variables 「i」 and 「j」 used for counters?Java的爲什麼對使用I,J

這可能看起來愚蠢,但是爲什麼大家都用我(如果我已經在使用,然後j)進行循環檢查?

方式:

for(int i = 1;i <= 5;i++){ 
for(int j = 1;j <= i;j++){ 
System.out.print(i); 
} 

爲什麼i和j?我們可以使用第一和第二嗎? Check this, all (9 out of 10) uses i, j.爲什麼?任何理由或只是做,因爲每個人都這樣做?

+0

行..所以,答案是,這是一個傳統來自MATH,PHYSICS和FORTRAN。 :) – Arpssss 2012-04-17 17:19:57

+1

一個很好的答案在這裏:http://stackoverflow.com/a/454413/66686 – 2012-04-17 18:39:06

回答

13

這個編程約定已經存在很長時間了,可能會一直回到Fortran。在Fortran 77中,以字母I,J,K,L,M或N開頭的變量被認爲是INTEGER(除非另有明確聲明)。這使得它們非常適合成爲循環變量。

當然,i,j等已經用於數學中,表示矩陣/向量/求和指數的時間遠遠長於計算機已存在的時間。

+2

和i&j在數學中用於索引的事實可能是Fortran約定的原因。 – 2012-04-17 18:16:15

+0

@Jens Schauder:絕對正確:) – paulsm4 2012-06-19 20:03:56

3

易於閱讀的簡單變量名稱。此外,它的歷史可以追溯到以K + R的C天

3

,我認爲它是發現這樣一個事實:iintegerindex的第一個字母簡單原點的習慣。

3

ij在進行矩陣乘法和求和時常用於線性代數。 iindex的簡稱。和j按字典順序與i相鄰。

現在它已經建立起來了,我不會使用任何其他的東西,以免編程神給你帶來痛苦。

2

我和j也用於數學和物理。我通常是笛卡爾x軸基本單位矢量的符號,而j用於笛卡爾y軸基本單位矢量。

3

i代表指數 Ĵ來後,我..

所以它很容易記住和處理

這就是爲什麼我們使用序列I,J,K,L ... ..

相關問題