int start = ...
for (int i = 0; i < a.length; i++) {
System.out.println(a[(start + i) % a.length]);
}
(Если вы хотите перебрать массив в обратном направлении от start
, измените start + i
на start - i
в выражении индекса массива.)
Я должен отметить, что это, вероятно, не самый эффективный способ выражения цикла ... с точки зрения скорости выполнения. Однако разница невелика и скорее всего не имеет значения .
Более важным моментом является то, дает ли использование %
таким образом более читаемый код. Я думаю, что это так, но, возможно, это потому, что я видел / использовал эту идиому раньше.