aspose file tools*
The moose likes Beginning Java and the fly likes array assignment within the FOR statement Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "array assignment within the FOR statement " Watch "array assignment within the FOR statement " New topic
Author

array assignment within the FOR statement

Alex Ku
Ranch Hand

Joined: Jan 15, 2002
Posts: 47
hi,

The code above has following output:
0:0
1:0
2:0
3:0
4:0
5:0
6:0
7:0
8:0
9:0
However, if the code is changed to this:
(print out the result in another for-loop

The output is:
0:1
1:2
2:3
3:4
4:5
5:6
6:7
7:8
8:9
9:10
Why???
Thanks
kawaii
Shivaji Marathe
Ranch Hand

Joined: Jan 11, 2002
Posts: 203
The last part of the for loop ( the one after the second semicolon ) is executed after each iteration of the loop, not before.
In the first example the assignment to i and the comparison happen before the println statements and the assignment to the array happen after each iteration.
In the second example the print statements are executed in a separate for loop, that executes after the first one is complete and therefore all the assignments to the array are complete.
HTH
Dave Vick
Ranch Hand

Joined: May 10, 2001
Posts: 3244
Kawaii
In your first example keep in mind that the increment part of the for loop is executed at the end of the loop.

When the first println is reached i is still 0, then at the end of the for loop, right after the println, the value of nArray[0] is set to 1 then it loops again. Now i is 1 and the value of nArray[1] is still 0 (the default), and so on. You are always printing the value of the element you ahven't reached yet.
In your second example you first loop through and assign all of the array elements a value then you print out the values.

hope that helps
[ March 11, 2002: Message edited by: Dave Vick ]

Dave
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: array assignment within the FOR statement