1. Operator pilihan ganda:switch
Java memiliki operator menarik lainnya yang diwarisi dari grandpappy (C++). Kita berbicara tentang switch
pernyataan itu. Kami juga bisa menyebutnya operator pilihan ganda. Ini terlihat sedikit rumit:
switch(expression)
{
case value1: code1;
case value2: code2;
case value3: code3;
}
Ekspresi atau variabel ditunjukkan dalam tanda kurung. Jika nilai ekspresinya adalah value1
, mesin Java mulai mengeksekusi code1
. Jika ekspresinya sama dengan value2
, eksekusi melompat ke code2
. Jika ekspresi sama dengan value3
, maka code3
dieksekusi.
Contoh:
Kode | Keluaran konsol |
---|---|
|
|
2. break
pernyataan diswitch
Fitur penting dari sebuah switch
pernyataan adalah bahwa program hanya melompat ke baris yang diperlukan (ke blok kode yang diperlukan) dan kemudian mengeksekusi semua blok kode hingga akhir switch
. Tidak hanya blok kode yang sesuai dengan nilai dalam switch
, tetapi semua blok kode hingga akhir switch
.
Contoh:
Kode | Keluaran konsol |
---|---|
|
|
Diberi suhu 36, program akan memasukkan switch
pernyataan, melompat ke dan mengeksekusi blok kode pertama (kasus pertama), dan kemudian dengan senang hati mengeksekusi blok kode lainnya.
Jika Anda ingin mengeksekusi hanya satu blok kode — blok kode yang terkait dengan case yang cocok — maka Anda harus mengakhiri blok dengan pernyataan break
;
Contoh:
Kode | Keluaran konsol |
---|---|
|
|
Anda dapat menghilangkan break
di kasus terakhir dari pernyataan switch
, karena blok tersebut adalah yang terakhir dengan atau tanpa pernyataan break.
3. Tindakan default:default
Poin penting lainnya. Apa yang terjadi jika tidak ada kasus yang tercantum dalam daftar switch
yang cocok dengan ekspresi dalam tanda kurung?
Jika kasus yang cocok tidak ditemukan, maka pernyataan selanjutnya switch
dilewati, dan program akan melanjutkan eksekusi setelah kurung kurawal mengakhiri pernyataan switch
.
Meskipun demikian, Anda juga dapat membuat switch
pernyataan berperilaku seperti cabang else dalam if-else
pernyataan. Untuk melakukan ini, gunakan default
kata kunci.
Jika tidak ada case
s di switch
blok yang cocok dengan nilai ekspresi dan switch
memiliki default
blok, blok default akan dieksekusi. Contoh:
Kode | Keluaran konsol |
---|---|
|
|
4. Membandingkan switch
danif-else
Pernyataan tersebut switch
agak mirip dengan if-else
pernyataan, hanya saja lebih rumit.
Anda selalu dapat menulis ulang kode pernyataan switch
sebagai beberapa if
pernyataan. Contoh:
Kode dengan sakelar | Kode dengan if-else |
---|---|
|
|
Kode di sebelah kiri akan berfungsi sama persis dengan kode di sebelah kanan.
Rantai beberapa if-else
pernyataan lebih disukai ketika sebuah if
pernyataan berisi berbagai ekspresi kompleks dalam setiap kasus terpisah.
5. Ekspresi apa yang dapat digunakan dalam sebuah switch
pernyataan?
Tidak semua tipe dapat digunakan sebagai case
label dalam switch
pernyataan. Anda dapat menggunakan literal dari jenis berikut:
- tipe bilangan bulat:
byte
,short
,int
,long
char
String
enum
jenis apa pun
Anda tidak dapat menggunakan jenis lain sebagai label kasus.
Contoh penggunaan pernyataan enum
di dalam switch
:
Day day = Day.MONDAY;
switch (day)
{
case MONDAY:
System.out.println("Monday");
break;
case TUESDAY:
System.out.println("Tuesday");
break;
case WEDNESDAY:
System.out.println("Wednesday");
break;
case THURSDAY:
System.out.println("Thursday");
break;
case FRIDAY:
System.out.println("Friday");
break;
case SATURDAY:
System.out.println("Saturday");
break;
case SUNDAY:
System.out.println("Sunday");
break;
}
Catatan: Jika Anda menggunakan pernyataan enum
di dalam switch
, Anda tidak perlu menuliskan nama kelas di depan setiap nilai pada case
label. Cukup tulis nilainya saja.