Java while dan do... while Loop
Java while dan do... while Loop
Dalam tutorial ini, kita akan belajar bagaimana menggunakan while dan do while loop di Java dengan bantuan contoh.
Dalam pemrograman komputer, loop digunakan untuk mengulang blok kode. Misalnya, jika Anda ingin menampilkan pesan 100 kali, maka Anda dapat menggunakan loop. Itu hanya contoh sederhana; Anda dapat mencapai lebih banyak lagi dengan loop.
Pada tutorial sebelumnya, Anda telah belajar tentang Java for loop. Di sini, Anda akan belajar tentang while
dan do...while
loop.
Java while loop
Java while
loop digunakan untuk menjalankan kode tertentu sampai kondisi tertentu terpenuhi. Sintaks dari while
lingkarannya adalah:
while (testExpression) {
// body of loop
}
Di sini,
- Sebuah
while
loop mengevaluasi textExpression di dalam tanda kurung ()
.
- Jika ekspresi teks mengevaluasi ke
true
, kode di dalam while
loop dijalankan.
- Ekspresi teks dievaluasi lagi.
- Proses ini berlanjut hingga textExpression adalah
false
.
- Saat ekspresi teks mengevaluasi ke
false
, loop berhenti.
Untuk mempelajari lebih lanjut tentang kondisinya, kunjungi operator relasional dan logika Java.
Flowchart perulangan while
Contoh 1:Tampilkan Angka dari 1 hingga 5
// Program to display numbers from 1 to 5
class Main {
public static void main(String[] args) {
// declare variables
int i = 1, n = 5;
// while loop from 1 to 5
while(i <= n) {
System.out.println(i);
i++;
}
}
}
Keluaran
1
2
3
4
5
Inilah cara kerja program ini.
Iterasi | Variabel | Kondisi:i <=n | Tindakan |
pertama | i = 1 n = 5 | true |
1
dicetak. saya ditingkatkan menjadi 2 . |
ke-2 | i = 2 n = 5 | true |
2
dicetak. saya ditingkatkan menjadi 3 . |
3 | i = 3 n = 5 | true |
3
dicetak. saya ditingkatkan menjadi 4 . |
4 | i = 4 n = 5 | true |
4
dicetak. saya ditingkatkan menjadi 5 . |
5 | i = 5 n = 5 | true |
5
dicetak. saya ditingkatkan menjadi 6 . |
6 | i = 6 n = 5 | false | Perulangan dihentikan |
Contoh 2:Jumlah Bilangan Positif Saja
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// take integer input from the user
System.out.println("Enter a number");
int number = input.nextInt();
// while loop continues
// until entered number is positive
while (number >= 0) {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
}
System.out.println("Sum = " + sum);
input.close();
}
}
Keluaran
Enter a number
25
Enter a number
9
Enter a number
5
Enter a number
-3
Sum = 39
Pada program di atas, kita telah menggunakan class Scanner untuk mengambil input dari pengguna. Di sini, nextInt()
mengambil input bilangan bulat dari pengguna.
while
loop berlanjut sampai pengguna memasukkan angka negatif. Selama setiap iterasi, nomor yang dimasukkan oleh pengguna ditambahkan ke sum
variabel.
Ketika pengguna memasukkan angka negatif, loop berakhir. Akhirnya, jumlah total ditampilkan.
Java do... while loop
do...while
perulangan mirip dengan perulangan while. Namun, isi do...while
loop dieksekusi sekali sebelum ekspresi tes diperiksa. Misalnya,
do {
// body of loop
} while(textExpression);
Di sini,
- Tubuh loop dieksekusi terlebih dahulu. Kemudian ekspresi teks dievaluasi.
- Jika ekspresi teks mengevaluasi ke
true
, badan perulangan di dalam do
pernyataan dieksekusi lagi.
- Ekspresi teks dievaluasi sekali lagi.
- Jika ekspresi teks mengevaluasi ke
true
, badan loop di dalam do
pernyataan dieksekusi lagi.
- Proses ini berlanjut hingga textExpression mengevaluasi ke
false
. Kemudian loop berhenti.
Flowchart dari do... while loop
Mari kita lihat cara kerja do...while
lingkaran.
Contoh 3:Tampilkan Angka dari 1 hingga 5
// Java Program to display numbers from 1 to 5
import java.util.Scanner;
// Program to find the sum of natural numbers from 1 to 100.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// do...while loop from 1 to 5
do {
System.out.println(i);
i++;
} while(i <= n);
}
}
Keluaran
1
2
3
4
5
Inilah cara kerja program ini.
Iterasi | Variabel | Kondisi:i <=n | Tindakan |
| i = 1 n = 5 | tidak dicentang |
1
dicetak. saya ditingkatkan menjadi 2 . |
pertama | i = 2 n = 5 | true |
2
dicetak. saya ditingkatkan menjadi 3 . |
ke-2 | i = 3 n = 5 | true |
3
dicetak. saya ditingkatkan menjadi 4 . |
3 | i = 4 n = 5 | true |
4
dicetak. saya ditingkatkan menjadi 5 . |
4 | i = 5 n = 5 | true |
6
dicetak. saya ditingkatkan menjadi 6 . |
5 | i = 6 n = 5 | false | Perulangan dihentikan |
Contoh 4:Jumlah Bilangan Positif
// Java program to find the sum of positive numbers
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
// create an object of Scanner class
Scanner input = new Scanner(System.in);
// do...while loop continues
// until entered number is positive
do {
// add only positive numbers
sum += number;
System.out.println("Enter a number");
number = input.nextInt();
} while(number >= 0);
System.out.println("Sum = " + sum);
input.close();
}
}
Keluaran 1
Enter a number
25
Enter a number
9
Enter a number
5
Enter a number
-3
Sum = 39
Di sini, pengguna memasukkan angka positif, angka itu ditambahkan ke jumlah variabel. Dan proses ini berlanjut sampai angka negatif. Bila angkanya negatif, loop berakhir dan menampilkan jumlah tanpa menambahkan angka negatif.
Keluaran 2
Enter a number
-8
Sum is 0
Di sini, pengguna memasukkan angka negatif. Kondisi pengujian akan menjadi false
tetapi kode di dalam loop dieksekusi sekali.
Perulangan while tak terbatas
Jika kondisi dari loop selalu true
, loop berjalan untuk waktu yang tak terbatas (sampai memori penuh). Misalnya,
// infinite while loop
while(true){
// body of loop
}
Berikut adalah contoh do...while
infinite yang tak terbatas lingkaran.
// infinite do...while loop
int count = 1;
do {
// body of loop
} while(count == 1)
Dalam program di atas, textExpression selalu true
. Oleh karena itu, badan loop akan berjalan untuk waktu yang tak terbatas.
perulangan for dan while
for
loop digunakan ketika jumlah iterasi diketahui. Misalnya,
for (let i = 1; i <=5; ++i) {
// body of loop
}
Dan while
dan do...while
loop umumnya digunakan ketika jumlah iterasi tidak diketahui. Misalnya,
while (condition) {
// body of loop
}