JavaRush /Blog Jawa /Random-JV /Kanggo Loop ing Jawa

Kanggo Loop ing Jawa

Diterbitake ing grup
Dheweke ujar manawa programer sing paling apik yaiku programer sing males. Tinimbang nindakake jinis tumindak sing padha kaping pirang-pirang, dheweke bakal nggawe algoritma sing bakal nindakake tugas kasebut kanggo dheweke. Lan dheweke bakal nindakake kanthi apik supaya ora perlu maneh. Carane nggunakake loop ing Jawa - 1Supaya ora nulis kode sing padha bola-bali, puteran diciptakake. Bayangake yen kita kudu nampilake angka saka 0 nganti 99 menyang konsol. Kode tanpa loop:
System.out.println(0);
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
// And so on
Kode iki bakal njupuk 100 baris! akeh banget. Lan iki bakal katon kaya loop:
for(int i = 0; i < 100; i++) {
   System.out.println(i);
}
Mung 3 baris!

Apa kanggo loops?

A for loop minangka struktur kontrol kode program sing ngilangi linearitas eksekusi algoritma lan ngidini sampeyan nglakokake kode kasebut kaping pirang-pirang. Contone, sampeyan kudu njupuk 30 tetes obat. Algoritma bakal kaya iki:
  1. Siapke gelas.
  2. Bukak tutupe.
  3. Entuk 1 tetes.
  4. Njupuk 2 tetes.
  5. ...
  6. Njupuk 30 drop.
  7. Nutup obat.
  8. Njupuk bagean sing ditampa.
Algoritma iki bisa diterangake luwih cepet:
  1. Siapke gelas.
  2. Bukak tutup netes.
  3. Njupuk 30 tetes.
  4. Nutup obat.
  5. Njupuk bagean sing ditampa.
Kita nggunakake daur ulang kanggo meh saben dina nalika ngobrol karo wong liya: "... 20 langkah mudhun ing dalan ...", "... nindakake 10 repetisi lan 5 liyane ing 2 kaping luwih alon ...", ".. .nindakake tumbas 5 ing macem-macem kategori lan entuk hadiah… "Aku bisa terus suwe, nanging tegese jelas. Ing Jawa, for loop perlu kanggo njaga kode cekak lan ringkes.

Cara kerja for loop

For loop digunakake kaya iki:
for(<начальная точка>; <condition выхода>; <операторы счетчика>) {
	// Loop body
}
Пример перебора цифр от 0 до 5 и вывод каждой в консоль:
for(int i = 0; i < 5; i++) {
   System.out.println(i);
}
Kesimpulan:

0
1
2
3
4
Yen kita nerjemahake entri iki menyang basa manungsa, kita entuk ing ngisor iki: " Gawe variabel i kanthi nilai awal 0, nganti tekan 5, tambahake 1 lan ing saben langkah tulis nilai i menyang konsol ." For loop ing Jawa adhedhasar telung tahap, sing bisa diwakili dening diagram ing ngisor iki: Carane nggunakake loop for ing Jawa - 2Kahanan kanggo metu saka loop yaiku ekspresi Boolean. Yen salah, loop bakal rampung. Ing conto ing ndhuwur, variabel iditambah karo 1. Yen regane kurang saka 5, loop terus. Nanging sanalika idadi luwih saka utawa padha karo 5, siklus bakal mandheg. Operator counter minangka ekspresi sing nindakake konversi ing variabel counter. Ing conto ing ndhuwur, variabel iditambah 1. Yaiku, loop bakal dieksekusi persis 5 kali. Yen operator counter nambahake 2 menyang variabel i, asil bakal beda:
for(int i = 0; i < 5; i = i + 2) {
   System.out.println(i);
}
Kesimpulan:

0
2
4
Sampeyan uga bisa multiply variabel, dibagi, mundhakaken menyang daya, ing umum, apa wae pengin. Ingkang utama yaiku transformasi ngasilake nomer. Badan loop yaiku kode apa wae sing bisa dieksekusi. Ing conto ing ndhuwur, awak daur ulang ngasilake nilai variabel i menyang konsol, nanging isi awak iki diwatesi dening tugas lan imajinasi. Ngringkes kabeh skema, prinsip loop iki kaya ing ngisor iki: kode sing ana ing awak loop bakal dieksekusi kaping pirang-pirang minangka jumlah konversi sing bakal ditindakake operator counter sadurunge syarat kanggo metu saka loop tekan. . Yen sampeyan nyetel kondisi metu loop minangka true:
for(int i = 0; true; i++) {
   if(i % 1000000 == 0) System.out.println(i);
}
System.out.println("Loop ended");
Banjur kode sawise daur ulang bakal ditandhani karo kesalahan unreachable statement, amarga ora bakal dieksekusi. Tantangan kanggo kapinteran: minangka asil nglakokake kode ing ngisor iki, " Loop ended" bakal dadi output menyang konsol utawa bakal mbukak loop tanpa wates?
for(int i = 0; i > -1; i++) {
   if(i % 1000000 == 0) System.out.println(i);
}
System.out.println("Loop ended");
Jawaban: bakal ana. Variabel i bakal cepet utawa mengko tekan nilai maksimum, lan mundhak luwih bakal nguripake menyang Nilai negatif maksimum, minangka asil kang kondisi metu bakal wareg (i <= -1).

kanggo Saben loop

Nalika nggarap puteran, sampeyan kadhangkala kudu ngulang array utawa koleksi. Biasane sampeyan bisa ngulang liwat array nggunakake for loop:
public void printAllElements(String[] stringArray) {
   for(int i = 0; i < stringArray.length; i++) {
       System.out.println(stringArray[i]);
   }
}
Lan iku bener. Nanging, kanggo mbaleni kabeh unsur array siji-sijine, dheweke nggawe konstruksi forEach. Tanda tangane kaya ing ngisor iki:
for(<Тип element> <Name переменной, куда будет записан очередной элемент> : <Название массива>) {
	// Loop body
}
Sampeyan bisa ngulang liwat macem-macem senar lan nyithak saben siji menyang konsol kanthi cara ing ngisor iki:
public void printAllElements(String[] stringArray) {
   for(String s : stringArray) {
       System.out.println(s);
   }
}
Uga cekak lan ringkes. Sing paling penting, ora perlu mikir babagan konter lan kondisi metu, kabeh wis rampung kanggo kita.

Cara kanggo puteran digunakake

Saiki ayo goleki sawetara conto nggunakake loop for ing Jawa kanggo ngrampungake macem-macem masalah.

Siklus mbalikke (saka luwih gedhe nganti cilik)

for(int i = 5; i > 0; i--) {
   System.out.println(i);
}
Kesimpulan:

5
4
3
2
1

Sawetara variabel lan nambah counter ing awak daur ulang

Sampeyan bisa nggunakake macem-macem variabel ing daur ulang, umpamane bisa diowahi ing statement counter:
int a = 0;
for(int i = 5; i > 0; i--, a++) {
   System.out.print("Step: " + a + " Meaning: ");
   System.out.println(i);
}
Kesimpulan:

Шаг: 0 Значение: 5
Шаг: 1 Значение: 4
Шаг: 2 Значение: 3
Шаг: 3 Значение: 2
Шаг: 4 Значение: 1
Utawa ngumumake rong variabel lan loop nganti padha karo siji liyane:
for(int i = 5, j = 11; i != j; i++, j--) {
   System.out.println("i: " + i + " j: " + j);
}
Kesimpulan:

i: 5 j: 11
i: 6 j: 10
i: 7 j: 9
Ora mungkin tumindak iki nduweni nilai, nanging migunani kanggo ngerti babagan kemungkinan iki. Sampeyan uga bisa nggawe puteran njero ing daur ulang kanggo. Ing kasus iki, jumlah langkah loop bakal tikel:
for(int i = 0; i < 5; i++) {
   System.out.print(i + " | ");
   for(int j = 0; j < 5; j++) {
       System.out.print(j + " ");
   }
   System.out.print('\n');
}
Kesimpulan:

0 | 0 1 2 3 4 
1 | 0 1 2 3 4 
2 | 0 1 2 3 4 
3 | 0 1 2 3 4 
4 | 0 1 2 3 4
Ing counter loop, jsampeyan bisa ngakses counter saka loop njaba. Iki nggawe puteran bersarang minangka cara sing cocog kanggo ngliwati larik loro dimensi, telung dimensi, lan liyane:
int[][] array = { {0, 1, 2, 3, 4 },
                       {1, 2, 3, 4, 5},
                       {2, 3, 4, 5, 6},
                       {3, 4, 5, 6, 7}};

for(int i = 0; i < array.length; i++) {
   for(int j = 0; j < array[i].length; j++) {
       System.out.print(array[i][j] + " ");
   }
   System.out.print('\n');
}
Kesimpulan:

0 1 2 3 4 
1 2 3 4 5 
2 3 4 5 6 
3 4 5 6 7 

Rampung awal siklus

Yen sampeyan kudu ngganggu daur ulang nalika ngolah daur ulang, gunakake operator break, sing mandhegake awak daur ulang saiki. Kabeh iterasi sabanjure uga dilewati:
public void getFirstPosition(String[] stringArray, String element) {
   for (int i = 0; i < stringArray.length; i++) {
       if(stringArray[i].equals(element)) {
           System.out.println(i);
           break;
       }
   }
}
Cara kasebut bakal nyithak posisi unsur sing digoleki pisanan ing array:
String[] array = {"one", "two", "three", "Jeronimo"};
getFirstPosition(array, "two");
Kesimpulan:

1

Siklus tanpa wates

Cara liya kanggo nggawe loop tanpa wates yaiku ninggalake area deklarasi counter, kondisi metu, lan statement counter kosong:
for (;;) {
}
Nanging elinga yen ing pirang-pirang kasus, loop tanpa wates minangka bukti kesalahan logis. Gelung kuwi kudu duwe kondisi metu. Carane nggunakake loop for ing Jawa - 3
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION