Saya melihat kata kunci ini untuk pertama kalinya dan saya bertanya-tanya apakah seseorang dapat menjelaskan kepada saya apa fungsinya.
- Apa
continuekata 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.
continuekata kuncinya?Jawaban:
Sebuah continuepernyataan tanpa label akan kembali mengeksekusi-dari kondisi terdalam whileatau dolingkaran, dan dari ekspresi update dari terdalam forlingkaran. Ini sering digunakan untuk menghentikan proses loop lebih awal dan dengan demikian menghindari ifpernyataan yang bersarang dalam . Pada contoh berikut continueakan mendapatkan baris berikutnya, tanpa memproses pernyataan berikut dalam loop.
while (getNext(line)) {
if (line.isEmpty() || line.isComment())
continue;
// More code here
}
Dengan label, continueakan 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 continuejuga 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 continueuntuk mensimulasikan bentuk terbatas goto. Dalam contoh berikut ini continueakan menjalankan kembali for (;;)loop kosong .
aLoopName: for (;;) {
// ...
while (someCondition)
// ...
if (otherCondition)
continue aLoopName;
continuesemacam 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, continueitu 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 whileatau fortidak segera terlihat. Hal yang sama berlaku untuk returndi tengah-tengah suatu metode, tetapi untuk alasan yang sedikit berbeda.
Seperti yang telah dikatakan orang lain, continuebergerak ke iterasi loop berikutnya, sementara breakbergerak keluar dari loop penutup.
Ini bisa berupa bom waktu pemeliharaan karena tidak ada tautan langsung antara continue/ breakdan 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/ breakgagal.
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,, breakdan 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 continueakan 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 - whileAnda 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 aSethanya 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 continueini 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 bufferdilakukan dalam ekspresi mengendalikan whileloop. The continuepernyataan 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 (...)
;
whilemenjadi tubuh whileklausa, dan yang tidak akan terlihat jelas secara visual. Eksplisit continuejelas 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]