I am new to java. I had a doubt.
class ArrTest{
public static void main(String args[])
{
int i = 0;
int[] a = {3,6};
a[i] = i = 9;
System.out.println(i + " " + a[0] + " " + a[1]); // 9 9 6
}
}
This is another good example the great Java evaluation rule applies.
Java resolves the addresses from left to right. a[i]
which is the address of a[0]
, then i which is the address of i, then assign 9 to i, then assign 9 to a[0]
.
IndexOutOfBoundsException
will never be throw since a[0]
is not out of bound.
The misconception is a[9]
, which is against the left-to-right-rule
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With