русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метки и инструкции break() и continue()


Дата добавления: 2015-06-12; просмотров: 756; Нарушение авторских прав


 

Это лирическое отступление пора бы заканчивать.

Из к/ф «Гараж»

 

В Java, в отличие от языка С++, нет инструкции перехода goto(). Тем не менее в Java могут использоваться метки. Обычно для этого применяют инструкции break() и continue().

С инструкцией break() мы уже сталкивались. В общем случае она завершает ра- боту инструкции цикла или инструкции выбора. Если после инструкции break() указать метку, то управление передается команде, размещенной за помеченной этой меткой инструкцией цикла, выбора или блоком команд (напомним, блок команд заключается в фигурные скобки).

Инструкция continue() используется для завершения текущего цикла в инструк- ции цикла и переходу к выполнению следующего цикла. Если после инструк- ции continue() указать метку, то выполняется переход для выполнения итерации помеченного меткой внешнего цикла. Таким образом, инструкция continue() с меткой применяется только тогда, когда имеются вложенные циклы.


 

Что касается непосредственно меток, то в качестве метки применяется иден- тификатор, который не может начинаться с цифры, заканчивается двоеточием и предназначен для выделения места в программном коде. Никакого дополни- тельного описания метка не требует.

Пример использования меток приведен в листинге 2.13.

 

Листинг 2.13.Использование меток

class LabelsDemo{

public static void main(String[] args){

MyLabel:

for(int i=1;i<=100;i++){ for(int j=1;j<=100;j++){ if(i!=j) continue; if((j%3==0)||(i%2==0)) break; if(i+j>20) break MyLabel; System.out.println(i+":"+j);}

}}}

В программе имеется блок из вложенных инструкций цикла. В каждом цикле индексная переменная пробегает значения от 1 до 100 включительно. Внешняя инструкция цикла помечена меткой MyLabel.

В теле внутреннего цикла размещено три условных инструкции и команда System.out.println(i+":"+j), предназначенная для вывода текущих значений ин- дексных переменных i и j для вложенных инструкций цикла. В первой услов- ной инструкции проверяется условие i!=j. Если индексные переменные прини- мают разные значения, командой continue досрочно завершается текущий цикл внутренней инструкции. В результате действия такого «фильтра» на экран вы- водятся только одинаковые значения индексных переменных, да и то не все. Преградой служат вторая и третья условные инструкции. Так, во второй услов- ной инструкции проверяется условие (j%3==0)||(i%2==0). Оно истинно, если ин- дексная переменная j делится на 3 или индексная переменная i делится на 2. В этом случае командой break досрочно завершает работу внутренняя инструкция цикла. Внешняя индексная переменная увеличивается на единицу, и внутренняя инструкция цикла запускается снова. Наконец, если выполнено условие i+j>20 (третья условная инструкция), командой break MyLabel выполняется досрочное завершение блока команд, помеченных меткой MyLabel, то есть в данном случае завершается работа внешней инструкции цикла. Результат выполнения про- граммы имеет вид:



1:1

5:5

7:7

На экран выводятся пары одинаковых индексов, которые не делятся на 3 и 2 и сумма которых не превышает 20.

 



<== предыдущая лекция | следующая лекция ==>
Инструкция do-while() | Создание одномерного массива


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.132 сек.