Dalam tutorial ini, anda akan belajar menggunakan pernyataan beralih di Java untuk mengendalikan aliran pelaksanaan program anda dengan bantuan contoh.
The switch
kenyataan membolehkan kita untuk melaksanakan satu blok kod 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 pernyataan suis berfungsi?
Ungkapan dinilai sekali dan dibandingkan dengan nilai setiap label kes .
- Sekiranya terdapat padanan, kod yang sesuai setelah label kes sepadan dijalankan.
Contohnya, jika nilai ungkapan sama dengan nilai2, kod selepasnyacase value2:
dijalankan. - Sekiranya tidak ada padanan, kod selepasnya
default:
dijalankan.
Catatan : Kami dapat melakukan fungsi yang sama menggunakan Java jika … lain … jika tangga. Walau bagaimanapun, sintaks pernyataan suis lebih bersih dan lebih mudah dibaca dan ditulis.
Carta alir Pernyataan suis

Contoh 1: Penyataan suis 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 :
Saiz: Besar
Dalam contoh di atas, kami telah menggunakan pernyataan beralih untuk mencari ukurannya. Di sini, kita mempunyai nombor yang berubah-ubah. Pemboleh ubah dibandingkan dengan nilai setiap pernyataan kes.
Oleh kerana nilainya sesuai dengan kes 44 , pemboleh ubah ukuran diberikan dengan nilai Large
.
pernyataan putus dalam suis Java … kes
Perhatikan bahawa kami telah menggunakan break
pernyataan dalam setiap blok kes. Ini berguna untuk menamatkan penyataan.
Sekiranya break
pernyataan tidak digunakan, semua kes selepas kes sepadan 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"); ) ) )
Pengeluaran
Kes 2 Kes 3 Kes lalai
Dalam contoh di atas, kami belum menggunakan break
pernyataan tersebut. Di sini, ungkapan sepadan dengan case 2
.
Anda dapat melihat bahawa bersama-sama case 2
, semua kes berikut juga dilaksanakan.
Ini bukan output yang diinginkan. Oleh itu, perlu menggunakan break
penyataan dengan setiap blok kes .
Contoh 2: Membuat Kalkulator menggunakan pernyataan beralih
Program di bawah ini mengambil tiga input dari pengguna: satu operator dan 2 nombor . Berdasarkan operator yang diberikan oleh pengguna, ia melakukan pengiraan pada nombor. Kemudian hasilnya dipaparkan di skrin.
Sebelum anda mengikuti program ini, pastikan anda mengetahui tentang Java Scanner untuk mengambil input daripada 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 operator: +, -, *, atau /: + Masukkan nombor pertama: 23 Masukkan nombor kedua: 21 23.0 + 21.0 = 44.0
Keluaran 2
Pilih operator: +, -, *, atau /: - Masukkan nombor pertama: 24 Masukkan nombor kedua: 13 24.0-13.0 = 11.0
Keluaran 3
Pilih operator: +, -, *, atau /: * Masukkan nombor pertama: 12 Masukkan nombor kedua: 6 12.0 * 6.0 = 72.0
Keluaran 4
Pilih operator: +, -, *, atau /: / Masukkan nombor pertama: 36 Masukkan nombor kedua: 6 36.0 / 6.0 = 6.0
Keluaran 5
Pilih operator: +, -, *, atau /:? Masukkan nombor pertama: 12 Masukkan nombor kedua: 23 Pengendali tidak sah!
Dalam contoh di atas, kami menggunakan switch… case
pernyataan untuk melakukan penambahan, pengurangan, pendaraban, dan pembahagian.
Catatan : Pernyataan suis Java hanya berfungsi dengan:
- Jenis data Java Primitive: byte, pendek, char, dan int
- Jenis Java yang dihitung
- Kelas Rentetan Java
- Kelas Pembungkus Java: Character, Byte, Short, and Integer.