# i j k variable names

• 10-10-2006
swgh
i j k variable names
Am I correct in the face programmers use I J and K as variable names for for loops since the FORTRAN language? Was the language designed to accept only these variables?
• 10-10-2006
twomers
I use i, j, k out of habit, and always assumed i stood for iterator or something and that j and k followed suit alphabetically. I don't know about the fortran link ... but I couldn't see any language accepting only three variables!
• 10-10-2006
System_159
If the variables are loop specific, then I use i,h,j, and k mostly. i is just for interger/iterator really, the others are just near it in the alphabet.
• 10-10-2006
Perspective
Check any math book/paper, you'll see i, j, and k are pseudo standards for indices on summations, integrals, etc... I'm pretty sure math predates computers.
• 10-10-2006
Wraithan
I am with Perspective, it has been in math for a lot longer than computers have been around.

One reason you see a lot of it though, is habbit, some programmers who are newer, or even ones that have been doing it for a while, learned to use i in loops, and if you have nested loops j, k, and so on.

I don't even think about it anymore, when I go to do a for loop or while loop

Code:

```for(int i = 0; i < value; i++) {   int j = 0;   while(j < 100) {     /*stuff that changes j in more/less than +1 per loop */   } }```
• 10-10-2006
Pobega
I've never even heard of people using i, j and k as variables for anything. I'm used to seeing variable names like count or x for loops.
• 10-10-2006
psychopath
I've seen names like 'idx' or 'iter' used occasionally, but usually i, j, k, etc.
• 10-10-2006
pianorain
I use i, j, k on the first pass. After that, I'll substitute a more meaningful name so that I don't have to wonder why I've got i+j*60 somewhere in my code.
• 10-10-2006
CornedBee
Agree with those that say it comes from mathematics, and want to add that 'i' derives from index, not integer or iterator.
• 10-10-2006
Mario F.
I use i, j, k for iterations or simple short lived flag-like variables when it makes sense. To me. Which probably not always makes sense to others. I'm also known to use n and m. Usually when I want to convey limits on dimensions or sizes
• 10-11-2006
Rennor
As a beginner I used to use x mostly and then y and z. When starting to write some 2D gfx effects those quickly changed to i, j and k since x,y and z are for coordinates :)

Then the mixture was complete, sometimes i, j and k were just for looping, sometimes they represented "temporary" variables where x = i, y = j and z = k.

Go figure.

Nowadays I use only i when I try out something quickly, if I need more variables they usually come out with proper names. Being professional and responsible for quality makes me automatically name everything and comment them properly according to our styleguides :)
• 10-11-2006
swoopy
Quote:

Originally Posted by swgh
Am I correct in the face programmers use I J and K as variable names for for loops since the FORTRAN language? Was the language designed to accept only these variables?

By my thinking, you are correct. In FORTRAN, variables that begin with the letters I thru N are by default of type INTEGER. Variables that begin with any other letter are by default REALs. So you can see how this would have led to using I, J, and K for for-loop indices.
• 10-12-2006
maxorator
I usually use I, N and E. I don't know why.
• 10-12-2006
dwks
I use x, y, and z (and a, b, c etc if required). If I need to use coordinates, I use xp, yp, etc (for X-position, Y-position). I don't know why, either.