Dalam tutorial ini, Anda akan belajar menggunakan pernyataan switch di Java untuk mengontrol aliran eksekusi program Anda dengan bantuan contoh.
The switch
pernyataan memungkinkan kita untuk mengeksekusi blok kode di antara banyak alternatif.
Sintaks switch
pernyataan di Java adalah:
switch (expression) ( case value1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break;… … default: // default statements )
Bagaimana cara kerja pernyataan sakelar?
Ekspresi dievaluasi sekali dan dibandingkan dengan nilai dari setiap label huruf .
- Jika ada yang cocok, kode yang sesuai setelah label kasus yang cocok dijalankan.
Misalnya, jika nilai ekspresi sama dengan nilai2, kode setelahcase value2:
dijalankan. - Jika tidak ada yang cocok, kode setelah
default:
dijalankan.
Catatan : Kita dapat melakukan fungsi yang sama menggunakan Java if… else… if ladder. Namun, sintaks dari pernyataan switch lebih bersih dan lebih mudah untuk dibaca dan ditulis.
Diagram alir Pernyataan sakelar

Contoh 1: Pernyataan switch Java
// Java Program to check the size // using the switch… case statement class Main ( public static void main(String() args) ( int number = 44; String size; // switch statement to check size switch (number) ( case 29: size = "Small"; break; case 42: size = "Medium"; break; // match the value of week case 44: size = "Large"; break; case 48: size = "Extra Large"; break; default: size = "Unknown"; break; ) System.out.println("Size: " + size); ) )
Keluaran :
Ukuran: Besar
Dalam contoh di atas, kami telah menggunakan pernyataan switch untuk menemukan ukurannya. Di sini, kami memiliki nomor variabel. Variabel tersebut dibandingkan dengan nilai dari setiap pernyataan kasus.
Karena nilainya cocok dengan kasus 44 , variabel ukuran diberikan dengan nilai Large
.
break statement di Java switch… case
Perhatikan bahwa kami telah menggunakan break
pernyataan di setiap blok kasus. Ini berguna untuk mengakhiri pernyataan.
Jika break
pernyataan tidak digunakan, semua kasus setelah kasus yang cocok dijalankan. Sebagai contoh,
class Main ( public static void main(String() args) ( int expression = 2; // switch statement to check size switch (expression) ( case 1: System.out.println("Case 1"); // matching case case 2: System.out.println("Case 2"); case 3: System.out.println("Case 3"); default: System.out.println("Default case"); ) ) )
Keluaran
Kasus 2 Kasus 3 Kasus default
Dalam contoh di atas, kami belum menggunakan break
pernyataan tersebut. Di sini, ekspresi cocok dengan case 2
.
Anda dapat melihat bahwa bersama dengan case 2
, semua kasus berikut juga dijalankan.
Ini bukan keluaran yang diinginkan. Oleh karena itu, perlu menggunakan break
pernyataan tersebut dengan setiap blok kasus .
Contoh 2: Membuat Kalkulator menggunakan pernyataan sakelar
Program di bawah ini mengambil tiga masukan dari pengguna: satu operator dan 2 nomor . Berdasarkan operator yang disediakan oleh pengguna, ia melakukan penghitungan angka. Kemudian hasilnya ditampilkan di layar.
Sebelum Anda melalui program ini, pastikan Anda mengetahui tentang Java Scanner untuk mengambil masukan dari pengguna.
import java.util.Scanner; class Main ( public static void main(String() args) ( char operator; Double number1, number2, result; // create an object of Scanner class Scanner input = new Scanner(System.in); // ask users to enter operator System.out.print("Choose an operator: +, -, *, or /: "); operator = input.next().charAt(0); // ask users to enter numbers System.out.print("Enter first number: "); number1 = input.nextDouble(); System.out.println("Enter second number: "); number2 = input.nextDouble(); switch (operator) ( // performs addition between numbers case '+': result = number1 + number2; System.out.print(number1 + "+" + number2 + " = " + result); break; // performs subtraction between numbers case '-': result = number1 - number2; System.out.print(number1 + "-" + number2 + " = " + result); break; // performs multiplication between numbers case '*': result = number1 * number2; System.out.print(number1 + "*" + number2 + " = " + result); break; // performs division between numbers case '/': result = number1 / number2; System.out.print(number1 + "/" + number2 + " = " + result); break; default: System.out.println("Invalid operator!"); break; ) input.close(); ) )
Keluaran 1
Pilih salah satu operator: +, -, *, atau /: + Masukkan nomor pertama: 23 Masukkan nomor kedua: 21 23.0 + 21.0 = 44.0
Keluaran 2
Pilih salah satu operator: +, -, *, atau /: - Masukkan nomor pertama: 24 Masukkan nomor kedua: 13 24.0-13.0 = 11.0
Keluaran 3
Pilih salah satu operator: +, -, *, atau /: * Masukkan nomor pertama: 12 Masukkan nomor kedua: 6 12.0 * 6.0 = 72.0
Keluaran 4
Pilih salah satu operator: +, -, *, atau /: / Masukkan nomor pertama: 36 Masukkan nomor kedua: 6 36.0 / 6.0 = 6.0
Keluaran 5
Pilih salah satu operator: +, -, *, atau /:? Masukkan nomor pertama: 12 Masukkan nomor kedua: 23 Operator salah!
Dalam contoh di atas, kami menggunakan switch… case
pernyataan untuk melakukan penjumlahan, pengurangan, perkalian, dan pembagian.
Catatan : Pernyataan switch Java hanya berfungsi dengan:
- Tipe data Java Primitive: byte, short, char, dan int
- Jenis Java Enumerated
- Kelas String Java
- Kelas Pembungkus Java: Karakter, Byte, Pendek, dan Integer.