ПредишенСледващото

оператори в преход

Java поддържа три преход оператор - почивка, продължи, и да се върне. Те минават контрол в друга част на вашата програма. Нека разгледаме по-подробно на всеки от операторите.

Използване на отчета за почивка


изявление Break в Java се използва в три случая. На първо място, както видяхте, той завършва поредица от изявления в изявление превключвател клонове. На второ място, той може да се използва за излизане от цикъла. На трето място, той може да се използва като "цивилизован" форма на оператор безусловно скок Иди на. Този раздел обяснява двете неотдавнашните случаи.
Използване на почивка, за да излезете контура
Използването на почивката. можете да сила незабавно цикъл изключване, заобикаляйки условния израз и всички останали код в тялото на цикъла. Когато изявление почивка се срещат в рамките на цикъла, на втория край и преминава контролните програма на изложението следва.
Един прост пример:

Тази програма генерира следния изход:

Въпреки предназначена за линия тук, за да отговори на техните оператори от 0 до 99 пъти, отчет за почивка го прави завършен по-рано, когато се е равно на 4.
Отчетът за почивка може да се използва с всеки от бримките на Java, включително умишлено безкрайни цикли. Например, по-долу показва предишната програма, кодирана с помощта на докато линия. Изходът от тази програма е същата като своя предшественик.

Когато се използва в рамките на набор от вложени цикъла, отчета за почивка ще се издава само от най-вътрешния цикъл.
Например:

Тази програма генерира следния изход:

Както можете да видите, отчета за спиране на вътрешния цикъл е само за приключването на този цикъл. Външният контур не е засегната. Да направим още две коментари за почивка. На първо място, в един цикъл, може да получите няколко оператори се счупят. Все пак, бъдете внимателни. Твърде голям брой от тях има тенденция да се пристъпи към събаряне на кода си. На второ място, се е разпаднала. който завършва изявлението на ключ. само се отразява на ключ-оператор (но не включително нейните цикли).

забележка:
Break не е проектиран като нормално завършване на цикъла означава. Това служи за условен глава експресия цикъл. Отчетът за почивка трябва да се използва за прекъсване на цикъла, само ако има някои специални ситуации.

Използването на почивка като форма на Гото


В допълнение към използването на ключ цикли и изявление почивка може да се използва отделно като "цивилизован" форма на отчета за Гото. Java не съдържа изявление Гото. защото той се придвижва случаен и неструктуриран начин. Кодът използва все Гото. то обикновено е трудно да се разбере и поддръжка. Той също така отменя някои оптимизации на компилатора. Все пак, има няколко места в програмата, където Гото - ценен и законен изпълнение на структура за контрол на потока. Например, Гото може да бъде полезно, когато излезе от дълбоко вложени набор от цикли. За да се справят с такива ситуации, Java дефинира едно разширено форма на отчета за почивка. С него можете да получите от един или повече блокове от код. Тези блокове не трябва да бъде част от изявление на верига или суич. Това може да бъде всяко устройство. Освен това, може да се определи къде точно изпълнение ще продължи, тъй като тази форма на почивка работа с етикета и осигурява предимствата на Гото. избягване на проблемите си. В изявление почивка с етикет има следната обща форма:
пробие етикет;
Тук етикета - името на етикета, който идентифицира определен блок от код. При изпълнение на тази форма на почивка, контрол се прехвърля от името код блок (чийто етикет съдържа разбивка изявление) към следващата цифра на този оператор. Маркирано блок от код трябва да включва това твърдение почивка. но не е задължително, че това е включването на директна (т.е.. д. пробие твърдение не може да се включи директно в блок с неговия лейбъл, и в единицата, инвестирани в него, може би прекалено маркирани). Това означава, че можете да използвате етикетирани изявление почивка. за да излезете от снимачната площадка на вложени блокове. Но вие не сте в състояние да използват почивката за контрол на единица за предаване на код, който не съдържа изявление почивка.
За именуване блок знак постави в началото (преди единица скоба за отваряне). Tag - е всеки валиден идентификатор Java, следван от двоеточие. След маркиране на блока, негов етикет, може да се използва като аргумент, за да се прекъсне. Това ще доведе до факта, че изпълнението ще продължи от края на маркиран блок. Например следната програма съдържа три под-блокове, всеки има свой собствен етикет. изявление Break прави преход напред, за края на блока, маркирани с втория. прескочи два оператора println ().

Изпълнение на тази програма дава следния изход:
Преди почивката на оператора.
Това твърдение се поставя след втория блок.

Един от най-честите приложения на етикет отчета за почивка е изход от вложени цикли. Така например, в следната програма, външният контур се изпълнява само веднъж:

Програмата генерира следния изход:


Тя лесно се вижда, че когато вътрешният цикъл е прекъснат преди края на външния край и в двата цикъла.
Имайте предвид, че не можете да направите пауза възел на всеки етикет, който не е определен за блока ограден. Например следната програма не е валиден и няма да се събират:

Тъй като цикълът е маркиран, като на човек, не съдържа изявление почивка. прехвърляне контрол тази единица невъзможно.

Използвайки продължи изявление


Понякога е полезно да се започне следващата итерация на цикъла по-рано. Това е необходимо за продължаване на цикъла, но остатъка преработвателната стоп код в тялото му за тази итерация лично. В действителност това е - Отидох в следващото кръстовище покрай тялото на операции в края на единица цикъл. Такова действие изпълнява продължи изявление. В цикъла, докато и направя, докато продължи изявление предизвиква прехвърляне на контрола директно условен израз, който контролира цикъла. Цикълът за работата отива на първата итерация частта за оператора и след това да условния израз. За всички три цикъла на всеки междинен код е прескочена.
Пример за програма, която използва продължи да отпечатате две числа на всеки ред са изброени по-долу:

Този код се използва за дейността% (остатък по модул), за да се провери, ако аз дори. Ако е така, цикълът продължава без отпечатване на нов ред характер (нов ред).
Програма Изход:


Както и с отчета за почивка. може да продължи да се дефинира етикет с надпис, който трябва допълнително включващ цикъл. Пример за програма, която използва продължи печат триъгълни таблицата за умножение 0-9.

продължи оператор в този пример завършва цикъла, изчислява й, и продължава със следващия цикъл итерация, управляван аз. Изходът от тази програма:


Използването продължи рядко полезен. Една от причините за това е, че Java предоставя богат набор от оператори цикъл, които отговарят на повечето приложения. Въпреки това, за тези специални ситуации, в които трябва да се предсрочно прекратяване на повторение, продължи изявление осигурява структурна начин да се изпълни тази задача.

декларация за връщане

Върнете се тук, се връща в Java-системата по време на изпълнение, т. To. Именно тази система води до основен метод ().

Изходът от тази програма:

Може да се отбележи, че окончателното изявление println () не се изпълнява. При осъществяване на контрола връщане се подава обратно към програмата за разговори.
Един последен бележка. В предишната програма, е необходимо операторът ако (т). Без него, Java-компилаторът ще издаде съобщение за грешка "недостижим код", защото той щеше да знае, че изявлението миналата println () никога няма да бъде изпълнена. За да се избегне тази грешка, просто използвайте оператора, ако (т) той мами компилатор за тази демонстрация.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!