[ ] priority is highest (anyway is higher than +). But in RHS of expression below the first (leftmost) summand (i) is evaluated before the second summand arr1[i++], because i++ of arr1[i++] does not influence value of the first (leftmost) summand (i which is 1 and not changed).
I cannot strictly explain why higher priority [ ] is not evaluated first.
int[] arr = { 0, 0, 0 };
int i = 1;
i = i + arr[i++] + arr[i++];
System.out.println(i); // output is zero