Menggunakan Pernyataan Switch untuk Beberapa Pilihan di Jawa

click fraud protection

Jika program Java Anda perlu membuat pilihan antara dua atau tiga tindakan, sebuah jika, lalu, yang lain pernyataan akan cukup. Namun demikian jika, lalu, yang lain pernyataan mulai terasa tidak praktis ketika ada sejumlah pilihan yang mungkin perlu dibuat oleh suatu program. Hanya ada begitu banyak lain... jika pernyataan yang ingin Anda tambahkan sebelum kode mulai terlihat berantakan. Saat keputusan lintas beberapa opsi diperlukan, gunakan pernyataan sakelar.

Pernyataan Switch

Pernyataan sakelar memungkinkan program kemampuan untuk membandingkan nilai suatu ekspresi ke daftar nilai alternatif. Misalnya, bayangkan Anda memiliki menu tarik-turun yang berisi angka 1 hingga 4. Bergantung pada nomor yang dipilih, Anda ingin program Anda melakukan sesuatu yang berbeda:

// katakanlah pengguna memilih nomor 4
int menuChoice = 4;
switch (menuChoice)
{
kasus 1:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 1.");
istirahat;
kasus 2:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 2.");
instagram viewer

istirahat;
kasus 3:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 3.");
istirahat;
// Opsi ini dipilih karena nilai 4 cocok dengan nilai
// variabel menuChoise
case 4: JOptionPane.showMessageDialog (null, "Anda memilih nomor 4."); istirahat;
default:
JOptionPane.showMessageDialog (null, "Ada yang salah!");
istirahat;
}

Jika Anda melihat sintaks pernyataan switch, Anda harus memperhatikan beberapa hal:

1. Variabel yang berisi nilai yang perlu dibandingkan ditempatkan di bagian atas, di dalam tanda kurung.

2. Setiap opsi alternatif dimulai dengan label kasus. Nilai yang akan dibandingkan dengan yang teratas variabel berikutnya, diikuti oleh titik dua. Misalnya, case 1: adalah label case yang diikuti oleh nilai 1 - bisa saja case 123: atau case -9:. Anda dapat memiliki opsi alternatif sebanyak yang Anda butuhkan.

3. Jika Anda melihat sintaks di atas, opsi alternatif keempat disorot - label case, kode yang dieksekusi (mis., JOptionPane) dan pernyataan break. Pernyataan break menandakan akhir kode yang perlu dijalankan. Jika Anda melihat, Anda akan melihat bahwa setiap opsi alternatif diakhiri dengan pernyataan break. Sangat penting untuk diingat untuk memasukkan pernyataan istirahat. Pertimbangkan kode berikut:

 // katakanlah pengguna memilih nomor 1
int menuChoice = 1;
switch (menuChoice)
kasus 1:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 1.");
kasus 2:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 2.");
istirahat;
kasus 3:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 3.");
istirahat;
kasus 4:
JOptionPane.showMessageDialog (null, "Anda memilih nomor 4.");
istirahat;
default:
JOptionPane.showMessageDialog (null, "Ada yang salah!");
istirahat;
}

Apa yang Anda harapkan terjadi adalah melihat a kotak dialog mengatakan "Anda memilih nomor 1," tetapi karena tidak ada pernyataan istirahat yang cocok dengan label kasus pertama, kode dalam label kasus kedua juga akan dieksekusi. Ini berarti kotak dialog berikutnya mengatakan "Anda memilih nomor 2" juga akan muncul.

4. Ada label default di bagian bawah pernyataan sakelar. Ini seperti jaring pengaman jika tidak ada nilai label kasus yang cocok dengan nilai yang dibandingkan dengannya. Sangat berguna untuk menyediakan cara mengeksekusi kode ketika tidak ada opsi yang diinginkan dipilih.

Jika Anda selalu mengharapkan salah satu opsi lain dipilih, maka Anda dapat meninggalkan label default, tetapi menempatkannya di akhir setiap pernyataan switch yang Anda buat adalah kebiasaan yang baik untuk masuk. Tampaknya tidak mungkin bahwa itu akan pernah digunakan tetapi kesalahan dapat menyusup ke dalam kode dan dapat membantu untuk menangkap kesalahan.

Sejak JDK 7

Salah satu perubahan pada sintaksis Java dengan rilis JDK 7 adalah kemampuan untuk digunakan String dalam pernyataan beralih. Mampu membandingkan nilai String dalam pernyataan switch bisa sangat berguna:

String name = "Bob";
switch (name.toLowerCase ())
{
huruf "joe":
JOptionPane.showMessageDialog (null, "Selamat pagi, Joe!");
istirahat;
huruf "michael":
JOptionPane.showMessageDialog (null, "Bagaimana kabarnya, Michael?");
istirahat;
huruf "bob":
JOptionPane.showMessageDialog (null, "Bob, teman lamaku!");
istirahat;
huruf "billy":
JOptionPane.showMessageDialog (nol, "Sore Billy, bagaimana kabar anak-anak?");
istirahat;
default:
JOptionPane.showMessageDialog (null, "Senang bertemu Anda, John Doe.");
istirahat;
}

Saat membandingkan dua nilai String, akan jauh lebih mudah jika Anda memastikan semuanya dalam kasus yang sama. Menggunakan metode .toLowerCase berarti semua nilai label case dapat dimasukkan huruf kecil.

Hal-hal yang Harus Diingat Tentang Pernyataan Switch

• Jenis variabel yang akan dibandingkan harus berupa tipe char, byte, short, int, Character, Byte, Short, Integer, String, atau enum.

• Nilai di sebelah label case tidak boleh berupa variabel. Itu harus berupa ekspresi konstan (mis., Int literal, char literal).

• Nilai dari ekspresi konstan di semua label case harus berbeda. Berikut ini akan menghasilkan kesalahan waktu kompilasi:

switch (menuChoice)
{
kasus 323:
JOptionPane.showMessageDialog (null, "Anda memilih opsi 1.");
istirahat;
kasus 323:
JOptionPane.showMessageDialog (null, "Anda memilih opsi 2.");
istirahat;

• Hanya ada satu label default dalam pernyataan switch.

• Saat menggunakan objek untuk pernyataan switch (mis., String, Integer, Character) pastikan itu bukan nol. Objek nol akan menghasilkan kesalahan runtime ketika pernyataan switch dieksekusi.

instagram story viewer