Dalam tutorial ini, Anda akan belajar menggunakan pernyataan switch di Java untuk mengontrol aliran eksekusi program Anda dengan bantuan contoh.
The switchpernyataan memungkinkan kita untuk mengeksekusi blok kode di antara banyak alternatif.
Sintaks switchpernyataan 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
Diagram alir pernyataan switch Java
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 breakpernyataan di setiap blok kasus. Ini berguna untuk mengakhiri pernyataan.
Jika breakpernyataan 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 breakpernyataan 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 breakpernyataan 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… casepernyataan 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.








