Untuk maksud penanganan banyak kondisi, Java menyediakan penyeleksian switch. Penggunaan penyeleksian switch ini dimaksudkan agar kode program lebih efisien dan mudah untuk dibaca atau dimengerti. Berikut ini adalah sintaksis penulisan penyeleksian switch di Java:
switch (ekspresi-switch) { case nilai1 : pernyataan1; break; case nilai2 : pernyataan2; break; … case nilaiN : pernyataanN; break; default : pernyataan default; } pernyataan berikutnya;
Dari sintaksis penyeleksian switch, setelah kata kunci switch, diikuti tanda kurung buka dan kurung tutup yang di dalamnya terdapat ekspresi-switch. ekspresi-switch harus menghasilkan nilai dari salah satu tipe data char, byte, short atau int. nilai1 sampai nilaiN harus mempunyai tipe data sama dengan yang terdapat pada ekspresi-switch. Nilai1 sampai nilaiN dapat berupa ekspresi konstanta yang dapat dievaluasi sebagai nilai atau konstanta dan tidak boleh berisi variabel dalam ekspresi, misalnya y + 3.
Baca artikel Penyeleksian if else Di Java
Jika nilai setelah kata kunci case cocok atau sama dengan nilai ekspresi-switch, pernyataan atau blok pernyataan yang dimulai dari kata kunci case sampai dengan kata kunci break atau sampai akhir dari penyeleksian switch berupa closing brace (}) dieksekusi. Umumnya, blok pernyataan di Java dimulai dengan opening brace ({) dan diakhiri dengan closing brace.
Baca artikel:
Di penyeleksian switch, blok pernyataan dapat berupa pernyataan diantara kata kunci case dan kata kunci break. Kata kunci break bersifat opsional, dapat disertakan maupun tidak. Jika disertakan, akan digunakan untuk mengakhiri pernyataan switch dengan segera. Jika tidak, pernyataan atau blok pernyataan yang dieksekusi berlanjut ke pernyataan berikutnya meskipun nilai setelah kata kunci case tidak cocok.
Kata kunci default juga bersifat opsional, dapat disertakan maupun tidak. Jika disertakan dan tidak ditemukan kecocokan antara nilai setelah kata kunci case dengan nilai yang terdapat di ekspresi-switch, pernyataan atau blok pernyataan setelah kata kunci default sampai akhir penyeleksian switch berupa closing brace dieksekusi, jika tidak disertakan, eksekusi berlanjut ke pernyataan berikutnya setelah closing braces (}).
Berikut ini adalah bagan alir penyeleksian switch di Java:
Contoh program berikut ini menggunakan penyeleksian switch untuk mengkonversi nilai integer 1 – 7 ke nama hari dalam seminggu. Seperti biasa, pengguna aplikasi diminta memasukkan nilai integer dengan rentang 1 – 7 melalui kotak dialog input. Bila nilai integer yang diinput berada diluar rentang nilai 1 – 7, program berhenti dan kembali ke Command Prompt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | // Naman file : IntegerKeNamaHari.java // Mengkonversi integer 1 - 7 ke nama hari // Mengimpor kelas JOptionPane import javax.swing.JOptionPane; //Deklarasi kelas IntegerKeNamaHari public class IntegerKeNamaHari { public static void main(String[] args) { // Deklarasi variabel String strHari; String strNilai; int nilai; // input nilai integer 1 - 7 strNilai = JOptionPane.showInputDialog(null, "Masukkan nilai integer" + "\nantara 1 - 7", "Integer ke Nama Hari", JOptionPane.QUESTION_MESSAGE); // Konversi ke integer nilai = Integer.parseInt(strNilai); // Jika nilai yang diinput salah, program selesai if ((nilai < 1) || (nilai > 7)) System.exit(0); // Menginisialisasi variabel strHari strHari = "Senin"; // Menyeleksi dengan switch switch (nilai) { case 1 : strHari = "Senin"; break; case 2 : strHari = "Selasa"; break; case 3 : strHari = "Rabu"; break; case 4 : strHari = "Kamis"; break; case 5 : strHari = "Jum'at"; break; case 6 : strHari = "Sabtu"; break; case 7 : strHari = "Minggu"; break; } // Menampilkan hasil JOptionPane.showMessageDialog(null,"Nilai integer : " + nilai + "\nKonversi ke nama hari : " + strHari, "Integer ke Nama Hari", JOptionPane.INFORMATION_MESSAGE); // Mengakiri aplikasi GUI System.exit(0); } } |