Direkomendasikan, 2024

Pilihan Editor

Perbedaan antara if-else dan switch

"Jika-lain" dan "beralih" keduanya adalah pernyataan pemilihan. Pernyataan seleksi, mentransfer aliran program ke blok pernyataan tertentu berdasarkan pada apakah kondisinya “benar” atau “salah”. Perbedaan mendasar antara pernyataan if-else dan switch adalah bahwa pernyataan if-else “memilih eksekusi pernyataan berdasarkan evaluasi ekspresi dalam pernyataan if”. Pernyataan sakelar “memilih eksekusi pernyataan yang sering didasarkan pada perintah keyboard”.

Grafik perbandingan

Dasar untuk Perbandinganjika adaberalih
DasarPernyataan mana yang akan dieksekusi tergantung pada output dari ekspresi di dalam pernyataan if.Pernyataan mana yang akan dieksekusi ditentukan oleh pengguna.
Ekspresipernyataan if-else menggunakan banyak pernyataan untuk beberapa pilihan.pernyataan switch menggunakan ekspresi tunggal untuk beberapa pilihan.
Pengujianpernyataan if-else menguji kesetaraan dan juga untuk ekspresi logis.uji pernyataan beralih hanya untuk kesetaraan.
Evaluasijika pernyataan mengevaluasi integer, karakter, pointer atau tipe floating-point atau tipe boolean.pernyataan switch hanya mengevaluasi nilai karakter atau integer.
Urutan EksekusiEntah jika pernyataan akan dieksekusi atau pernyataan dieksekusi.pernyataan switch mengeksekusi satu kasus demi kasus sampai pernyataan istirahat muncul atau akhir dari pernyataan switch tercapai.
Eksekusi DefaultJika kondisi di dalam jika pernyataan salah, maka secara default pernyataan lain dijalankan jika dibuat.Jika kondisi di dalam pernyataan switch tidak cocok dengan kasus apa pun, untuk contoh tersebut pernyataan default dijalankan jika dibuat.
EditingSulit untuk mengedit pernyataan if-else, jika pernyataan if-else bersarang digunakan.Sangat mudah untuk mengedit kasus beralih karena, mereka dikenali dengan mudah.

Definisi if-else

Pernyataan if-else milik pernyataan seleksi di OOP. Bentuk umum dari pernyataan if-else adalah sebagai berikut

 if (ekspresi) {statement (s)} else {statement (s)} 

di mana "jika" dan "lain" adalah kata kunci, dan pernyataan dapat berupa pernyataan tunggal atau blok pernyataan. Ekspresi dievaluasi sebagai "benar" untuk nilai yang bukan nol dan untuk nilai nol dievaluasi sebagai "salah".
Ekspresi jika pernyataan dapat berisi integer, karakter, pointer, floating-point atau itu bisa menjadi tipe boolean. Pernyataan else adalah opsional dalam pernyataan if-else. Jika ekspresi mengembalikan true, pernyataan di dalam jika pernyataan dieksekusi, dan jika itu mengembalikan false pernyataan di dalam pernyataan lain dieksekusi dan, jika pernyataan lain adalah tidak dibuat tidak ada tindakan yang dilakukan, dan kontrol program melompat keluar pernyataan if-else.

Mari kita pahami dengan sebuah contoh.

 int i = 45, j = 34; if (i == 45 & j == 34) {cout << "i jyou memilih dark choclate"; istirahat; kasus 2: cout << "Anda memilih permen"; istirahat; case 3: cout << "you choose lollypop"; istirahat; . . cout default << "Anda memilih apa-apa"; } 

Di sini, nilai "i" akan memutuskan kasus mana yang akan dieksekusi, jika pengguna memberikan nilai "i" selain 1, 2, atau 3, maka case default dieksekusi.

Perbedaan Kunci antara jika ada dan beralih

  1. Ekspresi di dalam jika pernyataan memutuskan apakah akan mengeksekusi pernyataan di dalam jika blok atau di bawah blok lain. Di sisi lain, ekspresi di dalam pernyataan sakelar memutuskan kasus mana yang akan dieksekusi.
  2. Anda dapat memiliki beberapa pernyataan jika untuk beberapa pilihan pernyataan. Sebagai gantinya Anda hanya memiliki satu ekspresi untuk beberapa pilihan.
  3. Pernyataan if-esle memeriksa kesetaraan dan juga untuk ekspresi logis. Di sisi lain, alihkan cek hanya untuk kesetaraan.
  4. Pernyataan if mengevaluasi bilangan bulat, karakter, pointer atau tipe floating-point atau tipe boolean. Di sisi lain, pernyataan switch hanya mengevaluasi karakter atau tipe data integer.
  5. Urutan eksekusi seperti pernyataan di bawah apakah blok akan mengeksekusi atau pernyataan di bawah pernyataan blok lain akan dieksekusi. Di sisi lain ekspresi dalam pernyataan switch memutuskan kasus mana yang akan dieksekusi dan jika Anda tidak menerapkan pernyataan break setelah setiap kasus itu akan dieksekusi sampai akhir pernyataan switch.
  6. Jika ekspresi di dalam jika ternyata salah, pernyataan di dalam blok lain akan dieksekusi. Jika ekspresi di dalam pernyataan sakelar berubah menjadi false, maka pernyataan default dijalankan.
  7. Sulit untuk mengedit pernyataan if-else karena membosankan untuk melacak di mana koreksi diperlukan. Di sisi lain, mudah untuk mengedit pernyataan beralih karena mudah dilacak.

Kesimpulan:

Pernyataan peralihan mudah diedit karena telah membuat kasing terpisah untuk laporan berbeda sedangkan, dalam pernyataan if-else bersarang, sulit untuk mengidentifikasi pernyataan yang akan diedit.

Top