Apa itu Switch Case di Java & Bagaimana Cara Menggunakannya?

Diterbitkan: 2022-03-04

Kasus sakelar di Java adalah salah satu dari banyak pernyataan Java yang memberi tahu bahasa pemrograman apa yang harus dilakukan. Seperti kalimat dalam bahasa Inggris yang memberikan gambaran lengkap tentang teks dan menyertakan klausa, pernyataan Java adalah perintah yang mencakup satu atau lebih ekspresi yang dieksekusi oleh juru bahasa Java. Dalam istilah yang lebih sederhana, pernyataan Java adalah instruksi yang menjelaskan apa yang harus terjadi.

Pernyataan Java diakhiri dengan titik koma (;) dan memberitahu Java untuk memproses instruksi hingga titik koma itu. Secara default, Java interpreter mengikuti urutan pernyataan yang ditulis dan menjalankan pernyataan satu demi satu. Namun, pernyataan yang mengontrol aliran program (pernyataan kontrol aliran), seperti loop dan kondisional, tidak mengikuti urutan eksekusi default. Artikel ini berfokus pada satu jenis mekanisme kontrol pemilihan – pernyataan kasus sakelar Java .

Daftar isi

Apa itu kasus sakelar di Jawa?

Java mendukung tiga jenis pernyataan: pernyataan ekspresi untuk mengubah nilai variabel, memanggil metode dan membuat objek, pernyataan deklarasi untuk mendeklarasikan variabel, dan pernyataan aliran kontrol untuk menentukan urutan eksekusi pernyataan.

Pernyataan kasus sakelar Java adalah jenis pernyataan aliran kontrol yang memungkinkan nilai ekspresi atau variabel untuk mengubah aliran kontrol eksekusi program melalui cabang multi-arah. Berbeda dengan pernyataan if-then dan if-then-else, pernyataan switch Java memiliki beberapa jalur eksekusi. Switch case di Java berfungsi dengan tipe data primitif pendek, byte, int, dan char. Dari JDK7, Java switch juga dapat digunakan dengan kelas String, tipe enumerated, dan kelas Wrapper yang membungkus tipe data primitif seperti Byte, Character, Integer, dan Short.

Tubuh pernyataan kasus sakelar di Java disebut blok sakelar. Setiap pernyataan di blok switch diberi label menggunakan satu atau lebih kasus atau label default. Oleh karena itu, pernyataan switch mengevaluasi ekspresinya, diikuti dengan eksekusi semua pernyataan yang mengikuti label kasus yang cocok.

Diberikan di bawah ini adalah sintaks dari pernyataan switch case:

// ganti pernyataan

beralih (ekspresi)

{

// pernyataan kasus

// nilai harus dari tipe ekspresi yang sama

nilai kasus1 :

// Pernyataan

merusak; // istirahat adalah opsional

nilai kasus2 :

// Pernyataan

merusak; // istirahat adalah opsional

// Kita dapat memiliki sejumlah pernyataan kasus

// di bawah ini adalah pernyataan default, digunakan ketika tidak ada kasus yang benar.

// Tidak diperlukan jeda dalam kasus default.

bawaan :

// Pernyataan

}

Contoh pernyataan switch Java

Contoh kode Java berikut mendeklarasikan sebuah int bernama "bulan" yang nilainya mewakili salah satu dari 12 bulan dalam setahun. Kode menggunakan pernyataan switch case untuk menampilkan nama bulan berdasarkan nilai bulan.

Contoh Sakelar kelas publik {

public static void main(String[] args) {

int bulan = 6;

String bulanString;

beralih (bulan) {

kasus 1: monthString = “Januari”;

merusak;

kasus 2: monthString = “Februari”;

merusak;

kasus 3: monthString = “Maret”;

merusak;

case 4: monthString = “April”;

merusak;

kasus 5: monthString = “Mei”;

merusak;

case 6: monthString = “Juni”;

merusak;

kasus 7: monthString = “Juli”;

merusak;

kasus 8: monthString = “Agustus”;

merusak;

kasus 9: monthString = “September”;

merusak;

kasus 10: monthString = “Oktober”;

merusak;

kasus 11: monthString = “November”;

merusak;

kasus 12: monthString = “Desember”;

merusak;

default: monthString = “Bulan tidak valid”;

merusak;

}

System.out.println(monthString);

}

}

Keluaran: Juni

Tujuan pernyataan break dalam kasus sakelar Java

Pernyataan break adalah aspek penting dari kasus sakelar Java yang mengakhiri pernyataan sakelar terlampir. Pernyataan break diperlukan karena tanpanya, pernyataan di blok switch akan gagal. Jadi, terlepas dari ekspresi label kasus berikutnya, semua pernyataan setelah label kasus yang cocok dieksekusi secara berurutan hingga pernyataan break ditemukan.

Kode berikut adalah contoh untuk menunjukkan blok switch yang jatuh tanpa adanya pernyataan break.

SwitchExampleFallThrough kelas publik {

public static void main(String[] args) {

java.util.ArrayList<String> futureMonths =

new java.util.ArrayList<String>();

int bulan = 6;

beralih (bulan) {

kasus 1: futureMonths.add(“Januari”);

kasus 2: futureMonths.add(“Februari”);

kasus 3: futureMonths.add(“Maret”);

kasus 4: futureMonths.add(“April”);

kasus 5: futureMonths.add(“Mei”);

kasus 6: futureMonths.add("Juni");

kasus 7: futureMonths.add(“Juli”);

kasus 8: futureMonths.add("Agustus");

kasus 9: futureMonths.add(“September”);

kasus 10: futureMonths.add("Oktober");

kasus 11: futureMonths.add(“November”);

kasus 12: futureMonths.add("Desember");

merusak;

default: istirahat;

}

if (bulan masa depan.isEmpty()) {

System.out.println(“Nomor bulan salah”);

} lain {

for (String monthName : futureMonths) {

System.out.println(namabulan);

}

}

}

}

Keluaran:

Juni

Juli

Agustus

September

Oktober

November

Desember

Kode di atas menampilkan bulan dalam setahun yang sesuai dengan bulan bilangan bulat dan bulan-bulan berikutnya. Di sini, pernyataan break terakhir tidak memiliki tujuan karena aliran keluar dari pernyataan switch. Penggunaan pernyataan break sangat membantu karena membuat kode tidak rawan kesalahan dan modifikasi lebih mudah. Bagian default dalam kode menangani semua nilai yang tidak diatur oleh bagian kasus mana pun.

Pernyataan sakelar Java dengan beberapa label kasus

Beralih pernyataan di Java dapat memiliki beberapa label kasus juga. Kode berikut mengilustrasikan hal yang sama – di sini, jumlah hari dalam bulan tertentu dalam setahun dihitung.

kelas BeralihBeberapa{

public static void main(String[] args) {

int bulan = 2;

int tahun = 2020;

int jumlahHari = 0;

beralih (bulan) {

kasus 1: kasus 3: kasus 5:

kasus 7: kasus 8: kasus 10:

kasus 12:

numHari = 31;

merusak;

kasus 4: kasus 6:

kasus 9: kasus 11:

numHari = 30;

merusak;

kasus 2:

jika (((tahun % 4 == 0) &&

!(tahun % 100 == 0))

|| (tahun % 400 == 0))

numHari = 29;

lain

numHari = 28;

merusak;

bawaan:

System.out.println(“Bulan tidak valid.”);

merusak;

}

System.out.println(“Jumlah Hari = “

+ numHari);

}

}

Keluaran:

Jumlah Hari = 29

Pernyataan kasus sakelar Java bersarang

Sakelar bersarang adalah saat Anda menggunakan sakelar sebagai bagian dari urutan pernyataan sakelar luar. Dalam hal ini, tidak ada konflik antara konstanta kasus di sakelar lain dan di sakelar dalam karena pernyataan sakelar mendefinisikan bloknya sendiri.

Contoh berikut menunjukkan penggunaan pernyataan switch-case Java bersarang :

TestNest kelas publik {

public static void main(String[] args)

{

Cabang String = “MTU”;

int tahun = 2;

beralih (tahun) {

kasus 1:

System.out.println("Kursus Pilihan : Aljabar, Bahasa Inggris Lanjutan");

merusak;

kasus 2:

sakelar (Cabang) // sakelar bersarang

{

kasus "CSE":

kasus "CCE":

System.out.println(“Kursus Pilihan : Big Data, Machine Learning”);

merusak;

kasus "ECE":

System.out.println(“mata kuliah pilihan : Teknik Antena”);

merusak;

bawaan:

System.out.println(“Kursus Pilihan : Optimalisasi”);

}

}

}

}

Keluaran:

Mata kuliah pilihan: Big Data, Machine Learning

Penggunaan string dalam pernyataan switch

Mulai dari JDK7, Anda dapat menggunakan objek String dalam ekspresi pernyataan switch. Perbandingan objek string dalam ekspresi pernyataan switch dengan ekspresi terkait dari setiap label kasus adalah seolah-olah menggunakan metode String.equals. Juga, perbandingan objek string dalam ekspresi pernyataan switch peka huruf besar-kecil.

Contoh kode berikut menampilkan jenis permainan berdasarkan nilai String bernama “permainan.”

StringInSwitchStatementExample kelas publik {

public static void main(String[] args) {

Permainan senar = “Kriket”;

beralih (permainan){

kasing “Bola Voli”: kasing”Sepak Bola”: kasing”Kriket”:

System.out.println("Ini adalah permainan luar ruangan");

merusak;

kasing"Permainan Kartu": kasing"Catur": kasing"Teka-teki": kasing"bola basket dalam ruangan":

System.out.println("Ini adalah permainan dalam ruangan");

merusak;

bawaan:

System.out.println(“Permainan apa itu?”);

}

}

}

Keluaran:

Ini adalah permainan luar ruangan

Aturan yang perlu diingat saat menggunakan pernyataan switch Java

Akan lebih baik jika Anda mengingat aturan tertentu saat menggunakan pernyataan sakelar Java . Berikut ini adalah daftar yang sama:

  • Nilai untuk kasus dan variabel di sakelar harus memiliki tipe data yang sama.
  • Pernyataan sakelar Java tidak mengizinkan nilai kasus duplikat.
  • Nilai kasus harus literal atau konstan. Variabel tidak diperbolehkan.
  • Penggunaan pernyataan break di dalam sakelar mengakhiri urutan pernyataan.
  • Pernyataan break adalah opsional dan menghilangkannya akan melanjutkan eksekusi ke kasus berikutnya.
  • Pernyataan default juga opsional dan dapat terjadi di mana saja di dalam blok sakelar. Jika tidak ditempatkan di akhir, pernyataan break harus ditambahkan setelah pernyataan default untuk melewatkan eksekusi pernyataan kasus berikutnya.

Jalan ke depan

Java memiliki popularitas yang tak tertandingi di antara programmer dan pengembang dan merupakan salah satu bahasa pemrograman yang paling diminati saat ini. Tak perlu dikatakan, pengembang pemula dan insinyur perangkat lunak yang ingin meningkatkan keterampilan diri mereka sendiri untuk pasar kerja yang terus berkembang perlu menguasai keterampilan Java mereka.

Sertifikasi PG terkait pekerjaan upGrad dalam Rekayasa Perangkat Lunak dirancang khusus untuk mahasiswa baru dan kandidat tahun terakhir yang ingin belajar coding dan ditempatkan pada peran perangkat lunak tingkat pemula.

Jika Anda bertanya-tanya apa yang dimaksud dengan kursus online 5 bulan, berikut adalah beberapa hal penting untuk memberi Anda gambaran:

  • Dapatkan MERN Stack dan Spesialisasi Cloud-Native
  • Pelajari keterampilan terbaik seperti Java, DSA, CSS3, HTML5, AWS, MERN, SQL dan database NoSQL, dan banyak lagi
  • 500+ jam konten dengan 350+ jam pelatihan langsung
  • Lima proyek industri dan 50+ sesi langsung
  • Persiapan penempatan dan bimbingan karir
  • Forum diskusi dan jaringan rekan yang kuat

Jika Anda ingin memulai perjalanan Anda menuju karir yang menjanjikan di bidang rekayasa perangkat lunak, inilah kesempatan Anda untuk belajar dari yang terbaik.

1. Apa yang dimaksud dengan kasus dalam pernyataan switch?

Pernyataan switch di Java memungkinkan pengujian kesetaraan variabel terhadap daftar nilai. Di sini, setiap nilai dikenal sebagai kasus, dan variabel yang diaktifkan diperiksa untuk setiap kasus.

2. Apa keuntungan dari kasus sakelar?

Keuntungan utama dari pernyataan kasus sakelar Java dibandingkan kaskade if-else tradisional adalah bahwa yang pertama memungkinkan pemrogram untuk menulis kode yang lebih ringkas, jelas, dan mudah dibaca. Di sisi lain, pernyataan if-else sering melibatkan banyak pengulangan kode. Jadi, jika kita ingin mengubah bagian tertentu dari kode, kita harus membuat perubahan di tempat lain. Untuk menghindari proses yang memakan waktu dan rawan kesalahan ini, lebih bijaksana untuk menggunakan kasus sakelar.

3. Apa perbedaan antara switch case dan if-else?

Dalam kasus pernyataan switch, kasus dieksekusi secara berurutan satu demi satu sampai kata kunci break ditemukan atau pernyataan default dieksekusi. Sebaliknya, dalam kasus pernyataan if-else, blok 'if' atau 'else' akan dieksekusi tergantung pada kondisinya.