Это не объектная (буквальная) нотация, это , определяющая label
.
A label
может использоваться для присвоения циклической конструкции имени. Преимущество этого состоит в том, что вы можете создавать более мощные breaks;
или continues;
, ссылаясь на внешние циклы (по их меткам).
Обратите внимание , что структура программы, на которую вы ссылались, является:
search: while () {
for (;;;) {
}
}
... и автор использует continue search;
внутри цикла for
, чтобы продолжить выполнение цикла while.
Что касается того, что происходит в строке 18, if (n % i == 0)
использует оператор по модулю (%
) , чтобы получить остаток от деления n / i
и проверки, равен ли он 0.