Sama seperti pernyataan break, pernyataan continue juga ada 2 macam. Yaitu:
- Unlabeled
- Labeled
Bentuk yang tidak berlabel melompat ke ujung tubuh loop paling dalam dan mengevaluasi ekspresi boolean yang mengontrol loop.
Berikut contoh pernyataan continue unlabeled :
1. menampilkan angka 1 sampai 10 kecuali 7
Kode:
public class Example1Unlabeled{ public static void main(String[] args) { int i; for (i = 1; i <= 10 ;i++ ) { if (i == 7) { continue; } System.out.print(i+" "); } } }
Output:
1 2 3 4 5 6 8 9 10
2. menentukan jumlah huruf “a” dalam deret strings Kode:
Kode:
public class Example2Unlabeled{ public static void main(String[] args) { String search = "aku pasti bisa menjadi prograamer !"; int max = search.length(); int numA = 0; for (int i = 0; i < max; i++ ) { if (search.charAt (i) !='a') { continue; } //count a numA ++; } System.out.println("Ditemukan "+numA+" huruf a dalam string"); } }
Output:
Ditemukan 6 huruf a dalam string
B. Labeled (berlabel) pernyataan continue berlabel digunakan untuk melewati iterasi saat ini dari loop luar yang ditandai dengan label yang diberikan. Berikut contoh program pernyataan continue labeled. Contoh program dibawah ini digunakan untuk mencari beberapa huruf/kata dalam baris string, jika kata ditemukan diberikan keterangan found it, jika tidak ditemukan diberikan keterangan didn't find it.
Kode:
public class Example1Labeled{ public static void main(String[] args) { String search = "Look for a substring in me"; String substring = "sub"; boolean foundIt = false; int max = search.length() - substring.length(); test: for (int i = 0; i <= max; i++ ) { int n = substring.length(); int j = i; int k = 0; while (n-- != 0){ if (search.charAt(j++) != substring.charAt(k++)) { continue test; } } foundIt = true; break test; } System.out.println(foundIt ? "found It" : "Didn't find it"); } }
Output:
Didn't find it
sumber :
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html
Bermanfaat broo
ReplyDelete