что делает двоеточие вне метода foreach в java?

135
15 апреля 2022, 19:10

Когда я ставлю двоеточие после любого слова, которое даже не является какой-то переменной, код принимает это. Допустим, если напишу "gjsdlg:" gjsdlg не будет гореть красным в IDE. Что именно делает это двоеточие?

Answer 1

Думаю как правильно указали вам в комментариях - это оператор метка оператора безусловного перехода.

Метка — это любой допустимый идентификатор Java, за которым следует двоеточие. После маркировки блока, его метку можно использовать как аргумент оператора break. Это приведет к тому, что выполнение будет продолжено с конца помеченного блока. Например, следующая программа содержит три вложенных блока, причем каждый имеет свою собственную метку. Оператор break осуществляет переход вперед, за конец блока, маркированного меткой second, пропуская два оператора println().

// Использование break как цивилизованной формы goto.
public class Break {
  public static void main(String[] args) {
    boolean t = true;
    first:
    {
      second:
      {
        third:
        {
          System.out.println("Перед оператором break.");
          if (t) {
            break second; 
// выход из блока second
          }
          System.out.println("Данный оператор никогда не выполнится");
        }
        System.out.println("Данный оператор никогда не выполнится ");
      }
      System.out.println("Данный оператор размещен после блока second.");
    }
  }
}
READ ALSO
Показать ошибку нет интернета используя Retrofit 2 и RxJava

Показать ошибку нет интернета используя Retrofit 2 и RxJava

для получения данных с сервера использую вот такой запрос:

174
Выборка данных из нескольких таблиц в Hibernate

Выборка данных из нескольких таблиц в Hibernate

Как запросом получить данные из двух таблиц? Есть классы Patient и Service

133
spring обновление данных чере sql и через jpa

spring обновление данных чере sql и через jpa

обновляю данные через sql всё просто находим запись и делаем инкремент

131
Один BufferedReader и Random на несколько классов

Один BufferedReader и Random на несколько классов

Пишу программу для формирования пароля и угадывания слова пользователя путём перебора случайных символов из алфавитаПользователь определяет...

141