Jawa ndhukung telung operator lompat - Nggunakake operator
Operator Gunakake
Saliyane digunakake ing statement switch lan puteran, Nggunakake operator
Kadhangkala migunani kanggo miwiti pengulangan sabanjure saka daur ulang luwih awal. Yaiku, sampeyan kudu terus nglakokake daur ulang, nanging mandheg ngolah kode liyane ing awak kanggo pengulangan tartamtu iki. Nyatane, iki minangka Operator
Pranyatan kontrol pungkasan yaiku
break
, continue
lan return
. Dheweke nransfer kontrol menyang bagean liyane saka program sampeyan. Ayo nimbang saben operator kanthi rinci.
Nggunakake operatorbreak
Operator break
ing Jawa digunakake ing telung kasus. Pisanan, kaya sing wis sampeyan deleng, iki mungkasi urutan statement ing cabang statement switch
. Kapindho, iku bisa digunakake kanggo break metu saka daur ulang. Katelu, bisa digunakake minangka wangun "beradab" saka operator lompat tanpa syarat goto
. Bagian iki nerangake rong kasus pungkasan. Gunakake break
kanggo metu saka daur ulang Kanthi nggunakake break
, sampeyan bisa meksa daur ulang kanggo siksa langsung, bypassing expression kondisional lan kode isih ing awak daur ulang. Nalika statement break
ditemoni ing daur ulang, sing kapindho rampung lan kontrol program ditransfer menyang statement sing ngetutake. Tuladha prasaja:
// Использование 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("Цикл завершен.");
}
}
Program iki ngasilake output ing ngisor iki:
i: 0
i: 1
i: 2
i: 3
Цикл завершен.
Senajan daur ulang for
dirancang kene kanggo nglakokaké statements saka 0 kanggo 99 kaping, operator break
nimbulaké siksa awal nalika i 4. Operator break
bisa digunakake karo sembarang puteran Jawa, kalebu puteran sengojo tanpa wates. Contone, ing ngisor iki program sadurunge dikode nggunakake loop while
. Output program iki padha karo sing sadurunge.
// Использование 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("Цикл завершен.");
}
}
Nalika digunakake ing sakumpulan puteran nested, statement break
mung bakal metu saka loop paling jero. Tuladhane:
// Использование 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("Цикл завершен.");
}
}
Program iki ngasilake output ing ngisor iki:
Итерация 0: 0 1 2 3
Итерация 1: 0 1 2 3
Итерация 2: 0 1 2 3
Цикл завершен.
Nalika sampeyan bisa ndeleng, statement break
ing daur ulang utama mung nyebabake loop kasebut mandheg. Lingkaran njaba ora kena pengaruh. Ayo kita nggawe rong komentar liyane babagan break
. Kaping pisanan, macem-macem statement bisa katon ing loop break
. Nanging, ati-ati. Kakehan sing cenderung ngrusak kode sampeyan. Kapindho, ing break
, kang terminates ing - operator switch
, mengaruhi mung diwenehi switch
- operator (lan ora puteran sing kalebu). Komentar: Break
ora dirancang minangka cara normal kanggo mungkasi loop. Tujuan iki diwenehake dening ekspresi kondisional header loop. Operator break
kudu mung digunakake kanggo break daur ulang nalika ana kahanan khusus tartamtu.
Gunakake break
minangka wangungoto
Saliyane digunakake ing statement switch lan puteran, break
uga bisa digunakake piyambak minangka wangun "beradab" saka goto
. Jawa ora ngemot operator goto
amarga nindakake cabang kanthi cara sing sewenang-wenang lan ora terstruktur. Kode sing nggunakake .intensif goto
biasane angel dimangerteni lan dijaga. Iku uga overrides sawetara optimizations compiler. Nanging, ana sawetara panggonan ing program sing goto
aliran kontrol minangka konstruksi sing sah lan sah. Contone, goto
bisa migunani nalika sampeyan ngeculake set puteran sing akeh banget. Kanggo nangani kahanan kaya mengkono, Jawa nemtokake wangun lengkap operator break
. Nggunakake, sampeyan bisa metu saka siji utawa luwih blok kode. Pamblokiran iki ora perlu dadi bagéan saka loop utawa statement switch
. Iki bisa dadi blok apa wae. Sabanjure, sampeyan bisa nemtokake persis ing ngendi eksekusi bakal diterusake amarga formulir iki break
bisa digunakake kanthi tandha lan menehi keuntungan saka goto
, ngliwati masalah kasebut. A break
statement labeled wis wangun umum ing ngisor iki: break label;
Punika label
jeneng label sing ngenali sawetara pemblokiran kode. Nalika formulir iki break
dieksekusi, kontrol ditransfer saka blok kode sing dijenengi (sing label kasebut ditemtokake ing statement break
) menyang statement sawise blok kasebut. Blok kode sing ditandhani kudu kalebu statement iki break
, nanging ora diwajibake yen inklusi iki langsung (yaiku, break
bisa uga ora langsung dilebokake ing blok kanthi label dhewe, nanging ing blok bersarang, bisa uga ditandhani. ). Iki tegese sampeyan bisa nggunakake operator sing ditandhani break
kanggo uwal saka set pamblokiran nested. Nanging sampeyan ora bisa nggunakake break
blok kode sing ora kalebu break
. Kanggo menehi jeneng blok, pasang label ing wiwitan blok (sadurunge bukaan kurung kriting). Label yaiku sembarang pengenal Jawa sing sah diikuti titik loro. Sawise menehi label blok, label kasebut bisa digunakake minangka argumen kanggo operator break
. Iki bakal nyebabake eksekusi terus saka mburi blok sing ditandhani. Contone, program ing ngisor iki ngemot telung blok nested, saben duwe label dhewe. Operator break
maju, ngluwihi mburi blok sing ditandhani label second
, ngliwati rong operator 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.");
}
}
}
Mbukak program iki ngasilake output ing ngisor iki:
Перед оператором break.
Данный оператор размещен после блока second.
Salah sawijining panggunaan sing paling umum saka operator sing diwenehi label break
yaiku kanggo uwal saka puteran nested. Contone, ing program ing ngisor iki loop njaba dieksekusi mung sapisan:
// Использование 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("Цикл завершен.");
}
}
Program ngasilake output ing ngisor iki:
Итерация 0: 0 1 2 3 4 5 6 7 8 9 Цикл завершен.
Iku gampang kanggo ndeleng yen puteran njero diselani sadurunge mburi njaba, loro puteran mungkasi. Elinga yen sampeyan ora bisa nindakake break
-mlumpat menyang label sing ora ditetepake kanggo pemblokiran enclosing. Contone, program ing ngisor iki ora sah lan ora bakal dikompilasi:
// Эта программа содержит ошибку.
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 + " ");
}
}
}
Amarga daur ulang sing ditandhani ora kalebu statement break
, ora bisa nransfer kontrol menyang blok iki.
Nggunakake operatorcontinue
Kadhangkala migunani kanggo miwiti pengulangan sabanjure saka daur ulang luwih awal. Yaiku, sampeyan kudu terus nglakokake daur ulang, nanging mandheg ngolah kode liyane ing awak kanggo pengulangan tartamtu iki. Nyatane, iki minangka goto
transisi liwat operasi awak sabanjure menyang mburi blok loop. Tindakan iki ditindakake dening operator continue
. Ing puteran, operator while
lan nyebabake kontrol ditransfer langsung menyang ekspresi kondisional sing ngontrol loop. Ing daur ulang, kontrol liwati dhisik menyang bagean iteratif saka statement lan banjur menyang ekspresi kondisional. Kanggo kabeh telung puteran, sembarang kode penengah dilewati. Conto program sing digunakake kanggo nyithak rong nomer ing saben baris diwenehi ing ngisor iki: do while
continue
for
for
continue
// Демонстрирует 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("");
}
}
}
Kode iki nggunakake operasi %
(modulo) kanggo mriksa apa ana sing i
malah. Yen mangkono, loop terus tanpa nyetak karakter baris anyar. Output program:
0 1
2 3
4 5
6 7
8 9
Kaya operator break
, continue
sampeyan bisa nemtokake label sing nuduhake loop sing bakal diterusake. Program conto sing digunakake continue
kanggo nyithak tabel perkalian segitiga saka 0 nganti 9.
// Использование 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();
}
}
Ing statement continue
ing conto iki ends daur ulang ngevaluasi j
, lan terus karo pengulangan sabanjuré daur ulang mimpin dening i
. Output saka program iki:
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
Iku arang banget migunani continue
. Salah sawijining alesan kanggo iki yaiku Jawa nyedhiyakake pirang-pirang pernyataan looping sing cocog karo umume aplikasi. Nanging, kanggo kahanan khusus sing kudu mungkasi pengulangan luwih awal, pratelan kasebut continue
nyedhiyakake cara terstruktur kanggo ngrampungake tugas iki.
Operatorreturn
Pranyatan kontrol pungkasan yaiku return
. Iki digunakake kanggo kanthi tegas bali saka cara, yaiku, transfer kontrol program bali menyang program panggilan. Operator kasebut return
diklasifikasikake minangka operator transisi. Sanajan diskusi lengkap kudu ngenteni nganti metode kasebut dibahas, ringkesan ringkes diwenehake ing kene return
. Operator return
bisa digunakake ing ngendi wae ing cara kanggo mlumpat bali menyang program nelpon cara. Pernyataan kasebut return
langsung mungkasi eksekusi metode kasebut. Conto ing ngisor iki nggambarake iki:
// Демонстрирует return.
public class Return {
public static void main(String[] args) {
boolean t = true;
System.out.println("Перед оператором return.");
if (t) {
return; // возврат в вызывающую программу
}
System.out.println("Этот оператор никогда не выполнится.");
}
}
Iki return
bali menyang sistem Jawa nalika runtime, amarga iku sistem sing nelpon main()
. Output saka program iki:
Перед оператором return.
Sampeyan bisa uga sok dong mirsani sing statement final println()
ora kaleksanan. Ing wektu eksekusi, return
kontrol ditransfer bali menyang program panggilan. Siji cathetan pungkasan. Ing program sadurunge, if
operator (t) perlu. Tanpa iku, compiler Jawa bakal unreachable "kode" kesalahan amarga bakal ngerti sing statement pungkasan println()
ora bakal kaleksanan. Kanggo nyegah kesalahan iki, operator (t) digunakake if
; iku ngapusi kompiler kanggo demonstrasi iki. Link menyang sumber asli: Operator transisi
GO TO FULL VERSION