Java üç bökmek operatory goldaýar Operatory ulanmak
Java-daky operator
Wyklýuçatel jümlelerinde we aýlawlarynda ulanmakdan başga-da , Operatory ulanmak
Käwagt aýlawyň indiki gaýtalanmagyny ir başlamak peýdalydyr. .Agny, aýlawy ýerine ýetirmegi dowam etdirmeli, ýöne bu aýratyn gaýtalama üçin bedenindäki galan kodlary gaýtadan işlemegi bes etmeli. Aslynda, bu Operator
Iň soňky gözegçilik beýany
break
- continue
we return
. Dolandyryşy programmaňyzyň başga bir bölegine geçirýärler. Operatorlaryň hersine jikme-jik seredeliň.
Operatory ulanmakbreak
Java-daky operator break
üç ýagdaýda ulanylýar. Ilki bilen, öň görşüňiz ýaly, sözlem bölümlerinde jümleleriň yzygiderliligini tamamlaýar switch
. Ikinjiden, aýlawdan çykmak üçin ulanylyp bilner. Üçünjiden, şertsiz bökmek operatorynyň "siwilizlenen" görnüşi hökmünde ulanylyp bilner goto
. Bu bölüm soňky iki ýagdaýy düşündirýär. break
Aýlawdan çykmak üçin ulanyň Şertli break
aňlatmany we aýlaw korpusynda galan kodlary aýlap, aýlawy derrew bes etmäge mejbur edip bilersiňiz. Haçan-da bir aýlawyň içinde bir jümle break
gabat gelse, ikinjisi gutarýar we programma gözegçiligi onuň yzyndaky jümlä geçirilýär. Pleönekeý mysal:
// Использование break для выхода из цикла.
public class BreakLoop {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
if (i == 4) {
break; // завершить цикл, если i = 4
}
System.out.println("i: " + i);
}
System.out.println("Цикл завершен.");
}
}
Bu programma aşakdaky netijäni berýär:
i: 0
i: 1
i: 2
i: 3
Цикл завершен.
Bu aýlaw, for
beýannamalaryny 0-dan 99-a çenli ýerine ýetirmek üçin döredilen hem bolsa, operator break
4 ýaşymda ir işlemegine sebäp bolýar. Operator break
Java-yň islendik aýlawy, şol sanda bilkastlaýyn çäksiz aýlawlar bilen ulanylyp bilner. Mysal üçin, aşakda aýlaw ulanyp kodlanan öňki programma bar while
. Bu programmanyň çykyşy öňküsi bilen deňdir.
// Использование break для выхода из while-цикла.
public class BreakLoop2 {
public static void main(String[] args) {
int i = 0;
while (i < 100) {
if (i == 4) {
break; // закончить цикл, если i = 4
}
System.out.println("i: " + i);
i++;
}
System.out.println("Цикл завершен.");
}
}
Içindäki aýlawlaryň toplumynda ulanylanda, jümle break
diňe içki aýlawdan çykar. Mysal üçin:
// Использование break во вложенных циклах.
public class BreakLoop3 {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
System.out.print("Итерация " + i + ": ");
for (int j = 0; j < 10; j++) {
if (j == 4) {
break; // закончить цикл, если j = 4
}
System.out.print(j + " ");
}
System.out.println();
}
System.out.println("Цикл завершен.");
}
}
Bu programma aşakdaky netijäni berýär:
Итерация 0: 0 1 2 3
Итерация 1: 0 1 2 3
Итерация 2: 0 1 2 3
Цикл завершен.
Görşüňiz ýaly, break
içki aýlawdaky jümle diňe şol aýlawyň kesilmegine sebäp bolýar. Daşarky aýlaw täsir etmeýär. Geliň, ýene iki teswir edeliň break
. Birinjiden, aýlawda birnäçe jümle peýda bolup biler break
. Şeýle-de bolsa, seresap boluň. Olaryň köpüsi koduňyzy bozmaga ýykgyn edýärler. Ikinjiden, break
- operatory ýatyrýan switch
, diňe berlen switch
operatora täsir edýär (we ony öz içine alýan aýlawlar däl). Düşündiriş: Break
aýlawy bes etmegiň adaty serişdesi hökmünde döredilmedi. Bu maksat aýlaw sözbaşysynyň şertli aňlatmasy bilen üpjün edilýär. Operator break
diňe belli bir ýagdaý ýüze çykanda aýlawy döwmek üçin ulanylmaly.
break
Forma hökmünde ulanyňgoto
Wyklýuçatel jümlelerinde we aýlawlarynda ulanmakdan başga-da , break
diňe "medeniyetli" görnüşi hökmünde ulanylyp bilner goto
. goto
Java şahamçany özbaşdak we gurluşsyz ýerine ýetirýändigi üçin operatory öz içine almaýar . Güýçli ulanýan kod, goto
düşünmek we goldamak adatça kyn. Şeýle hem, käbir düzüji optimizasiýalary ýok edýär. Şeýle-de bolsa, programmada goto
gözegçilik akymynyň gymmatly we kanuny gurluş bolan birnäçe ýeri bar. Mysal üçin, goto
çuňňur höwürtgelenen aýlawlar toplumyndan çykanyňyzda peýdaly bolup biler. Şeýle ýagdaýlary çözmek üçin Java operatoryň giňeldilen görnüşini kesgitleýär break
. Ony ulanyp, bir ýa-da birnäçe kod blokundan çykyp bilersiňiz. Bu bloklar aýlawyň ýa-da jümläniň bir bölegi bolmaly däl switch
. Bu islendik blok bolup biler. Ondan soň, ýerine ýetirişiň nirede dowam etjekdigini anyklap bilersiňiz, sebäbi bu forma bellik bilen işleýär we kynçylyklaryndan geçip, break
peýdalaryny üpjün edýär . goto
Bellikli jümläniň break
aşakdaky umumy görnüşi bar: break label;
Ine label
, käbir kod blokyny kesgitleýän belligiň ady. Bu forma break
ýerine ýetirilende, gözegçilik atlandyrylan kod blokyndan (belligi bellikde görkezilen break
) şol blokdan soňky beýannama geçirilýär. Bellenen kod toplumy bu jümläni öz içine almalydyr break
, ýöne bu goşulmagyň gönüden-göni bolmagy talap edilmeýär (ýagny, break
öz belligi bilen bir blokda däl-de, içinde ýerleşdirilen blokda hem bolup biler) . Diýmek, break
öýjükli bloklaryň toplumyndan gaçmak üçin bellikli operatory ulanyp bilersiňiz. break
Aöne öz içine almaýan kod blokyny ulanyp bilmersiňiz break
. Blokyň adyny bellemek üçin blokyň başynda bellik goýuň (açylýan egri ýaýdan öň). Bellik, içegäniň yzyndaky islendik Java kesgitleýjisi. Blok bellik edilenden soň, onuň belligi operatora argument hökmünde ulanylyp bilner break
. Bu bellenen blokyň soňundan ýerine ýetirilişiň dowam etmegine sebäp bolar. Mysal üçin, aşakdaky programmada hersiniň öz belligi bolan üç sany öýjükli blok bar. Operator, iki operatordan geçip, break
bellik bilen bellenen blokyň ujundan öňe geçýär . second
println()
// Использование break How цивorзованной формы 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.");
}
}
}
Bu programmany işletmek aşakdaky netijäni berýär:
Перед оператором break.
Данный оператор размещен после блока second.
Bellikli operatoryň iň köp ulanylýanlaryndan biri, break
höwürtgelenen aýlawlardan gaçmakdyr. Mysal üçin, aşakdaky programmada daşarky aýlaw diňe bir gezek ýerine ýetirilýär:
// Использование break для выхода из вложенных циклов.
public class BreakLoop4 {
public static void main(String[] args) {
outer:
for (int i = 0; i < 3; i++) {
System.out.print("Итерация " + i + ": ");
for (int j = 0; j < 100; j++) {
if (j == 10) {
break outer; // выйти из обоих циклов
}
System.out.print(j + " ");
}
System.out.println("Эта строка никогда не будет выведена");
}
System.out.println("Цикл завершен.");
}
}
Programma aşakdaky netijäni berýär:
Итерация 0: 0 1 2 3 4 5 6 7 8 9 Цикл завершен.
Içki aýlaw daşarky daşy gutarmanka iki aýlawyň gutarmaýandygyny görmek aňsat. break
Berkidiji blok üçin kesgitlenmedik haýsydyr bir bellige böküp bilmejekdigiňizi ýadyňyzdan çykarmaň . Mysal üçin, aşakdaky programma nädogry we düzülmez:
// Эта программа содержит ошибку.
public class BreakErr {
public static void main(String[] args) {
one:
for (int i = 0; i < 3; i++) {
System.out.print("Итерация " + i + ": ");
}
for (int j = 0; j < 100; j++) {
if (j == 10) {
break one; //He верно!
}
System.out.print(j + " ");
}
}
}
Bellenen aýlaw jümläni öz içine almaýandygy sebäpli break
, dolandyryşy bu blokda geçirmek mümkin däl.
Operatory ulanmakcontinue
Käwagt aýlawyň indiki gaýtalanmagyny ir başlamak peýdalydyr. .Agny, aýlawy ýerine ýetirmegi dowam etdirmeli, ýöne bu aýratyn gaýtalama üçin bedenindäki galan kodlary gaýtadan işlemegi bes etmeli. Aslynda, bu goto
indiki beden amallaryndan aýlaw blokynyň ahyryna geçişdir. Bu amal operator tarapyndan ýerine ýetirilýär continue
. Aýlawlarda, operator while
we do while
operator continue
gözegçiligi aýlawy dolandyrýan şertli aňlatma gönüden-göni geçirilmegine sebäp bolýar. Dolandyryşda, for
dolandyryş ilki sözlemiň gaýtalanýan bölegine for
, soňra bolsa şertli aňlatma geçýär. Üç aýlawyň hemmesi üçin islendik aralyk kody aýlanýar. Her setirde iki san çap etmek üçin ulanýan mysal programmasy continue
aşakda berilýär:
// Демонстрирует continue.
public class Continue {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.print(i + " ");
if (i % 2 == 0) {
continue;
}
System.out.println("");
}
}
}
%
Bu kod, hatda bir zadyň bardygyny ýa-da ýokdugyny barlamak üçin amaly (modulo) ulanýar i
. Şeýle bolsa, aýlaw täze setir belgisini çap etmezden dowam edýär. Programmanyň çykyşy:
0 1
2 3
4 5
6 7
8 9
Operatorda bolşy ýaly break
, continue
haýsy aýlaw aýlawynyň dowam etjekdigini görkezýän belligi kesgitläp bilersiňiz. continue
0-dan 9-a çenli üçburçluk köpeltmek tablisasyny çap etmek üçin ulanylýan mysal programmasy .
// Использование continue с меткой.
public class ContinueLabel {
public static void main(String[] args) {
outer:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (j > i) {
System.out.println();
continue outer;
}
System.out.print(" " + (i * j));
}
}
System.out.println();
}
}
Bu mysaldaky jümle, continue
aýlawyň bahalandyrylmagyny tamamlaýar j
we sürülýän aýlawyň indiki gaýtalanmagy bilen dowam edýär i
. Bu programmanyň netijesi:
0
0 1
0 2 4
0 3 6 9
0 4 8 12 16
0 5 10 15 20 25
0 6 12 18 24 30 36
0 7 14 21 28 35 42 49
0 8 16 24 32 40 48 56 64
0 9 18 27 36 45 54 63 72 81
Örän seýrek peýdalydyr continue
. Munuň bir sebäbi, Java programmalaryň köpüsine laýyk gelýän köp aýlawly jümleleri hödürleýär. Şeýle-de bolsa, gaýtalama möhletini ir ýatyrmak zerur bolan aýratyn ýagdaýlar üçin beýannama continue
bu meseläni ýerine ýetirmegiň gurluşly usulyny üpjün edýär.
Operatorreturn
Iň soňky gözegçilik beýany return
. Bir usuldan aç-açan gaýdyp gelmek üçin ulanylýar, ýagny programma gözegçiligini çagyryş programmasyna geçirýär. Operator return
geçiş operatory hökmünde klassifikasiýa edilýär. Doly ara alyp maslahatlaşmak usullary ara alnyp maslahatlaşylýança garaşmaly bolsa-da, bu ýerde gysgaça syn berilýär return
. Operator, return
usuly çagyrýan programma gaýdyp barmak üçin islendik ýerde ulanylyp bilner. Beýannama return
içindäki usulyň ýerine ýetirilişini derrew tamamlaýar. Aşakdaky mysal muny görkezýär:
// Демонстрирует return.
public class Return {
public static void main(String[] args) {
boolean t = true;
System.out.println("Перед оператором return.");
if (t) {
return; // возврат в вызывающую программу
}
System.out.println("Этот оператор никогда не выполнится.");
}
}
Bu return
iş wagty Java ulgamyna gaýdyp gelýär, sebäbi jaň edýän ulgam main()
. Bu programmanyň netijesi:
Перед оператором return.
println()
Soňky jümläniň ýerine ýetirilmeýändigini görüp bilersiňiz . Executionerine ýetirilende return
gözegçilik jaň programmasyna geçirilýär. Soňky bellik. Öňki programmada if
(t) operator zerur. println()
Şeýle bolmasa, Java düzüjisi "ýetip bolmaýan kod" ýalňyşyny atar, sebäbi soňky sözlemiň hiç haçan ýerine ýetirilmejekdigini bilerdi . Bu ýalňyşlygyň öňüni almak üçin (t) operatory ulanylýar if
; bu görkeziş üçin düzüjini aldaýar. Asyl çeşmä baglanyşyk: Geçiş operatorlary
GO TO FULL VERSION