Latihan - Mengevaluasi ekspresi
- 11 menit
Logika keputusan digunakan untuk menetapkan jalur alternatif melalui kode Anda, di mana keputusan tentang jalur mana yang harus diikuti didasarkan pada evaluasi ekspresi. Misalnya, Anda dapat menulis beberapa kode yang menjalankan salah satu dari dua jalur berdasarkan input pengguna. Jika pengguna memasukkan huruf "a", kode Anda akan menjalankan satu blok kode. Jika mereka memasukkan huruf "b", kode Anda akan menjalankan blok kode yang berbeda. Dalam contoh ini, Anda mengontrol jalur eksekusi berdasarkan nilai yang ditetapkan ke string. Kode Anda memilih jalur eksekusi berdasarkan ekspresi, bagaimana ekspresi tersebut dievaluasi, dan logika mendasar yang digunakan untuk menentukan jalur.
Memeriksa cara membangun dan mengevaluasi ekspresi adalah tempat yang baik untuk memulai.
Apa itu ekspresi?
Ekspresi adalah kombinasi nilai (harfiah atau variabel), operator, dan metode apa pun yang menghasilkan nilai tunggal. Pernyataan adalah instruksi lengkap dalam C#, dan pernyataan terdiri dari satu atau beberapa ekspresi. Misalnya, pernyataan berikut ifberisi ekspresi tunggal yang mengembalikan satu nilai:
if (myName == "Luiz")
Anda mungkin telah berpikir bahwa nilai yang dikembalikan oleh ekspresi akan menjadi angka atau mungkin string. Memang benar bahwa pengembang aplikasi menggunakan berbagai jenis ekspresi untuk tujuan yang berbeda. Dalam hal ini, saat mengembangkan if pernyataan pilihan, Anda akan menggunakan ekspresi yang mengembalikan baik true atau false. Pengembang merujuk ke jenis ekspresi ini sebagai ekspresi Boolean. Saat kode Anda menyertakan ekspresi Boolean, nilai pengembalian selalu merupakan satu true atau false nilai.
Ekspresi Boolean penting karena kode Anda dapat menggunakan ekspresi ini untuk memutuskan blok kode mana yang akan dijalankan.
Ada berbagai jenis operator yang dapat Anda gunakan dalam ekspresi Boolean. Misalnya, pernyataan di if atas menggunakan operator == kesetaraan untuk memeriksa apakah variabel string ditetapkan ke nilai tertentu. Operator yang Anda pilih akan bergantung pada jalur kode yang tersedia, kondisi yang terkait dengan jalur, dan logika aplikasi yang mendasar.
Mengevaluasi persamaan dan pertidaksamaan
Salah satu evaluasi kode yang paling umum adalah pemeriksaan untuk melihat apakah dua nilai sama. Saat memeriksa kesetaraan, Anda akan menemukan operator == kesetaraan antara dua nilai yang sedang diperiksa. Jika nilai di salah satu sisi operator kesetaraan setara, maka ekspresi akan mengembalikan true. Jika tidak, ekspresi akan menghasilkan false.
Sebaliknya, Anda mungkin juga perlu memeriksa apakah dua nilai tidak sama. Untuk memeriksa ketidaksetaraan, Anda akan menggunakan operator != ketidaksetaraan antara dua nilai.
Anda mungkin bertanya-tanya mengapa Anda membutuhkan operator kesetaraan dan ketidaksetaraan. Alasannya akan menjadi lebih jelas saat Anda mempelajari cara membuat pernyataan pencabangan dan mulai menulis kode yang sesungguhnya. Dua operator yang melakukan tugas berlawanan memungkinkan Anda menjadi lebih ekspresif dan ringkas.
Sekarang saatnya untuk menyiapkan lingkungan pengodean Anda dan mulai menulis kode yang mengevaluasi ekspresi Boolean.
Menyiapkan lingkungan pengodian Anda
Modul ini mencakup aktivitas langsung yang memandu Anda melalui proses membangun dan menjalankan kode demonstrasi. Anda didorong untuk menyelesaikan aktivitas ini menggunakan Visual Studio Code sebagai lingkungan pengembangan Anda. Menggunakan Visual Studio Code untuk aktivitas ini akan membantu Anda menjadi lebih nyaman menulis dan menjalankan kode di lingkungan pengembang yang digunakan oleh para profesional di seluruh dunia.
Buka Visual Studio Code.
Anda dapat menggunakan Windows menu Mulai (atau sumber daya yang setara untuk OS lain) untuk membuka Visual Studio Code.
Pada menu File Visual Studio Code, pilih Buka Folder.
Dalam dialog Buka Folder, navigasikan ke folder Windows Desktop.
Jika Anda memiliki lokasi folder yang berbeda di mana Anda menyimpan proyek kode, Anda dapat menggunakan lokasi folder tersebut sebagai gantinya. Untuk pelatihan ini, yang penting adalah memiliki lokasi yang mudah ditemukan dan diingat.
Dalam dialog Buka Folder, pilih Pilih Folder.
Jika Anda melihat dialog keamanan yang menanyakan apakah Anda mempercayai penulis, pilih Ya.
Pada menu Terminal Visual Studio Code, pilih Terminal Baru.
Perhatikan bahwa perintah di panel Terminal menampilkan jalur folder untuk folder saat ini. Contoh:
C:\Users\someuser\Desktop>Catatan
Jika Anda bekerja pada PC Anda sendiri daripada di kotak pasir atau lingkungan yang dihosting dan Anda telah menyelesaikan modul Microsoft Learn lainnya dalam seri C# ini, Anda mungkin telah membuat folder proyek untuk sampel kode. Jika demikian, Anda dapat melewati langkah berikutnya, yang digunakan untuk membuat aplikasi konsol di folder TestProject.
Pada prompt perintah Terminal, untuk membuat aplikasi konsol baru di folder tertentu, masukkan perintah berikut:
dotnet new console -o ./CsharpProjects/TestProjectPerintah .NET CLI ini menggunakan templat program .NET untuk membuat proyek aplikasi konsol C# baru di lokasi folder yang ditentukan. Perintah membuat folder CsharpProjects dan TestProject untuk Anda, dan menggunakan TestProject sebagai nama file Anda
.csproj.Jika pesan ditampilkan memberi tahu Anda bahwa file sudah ada, lanjutkan dengan langkah berikutnya. Anda akan menggunakan kembali file proyek yang ada.
Dalam tampilan EXPLORER, perluas folder CsharpProjects .
Anda akan melihat folder TestProject dan dua file, file program C# bernama Program.cs dan file proyek C# bernama TestProject.csproj.
Pada menu File Visual Studio Code, pilih Buka Folder.
Dalam dialog Buka Folder , pilih folder CsharpProjects , lalu pilih Pilih Folder.
Dalam tampilan EXPLORER, perluas folder TestProject, lalu pilih Program.cs.
Hapus baris kode yang ada.
Anda akan menggunakan proyek konsol C# ini untuk membuat, membangun, dan menjalankan sampel kode selama modul ini.
Tutup panel Terminal.
Menggunakan operator kesetaraan
Pastikan Anda membuka dan Program.cs Visual Studio Code yang ditampilkan di panel Editor.
Catatan
Program.cs harus kosong. Jika tidak, pilih dan hapus semua baris kode.
Ketik kode berikut ke editor Visual Studio Code.
Console.WriteLine("a" == "a"); Console.WriteLine("a" == "A"); Console.WriteLine(1 == 2); string myValue = "a"; Console.WriteLine(myValue == "a");Pada menu File Visual Studio Code, pilih Simpan.
File Program.cs harus disimpan sebelum membangun atau menjalankan kode.
Di panel EXPLORER, untuk membuka Terminal di lokasi folder TestProject Anda, klik kanan TestProject, lalu pilih Buka di Terminal Terintegrasi.
Panel Terminal akan terbuka. Terminal harus menyertakan perintah yang menunjukkan bahwa Terminal terbuka untuk lokasi folder TestProject Anda.
Pada perintah Terminal, untuk menjalankan kode Anda, ketik dotnet run lalu tekan Enter.
Catatan
Jika Anda melihat pesan yang mengatakan "Tidak dapat menemukan proyek untuk dijalankan", pastikan bahwa prompt perintah Terminal menampilkan lokasi folder TestProject yang diharapkan. Misalnya:
C:\Users\someuser\Desktop\csharpprojects\TestProject>Anda akan menemukan keluaran berikut.
True False False True
Meningkatkan pemeriksaan kesetaraan string menggunakan metode pembantu bawaan string
Anda mungkin terkejut bahwa baris Console.WriteLine("a" == "A"); menghasilkan false. Saat membandingkan string, huruf besar/kecil penting.
Selain itu, pertimbangkan juga baris kode ini:
Console.WriteLine("a" == "a ");
Di sini Anda telah menambahkan karakter spasi di akhir string. Ekspresi ini juga akan menghasilkan false.
Dalam beberapa kasus, memiliki karakter spasi sebelum atau sesudah teks mungkin dapat diterima dengan sempurna. Namun, jika Anda perlu menerima kecocokan yang tidak tepat, Anda dapat "memijat" data terlebih dahulu. "Memijat" data berarti Anda melakukan pembersihan sebelum melakukan perbandingan untuk kesetaraan.
Misalnya, pertimbangkan kasus saat Anda mengumpulkan input pengguna di dalam perulangan. Setelah setiap nilai dimasukkan, Anda dapat memberi pengguna perintah untuk menentukan apakah mereka ingin melanjutkan, seperti Do you want to continue (Y/N)?. Jika pengguna ingin melanjutkan, mereka mungkin akan memasukkan atau yY. Anda akan ingin kode Anda menafsirkan kedua nilai secara merata, meskipun y tidak setara dengan Y.
Sebelum Anda memeriksa dua nilai string untuk kesetaraan, terutama ketika satu atau kedua nilai dimasukkan oleh pengguna, Anda harus:
- Memastikan kedua string berupa huruf besar semua atau huruf kecil semua menggunakan metode pembantu
ToUpper()atauToLower()pada nilai string apa pun. - Hapus spasi kosong di awal atau akhir menggunakan metode pembantu
Trim()pada nilai string apa pun.
Anda dapat meningkatkan pemeriksaan kesetaraan sebelumnya dengan menautkan dua metode pembantu ini pada kedua nilai, seperti yang ditunjukkan dalam daftar kode berikut:
Ganti kode di Editor Visual Studio Code dengan kode berikut:
string value1 = " a"; string value2 = "A "; Console.WriteLine(value1.Trim().ToLower() == value2.Trim().ToLower());Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda.
Perhatikan bahwa ketika Anda menjalankan kode kali ini, kode tersebut menghasilkan True.
Menggunakan operator ketidaksamaan
Gunakan operator komentar baris
//untuk mengomentari semua kode dari langkah sebelumnya.Ketik kode berikut ke editor Visual Studio Code.
Console.WriteLine("a" != "a"); Console.WriteLine("a" != "A"); Console.WriteLine(1 != 2); string myValue = "a"; Console.WriteLine(myValue != "a");Simpan file kode Anda, lalu gunakan Visual Studio Code untuk menjalankan kode Anda.
Anda akan menemukan keluaran berikut.
False True True False
Seperti yang Anda harapkan, hasilnya saat menggunakan operator ketidaksetaraan adalah kebalikan dari apa yang Anda lihat saat menggunakan operator kesetaraan. Itu berarti bahwa kode Anda akan bercabang dengan cara yang berlawanan juga, yang bisa persis seperti yang Anda inginkan.
Mengevaluasi perbandingan
Saat bekerja dengan jenis data numerik, Anda mungkin ingin menentukan apakah nilai lebih besar atau lebih kecil dari nilai lain. Gunakan operator berikut untuk melakukan jenis perbandingan ini:
- Lebih besar dari
> - Kurang dari
< - Lebih besar dari atau sama dengan
>= - Kurang dari atau sama dengan
<=
Secara alami, == operator dan != yang Anda gunakan untuk membandingkan nilai string di atas juga akan berfungsi saat membandingkan jenis data numerik.
Menggunakan operator Perbandingan
Gunakan operator
//komentar baris untuk mengomentari semua kode dari tugas sebelumnya.Ketik kode berikut ke editor Visual Studio Code.
Console.WriteLine(1 > 2); Console.WriteLine(1 < 2); Console.WriteLine(1 >= 1); Console.WriteLine(1 <= 1);Simpan file kode Anda, lalu gunakan Visual Studio Code untuk membuat dan menjalankan kode Anda.
Anda akan menemukan output berikut:
False True True True
Metode yang menghasilkan nilai Boolean
Beberapa metode mengembalikan nilai Boolean (true atau false). Dalam latihan berikut, Anda akan menggunakan metode bawaan String kelas untuk menentukan apakah string yang lebih besar berisi kata atau frasa tertentu yang signifikan untuk aplikasi Anda.
Catatan
Beberapa tipe data memiliki metode yang melakukan tugas utilitas yang bermanfaat. Jenis String data memiliki banyak dari ini. Beberapa menghasilkan nilai Boolean termasuk Contains(), StartsWith(), dan EndsWith(). Anda dapat mempelajari selengkapnya tentang tipe data di modul Microsoft Learn "Memanipulasi data alfanumerik menggunakan metode kelas String di C#".
Menggunakan metode yang mengembalikan Boolean
Gunakan operator komentar baris
//untuk mengomentari semua kode dari langkah sebelumnya.Ketik kode berikut ke editor Visual Studio Code.
string pangram = "The quick brown fox jumps over the lazy dog."; Console.WriteLine(pangram.Contains("fox")); Console.WriteLine(pangram.Contains("cow"));Simpan file kode Anda, lalu gunakan Visual Studio Code untuk membuat dan menjalankan kode Anda.
Anda akan menemukan keluaran berikut.
True False
Apa itu negasi logis?
Istilah "Negasi Logis" mengacu pada operator !negasi unary . Beberapa orang menyebut operator ini sebagai "bukan operator". Saat Anda menempatkan ! operator sebelum ekspresi bersyarat (atau kode apa pun yang dievaluasi ke atau truefalse), operator memaksa kode Anda untuk membalikkan evaluasi operand. Ketika negasi logis diterapkan, evaluasi menghasilkan true , jika operand mengevaluasi ke false , dan false , jika operand mengevaluasi ke true.
Berikut adalah contoh yang mungkin membantu Anda melihat koneksi antara ide-ide ini. Dua baris kode berikut menghasilkan hasil yang sama. Baris kedua lebih ringkas.
// These two lines of code will create the same output
Console.WriteLine(pangram.Contains("fox") == false);
Console.WriteLine(!pangram.Contains("fox"));
Menggunakan operator Negasi Logis
Gunakan operator komentar baris
//untuk mengomentari semua kode dari langkah sebelumnya.Ketik kode berikut ke editor Visual Studio Code.
string pangram = "The quick brown fox jumps over the lazy dog."; Console.WriteLine(!pangram.Contains("fox")); Console.WriteLine(!pangram.Contains("cow"));Simpan file kode Anda, lalu gunakan Visual Studio Code untuk membuat dan menjalankan kode Anda.
Anda akan menemukan keluaran berikut.
False True
Operator ketidaksamaan versus negasi logis
Operator ketidaksamaan != mencakup ! karakter, tetapi tidak boleh dikacaukan dengan negasi logis. Operator ketidaksetaraan mengembalikan true jika operand-nya tidak sama, dan mengembalikan false jika operand sama. Untuk operan jenis bawaan, ekspresi x != y menghasilkan hasil yang sama dengan ekspresi !(x == y) (contoh negasi logis).
Sampel kode berikut menunjukkan penggunaan != operator:
int a = 7;
int b = 6;
Console.WriteLine(a != b); // output: True
string s1 = "Hello";
string s2 = "Hello";
Console.WriteLine(s1 != s2); // output: False
Rekap
Berikut adalah poin penting utama yang Anda pelajari tentang mengevaluasi ungkapan Boolean sejauh ini:
- Ada banyak jenis ekspresi berbeda yang dievaluasi menjadi
trueataufalse. - Evaluasi persamaan menggunakan operator
==. - Mengevaluasi kesetaraan string mengharuskan Anda mempertimbangkan kemungkinan bahwa string memiliki kasus yang berbeda dan spasi di depan atau di belakang. Bergantung pada situasi Anda, gunakan metode pembantu
ToLower()atauToUpper(), dan metode pembantuTrim()untuk meningkatkan kemungkinan bahwa dua string setara. - Evaluasi pertidaksamaan menggunakan operator
!=. - Evaluasi lebih besar dari, kurang dari dan operasi serupa menggunakan operator perbandingan seperti
>,<,>=, dan<=. - Jika metode menghasilkan bool, hal ini dapat digunakan sebagai ungkapan Boolean.
- Gunakan operator negasi logis
!untuk mengevaluasi kebalikan dari ekspresi yang diberikan.