% является оператором по модулю, поэтому для вашего примера i % comment.length()
разрешит до 2 % 4 = 2
. Это вернет третий символ (с индексом 2).
Операция по модулю представляется защитной для случаев, когда i >= comment.length()
.
Рассмотрим следующий случай: i = 11
и comment = "test"
.
Если вы просто используете comment.chatAt(i)
, вы получите исключение, поскольку в нем всего 4 символа. Операция по модулю обернет это и приведет к 11 % 4 = 3
и вернет четвертый символ (индекс 3) в этом случае.