Seriously, what is the purpose of this? Why would you ever want to do something that makes the code so unreadable. What do you expect from the result?
Result System.out.println( a [ (a = b)[3] ] ); linked to the order in which things are put on the evaluation stack.
- link to
- change the link stored in character a stored in b
- evaluated b [3] => 0
- print index 0 of the array to which the link was clicked at 1.), that is, the original a
so it prints the element at 0 of the original array a
System.out.println(a[0]); then just b[0]
source share