Saya melihat kata kunci ini untuk pertama kalinya dan saya bertanya-tanya apakah seseorang dapat menjelaskan kepada saya apa fungsinya.
- Apa
continue
kata kuncinya? - Bagaimana cara kerjanya?
- Kapan itu digunakan?
Saya melihat kata kunci ini untuk pertama kalinya dan saya bertanya-tanya apakah seseorang dapat menjelaskan kepada saya apa fungsinya.
continue
kata kuncinya?Jawaban:
Sebuah continue
pernyataan tanpa label akan kembali mengeksekusi-dari kondisi terdalam while
atau do
lingkaran, dan dari ekspresi update dari terdalam for
lingkaran. Ini sering digunakan untuk menghentikan proses loop lebih awal dan dengan demikian menghindari if
pernyataan yang bersarang dalam . Pada contoh berikut continue
akan mendapatkan baris berikutnya, tanpa memproses pernyataan berikut dalam loop.
while (getNext(line)) {
if (line.isEmpty() || line.isComment())
continue;
// More code here
}
Dengan label, continue
akan mengeksekusi kembali dari loop dengan label yang sesuai, daripada loop paling dalam. Ini dapat digunakan untuk menghindari loop yang sangat bersarang, atau hanya untuk kejelasan.
Terkadang continue
juga digunakan sebagai pengganti untuk membuat lingkaran kosong lebih jelas.
for (count = 0; foo.moreData(); count++)
continue;
Pernyataan yang sama tanpa label juga ada di C dan C ++. Setara dalam Perl adalah next
.
Jenis aliran kontrol ini tidak disarankan, tetapi jika Anda memilihnya, Anda juga dapat menggunakan continue
untuk mensimulasikan bentuk terbatas goto
. Dalam contoh berikut ini continue
akan menjalankan kembali for (;;)
loop kosong .
aLoopName: for (;;) {
// ...
while (someCondition)
// ...
if (otherCondition)
continue aLoopName;
continue
semacam itu goto
. Apakah Anda kenal break
? Sebaliknya, lebih mudah untuk memikirkannya:
break
mengakhiri loop (melompat ke kode di bawahnya).
continue
menghentikan sisa pemrosesan kode dalam loop untuk iterasi saat ini, tetapi melanjutkan loop.
Jika Anda menganggap tubuh loop sebagai subrutin, continue
itu seperti return
. Kata kunci yang sama ada di C, dan melayani tujuan yang sama. Inilah contoh yang dibuat-buat:
for(int i=0; i < 10; ++i) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
Ini hanya akan mencetak angka ganjil.
Secara umum, saya melihat continue
(dan break
) sebagai peringatan bahwa kode mungkin menggunakan beberapa refactoring, terutama jika deklarasi loop while
atau for
tidak segera terlihat. Hal yang sama berlaku untuk return
di tengah-tengah suatu metode, tetapi untuk alasan yang sedikit berbeda.
Seperti yang telah dikatakan orang lain, continue
bergerak ke iterasi loop berikutnya, sementara break
bergerak keluar dari loop penutup.
Ini bisa berupa bom waktu pemeliharaan karena tidak ada tautan langsung antara continue
/ break
dan loop yang diteruskan / dihancurkan selain dari konteks; tambahkan loop dalam atau pindahkan "nyali" loop ke dalam metode terpisah dan Anda memiliki efek tersembunyi dari continue
/ break
gagal.
IMHO, yang terbaik untuk menggunakannya sebagai ukuran upaya terakhir, dan kemudian untuk memastikan penggunaannya dikelompokkan bersama pada awal atau akhir loop sehingga pengembang berikutnya dapat melihat "batas" dari loop dalam satu layar .
continue
,, break
dan return
(selain One True Return pada akhir metode Anda) semuanya termasuk dalam kategori umum "GOTO tersembunyi". Mereka menempatkan loop dan kontrol fungsi di tempat yang tak terduga, yang kemudian akhirnya menyebabkan bug.
"Lanjutkan" di Jawa berarti pergi ke akhir dari loop saat ini, berarti: jika kompilator melihat terus dalam loop itu akan pergi ke iterasi berikutnya
Contoh: Ini adalah kode untuk mencetak angka ganjil dari 1 hingga 10
kompiler akan mengabaikan kode cetak setiap kali terlihat terus bergerak ke iterasi berikutnya
for (int i = 0; i < 10; i++) {
if (i%2 == 0) continue;
System.out.println(i+"");
}
Seperti yang sudah disebutkan continue
akan melewatkan pemrosesan kode di bawahnya dan sampai akhir loop. Kemudian, Anda dipindahkan ke kondisi loop dan menjalankan iterasi berikutnya jika kondisi ini masih berlaku (atau jika ada bendera, dengan kondisi loop yang dilambangkan).
Harus disorot bahwa jika do - while
Anda dipindahkan ke kondisi di bagian bawah setelah a continue
, bukan di awal loop.
Inilah sebabnya mengapa banyak orang gagal menjawab dengan benar apa yang akan dihasilkan oleh kode berikut.
Random r = new Random();
Set<Integer> aSet= new HashSet<Integer>();
int anInt;
do {
anInt = r.nextInt(10);
if (anInt % 2 == 0)
continue;
System.out.println(anInt);
} while (aSet.add(anInt));
System.out.println(aSet);
* Jika jawaban Anda aSet
hanya 100% berisi angka ganjil ... Anda salah!
Lanjutkan adalah kata kunci di Jawa & digunakan untuk melewati iterasi saat ini.
Misalkan Anda ingin mencetak semua angka ganjil dari 1 hingga 100
public class Main {
public static void main(String args[]) {
//Program to print all odd numbers from 1 to 100
for(int i=1 ; i<=100 ; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
melanjutkan pernyataan dalam program di atas hanya melewatkan iterasi ketika saya genap dan mencetak nilai i ketika itu ganjil.
Lanjutkan pernyataan hanya membawa Anda keluar dari loop tanpa menjalankan pernyataan yang tersisa di dalam loop dan memicu iterasi berikutnya.
Pertimbangkan kondisi If Else. Pernyataan lanjutan mengeksekusi apa yang ada dalam kondisi dan keluar dari kondisi yaitu melompat ke iterasi atau kondisi berikutnya. Tapi sebuah Break meninggalkan loop. Pertimbangkan Program berikut. '
public class ContinueBreak {
public static void main(String[] args) {
String[] table={"aa","bb","cc","dd"};
for(String ss:table){
if("bb".equals(ss)){
continue;
}
System.out.println(ss);
if("cc".equals(ss)){
break;
}
}
System.out.println("Out of the loop.");
}
}
Ini akan mencetak: aa cc Keluar dari loop.
Jika Anda menggunakan break sebagai pengganti continue (After if.), Itu hanya akan mencetak a dan keluar dari loop .
Jika kondisi "bb" sama dengan ss terpenuhi: Untuk Lanjut: Berlanjut ke iterasi berikutnya yaitu "cc". Equals (ss). For Break: Keluar dari loop dan mencetak "Out of the loop."
break
Aku agak terlambat ke pesta, tapi ...
Perlu disebutkan bahwa continue
ini berguna untuk loop kosong di mana semua pekerjaan dilakukan dalam ekspresi kondisional yang mengendalikan loop. Sebagai contoh:
while ((buffer[i++] = readChar()) >= 0)
continue;
Dalam hal ini, semua pekerjaan membaca karakter dan menambahkannya buffer
dilakukan dalam ekspresi mengendalikan while
loop. The continue
pernyataan berfungsi sebagai indikator visual bahwa loop tidak perlu tubuh.
Ini sedikit lebih jelas daripada yang setara:
while (...)
{ }
dan gaya pengkodean yang jelas lebih baik (dan lebih aman) daripada menggunakan pernyataan kosong seperti:
while (...)
;
while
menjadi tubuh while
klausa, dan yang tidak akan terlihat jelas secara visual. Eksplisit continue
jelas dan menyampaikan maksud bahwa pernyataan kosong tidak.
Pada dasarnya di java, lanjutkan adalah pernyataan. Jadi pernyataan berlanjut biasanya digunakan dengan loop untuk melewati iterasi saat ini.
Untuk bagaimana dan kapan digunakan di java, lihat tautan di bawah ini. Itu sudah mendapat penjelasan dengan contoh.
https://www.flowerbrackets.com/continue-java-example/
Semoga ini bisa membantu !!
continue
harus berada di dalam satu lingkaran Jika tidak itu menunjukkan kesalahan di bawah ini:
Lanjutkan di luar loop
Pernyataan lanjut digunakan dalam struktur kontrol loop ketika Anda harus segera melompat ke iterasi loop berikutnya.
Ini dapat digunakan dengan untuk loop atau while. Pernyataan Java berlanjut digunakan untuk melanjutkan loop. Ini melanjutkan aliran program saat ini dan melewatkan kode yang tersisa pada kondisi yang ditentukan.
Dalam hal loop batin, itu hanya melanjutkan loop batin.
Kita bisa menggunakan Java continue statement dalam semua jenis loop seperti untuk loop, while dan loop do-while.
sebagai contoh
class Example{
public static void main(String args[]){
System.out.println("Start");
for(int i=0; i<10; i++){
if(i==5){continue;}
System.out.println("i : "+i);
}
System.out.println("End.");
}
}
keluaran:
Start
i : 0
i : 1
i : 2
i : 3
i : 4
i : 6
i : 7
i : 8
i : 9
End.
[nomor 5 dilewati]