Perbandingan If dan Switch
Termasuk bagian Logika dan Alur dalam perjalanan C# di Coddy. Pelajaran 10 dari 66.
C# menyediakan dua cara utama untuk menangani beberapa kondisi: pernyataan if-else dan pernyataan switch. Masing-masing memiliki keunggulan dalam situasi yang berbeda.
Pernyataan if-else fleksibel dan dapat menangani jenis kondisi apa pun:
string grade = "B";
if (grade == "A")
{
Console.WriteLine("Excellent");
}
else if (grade == "B")
{
Console.WriteLine("Good");
}
else if (grade == "C")
{
Console.WriteLine("Satisfactory");
}
else
{
Console.WriteLine("Needs improvement");
}Pernyataan switch lebih rapi saat membandingkan satu variabel dengan beberapa nilai konstan:
string grade = "B";
switch (grade)
{
case "A":
Console.WriteLine("Excellent");
break;
case "B":
Console.WriteLine("Good");
break;
case "C":
Console.WriteLine("Satisfactory");
break;
default:
Console.WriteLine("Needs improvement");
break;
}Switch dapat mengelompokkan beberapa case (fall-through) agar semuanya menghasilkan keluaran yang sama. Susun label case secara berurutan tanpa kode di antaranya, lalu letakkan satu break di bagian akhir:
string grade = "B";
switch (grade)
{
case "A":
case "a":
Console.WriteLine("Excellent - 4 points");
break;
case "B":
case "b":
Console.WriteLine("Good - 3 points");
break;
case "C":
case "c":
Console.WriteLine("Satisfactory - 2 points");
break;
default:
Console.WriteLine("Needs improvement");
break;
}Di sini, "B" dan "b" sama-sama masuk ke blok yang sama dan mencetak "Good - 3 points". Pola ini berguna setiap kali kamu ingin input huruf besar dan huruf kecil, atau kumpulan nilai apa pun, menghasilkan hasil yang sama.
Switch juga dapat mengelompokkan case dengan label berbeda yang memiliki hasil yang sama:
char dayCode = 'M';
switch (dayCode)
{
case 'M':
Console.WriteLine("Monday");
break;
case 'T':
Console.WriteLine("Tuesday or Thursday");
break;
case 'W':
Console.WriteLine("Wednesday");
break;
case 'F':
Console.WriteLine("Friday");
break;
default:
Console.WriteLine("Unknown day");
break;
}Tantangan
SedangBuat method bernama convertGradeToPoints yang:
- Menerima nilai huruf sebagai parameter bertipe string
- Mengonversinya menjadi nilai angka menggunakan pendekatan switch dan if-else
methodtersebut harus menerapkan kedua pendekatan dan mengembalikan hasil dari implementasi switch- Gunakan konversi nilai berikut:
- "A" atau "a" = 4
- "B" atau "b" = 3
- "C" atau "c" = 2
- "D" atau "d" = 1
- "F" atau "f" = 0
- Input lainnya = -1
Coba sendiri
public class ConvertGradeToPoints
{
// Implementasikan method convertGradeToPoints
public static int convertGradeToPoints(string letterGrade)
{
// Tulis kodemu di sini
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1array Multidimensi
Dasar-Dasar array 2DMendeklarasikan dan Menginisialisasi array 2DMengakses Elemen array 2DPerulangan Bersarang dengan array 2Darray BergerigiOperasi Matriks UmumRangkuman: array Multidimensi4Teknik Alur Kontrol
Pengembalian DiniKlausa PenjagaPernyataan Lompatan (goto)Break dan ContinueMeratakan Percabangan Bersarang7Operator Logika Lanjutan
Evaluasi Hubung SingkatOperator Logika PercabanganPrioritas OperatorRingkasan Operator Lanjutan2Pengambilan Keputusan Tingkat Lanjut
Beberapa KondisiLogika Boolean yang KompleksPerbandingan If dan SwitchPernyataan Switch BersarangUlasan: Pengambilan Keputusan Tingkat Lanjut5Penanganan Exception
Dasar Try-CatchJenis ExceptionBeberapa Blok CatchBekerja dengan fileBlok FinallyUsing vs. Try-FinallyException KustomRingkasan: Penanganan error3Peningkatan Loop
Performa LoopIterasi yang KompleksSetiap Jenis LoopRefactoring LoopRangkuman: Loop yang Dioptimalkan6Penanganan Null
Dasar Referensi NullTipe Nilai NullablePola Pemeriksaan NullPemrograman DefensifRingkasan: Keamanan NullLatihan sendiri: Compiler C# online