The first instruction is the correct way to iterate through the elements of an array, in a cyclic fashion. In fact it works, as you’ve said.
The second one, however, is wrong (I think that you’re trying to use it to iterate throught the array in a counterclockwise order): when you decrement the first index, you’ll obtain “0”. The “%” operator on “0” gives “0” as a result, but that’s not a legal index for an array. This way, you get the exception.
I don’t think that’s possible to use such an “elegant” way for the counterclockwise iteration of an array. Just use a normal decrement of the index, and add a test to verify if you’ve reach the beginning of the array: in that case, you’ll assign “aaList.lenght” to “aa”.