Pernyataan Continue Java Dijelaskan: Sintaks, Contoh, Praktik Terbaik, dan Alternatif

1. Introduction

When learning Java programming, loop processing is one of the essential fundamental constructs. Among them, the continue statement is often overlooked. However, when used correctly, it can significantly improve code readability and efficiency.

By using continue, you can skip only the current iteration of a loop and proceed to the next one when a specific condition is met. This is useful, for example, when you want to exclude certain values in an array or avoid unnecessary calculations.

In this article, we explain everything from the basic usage of java continue to practical examples and differences from other loop control statements. Whether you are a beginner or an intermediate developer who has used continue without fully understanding it, this guide will help you use it with confidence.

Let’s take a step-by-step look at java continue, from basics to advanced usage.

2. Basic Syntax and Execution Flow

The continue statement is mainly used inside loops. In Java, it can be used in various loop structures such as for, while, and do-while. This section explains the basic syntax and how it works.

2-1. Basic Syntax of continue

The syntax of continue is very simple:

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue; // Skip this iteration when the condition is met
    }
    System.out.println(i);
}

In this example, when i is even, continue is executed and System.out.println(i) is skipped. As a result, only odd numbers are printed.

2-2. Loop Flow and How continue Works

When continue is executed, all subsequent statements in the current loop iteration are skipped, and execution proceeds immediately to the next iteration.

Here is a simplified flow using a for loop:

  1. Loop initialization (e.g., int i = 0 )
  2. Condition check (e.g., i < 10 )
  3. Execute loop body
  4. If continue is executed, skip remaining statements
  5. Increment step (e.g., i++ )
  6. Return to step 2

In short, continue simply means “skip only the current iteration”. It is useful for clearly controlling skip conditions even in complex loops.

2-3. When Is continue Useful?

It is particularly helpful when you want to skip processing for specific conditions, such as ignoring invalid values or errors and moving on to the next iteration.

In the following sections, we will explore practical examples to demonstrate effective usage.

3. Practical Code Examples

This section introduces concrete examples using continue to help you visualize real-world usage.

3-1. Using continue in a for Loop: Skipping Specific Values

For example, if you want to skip multiples of 3 between 1 and 10:

for (int i = 1; i <= 10; i++) {
    if (i % 3 == 0) {
        continue; // Skip multiples of 3
    }
    System.out.println(i);
}

This code outputs all numbers except 3, 6, and 9.

3-2. Using continue in a while Loop: Input Validation

When handling user input, you may want to ignore invalid values such as negative numbers:

Scanner scanner = new Scanner(System.in);
int count = 0;
while (count < 5) {
    System.out.print("Please enter a positive integer: ");
    int num = scanner.nextInt();
    if (num < 0) {
        System.out.println("Negative values are ignored.");
        continue;
    }
    System.out.println("Entered value: " + num);
    count++;
}

Here, negative values are skipped and do not increment count.

3-3. Using continue in Enhanced for (for-each) Loops

You can also use continue when iterating over collections:

String[] names = {"田中", "", "佐藤", "鈴木", ""};
for (String name : names) {
    if (name.isEmpty()) {
        continue;
    }
    System.out.println(name);
}

Only non-empty strings are printed.

4. Clear Differences Between continue and `break

Pernyataan continue sering dibandingkan dengan break, tetapi perilakunya secara fundamental berbeda.

4-1. Perbedaan Utama

  • continue : Melewatkan iterasi saat ini dan melanjutkan ke iterasi berikutnya.
  • break : Menghentikan seluruh loop secara langsung.

4-2. Perbandingan Kode

Contoh continue:

for (int i = 1; i <= 10; i++) {
    if (i % 2 != 0) {
        continue;
    }
    System.out.println(i);
}

Contoh break:

for (int i = 1; i <= 10; i++) {
    if (i == 5) {
        break;
    }
    System.out.println(i);
}

4-3. Pedoman Penggunaan

  • Gunakan continue ketika Anda ingin melewatkan bagian dari loop.
  • Gunakan break ketika Anda ingin keluar dari loop sepenuhnya.

5. Penggunaan Lanjutan: Labeled continue

Java mendukung labeled continue, yang memungkinkan Anda menentukan loop mana yang akan dilanjutkan dalam loop bersarang.

5-1. Sintaks Dasar

outerLoop:
for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 3; j++) {
        if (j == 2) {
            continue outerLoop;
        }
        System.out.println("i=" + i + ", j=" + j);
    }
}

5-2. Hasil Eksekusi

i=1, j=1
i=2, j=1
i=3, j=1

5-3. Pertimbangan Keterbacaan

Meskipun continue berlabel dapat menyederhanakan kontrol loop bersarang, penggunaan berlebihan dapat mengurangi keterbacaan. Disarankan untuk menggunakannya secara hemat.

5-4. Risiko Loop Tak Terbatas

Berhati-hatilah saat melewatkan logika yang memperbarui kondisi loop, karena hal ini dapat menyebabkan loop tak terbatas.

6. Praktik Terbaik dan Jebakan

6-1. Hindari Penggunaan continue Berlebihan

Penggunaan berlebihan dapat membuat kode lebih sulit dipahami.

6-2. Cegah Loop Tak Terbatas

int i = 0;
while (i < 5) {
    if (i == 2) {
        continue;
    }
    i++;
    System.out.println(i);
}

Kode ini menghasilkan loop tak terbatas karena i++ dilewatkan.

6-3. Pertimbangan Pengembangan Tim

Gunakan continue dengan hati-hati dan dokumentasikan maksudnya secara jelas dalam lingkungan tim.

6-4. Pertimbangkan Alternatif

Kadang-kadang merestrukturisasi logika atau menggunakan return awal dapat menghilangkan kebutuhan akan continue.

7. Alternatif yang Lebih Halus

7-1. Stream API

Arrays.stream(names)
      .filter(name -> !name.isEmpty())
      .forEach(System.out::println);

7-2. Dekomposisi Metode

for (User user : userList) {
    if (isValid(user)) {
        process(user);
    }
}

7-3. Perspektif Pengembangan Skala Besar

Keterbacaan dan pemeliharaan diprioritaskan, menjadikan Streams dan desain bersih lebih disukai.

8. Ringkasan

8-1. Konsep Inti

continue melewatkan iterasi saat ini dan beralih ke iterasi berikutnya.

8-2. Perbedaan dari break

  • break: keluar dari loop
  • continue: melewatkan satu iterasi

8-3. Praktik Terbaik

  • Hindari penggunaan berlebihan
  • Cegah loop tak terbatas
  • Tulis kode yang dapat dibaca

8-4. Gunakan Fitur Java Modern

Streams dan dekomposisi metode sering memberikan alternatif yang lebih aman.

8-5. Tugas Praktik

  • Melewatkan elemen secara kondisional
  • Membandingkan dengan break dan return
  • Mengimplementasikan kembali menggunakan Stream API

FAQ

Q1. Bagaimana saya harus memilih antara continue dan break?

Gunakan continue untuk melewatkan sebuah iterasi dan break untuk keluar dari loop.

Q2. Kapan saya harus menggunakan continue berlabel?

Hanya ketika Anda perlu melewatkan loop luar dalam struktur bersarang.

Q3. Apakah Stream API dapat menggantikan continue?

Ya, menggunakan filter menghasilkan efek yang sama.

Q4. Bagaimana saya dapat menghindari loop tak terbatas?

Pastikan penghitung loop diperbarui sebelum continue.

Q5. Apakah continue memengaruhi kinerja?

Tidak ada dampak signifikan bila digunakan dengan tepat.

Q6. Apakah continue direkomendasikan dalam kode produksi?

Ini dapat diterima untuk kasus sederhana, tetapi kejelasan dan pemeliharaan harus diprioritaskan.