Java Pamati
04 - Plūsmas Kontrole ar Cikliem
Iemācies efektīvi atkārtot kodu, izmantojot ciklus Javā
Cikli (loop) ļauj atkārtot kodu bez atkārtotas koda rakstīšanas Tie ir būtiski kolekciju apstrādei, pasaules ģenerēšanai un spēļu objektu atjaunināšanai.
Kamēr Cikls
Atkārto kodu kamēr (while) nosacījumi ir spēkā:
int atskaite = 5;
while (atskaite > 0) {
System.out.println(atskaite);
atskaite--;
}
System.out.println("Sprādziens!");Struktūra
while (nosacījums) {
// kods atkārtojas
}Bezgalīgi Cikli
Vienmēr pārliecinies, ka cikla stāvoklis galu galā kļūs nepatiess, savādāk programma darbosies mūžīgi!
int x = 0;
while (x < 10) {
System.out.println("Bezgalīgi atkārtojas!");
// Aizmirsām palielināt x!
}Darīt-Kamēr Cikls
Līdzinās While Loop, bet vienmēr nostrādā vismaz vienu reizi:
int veseliba = 0;
do {
System.out.println("Mēģinam atzīvoties...");
health = 100;
} while (veseliba <= 0);Priekš Cilpa
Vislabāk pielieto priekš (For) cikla, ja zināms, cik reižu atkārtot:
for (int i = 1; i <= 5; i++) {
System.out.println("Līmenis " + i);
}Struktūra
for (uzsākšana; nosacījumi; jauninājums) {
// kods atkārtojas
}For Loop Daļas
for (int i = 0; i < 10; i++) {
// ^ ^ ^
// Start Stop Solis
}- Uzsākšana: int i = 0 - Nostrādā tikai pirmo reizi
- Nosacījumi: i < 10 - Pārbaudi pirms katra cikla
- Jauninājums: i++ - Nostrādā katru reizi pēc cikla
Izlaušanās Nosacījums
Tu vari iziet no cikla agrāk ar break:
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // Iziet no cikla, kad i ir 6
}
System.out.println(i);
}Turpinājuma Nosacījums
Izlaid uz nākamo iterāciju ar continue:
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // Izlaid pāra skaitļus
}
System.out.println(i); // Printē tikai nepāra skaitļus
}Mitināti Cikli
Ciklus var ievietot iekš cikliem:
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
System.out.println("i: " + i + ", j: " + j);
}
}Mitinātu Ciklu Veiktspēja
Uzmanies ar iemitānitem cikliem! Tie var smagi palēnināt tavu mod.
// Šis atkārtosies 1,000,000 reizes!
for (int i = 0; i < 1000; i++) {
for (int j = 0; j < 1000; j++) {
// Kods
}
}Mēģini izvairīties no dziļi iemitinātiem cikliem strādājot ar lielu datu daudzumu.