C# – Expression & Assignment Statements
Hello
Ini kelompok kami jangan lupa kunjungi blog mereka juga.
Kelompok 9
David: dchen.blog.binusian.org
Kevin Yulias : kevinyou.blog.binusian.org
Eric Khantino Sunardi : ricz97.blog.binusian.org
Gabriellyan Catheline Sanger : gcathelines.blog.binusian.org
Topik ketiga yaitu “Expression & Assignment Statements”
Pertama akan bahas Arithmetic Expressions : Operators
Operator Precedence Rule
Di dalam suatu operasi dapat terdapat banyak operator.Urutan eksekusi dari operator-operator disebut juga operator precedence. Precedence yang lebih rendah akan dieksekusi belakangan.
Unary operator ada satu operand
e.g: i++, i–, ++I, etc.
Binary operator ada dua operand
e.g: I + J, I – J, J * 2
Ternary operator ada 3 operand
e.g:
int input = Convert.ToInt32(Console.ReadLine()); string classify;
// if-else construction.
if (input > 0) classify = “positive”; else
classify = “negative”;
// ?: conditional operator.
classify = (input > 0) ? “positive” : “negative”;
Berikutnya Arithmetic Operators
Arithmetic operators digunakan untuk operasi aritmatika, seperti tambah, kurang, perkalian, pembagian, untuk list operator aritmatika yang di dukung oleh C# adalah sebagai berikut:
Assignment Operators
Operator ini digunakan untuk memberi nilai suatu variabel inivariabel =5;
jadi inivariabel yang berada disebelah kiri merupakan variabel yang akan diisi dengan nilai 5 yang ada disebelah kanan
Compound Assignment Exprressions
Mixed Mode Assignment
Penugasan Pernyataan Bisa juga jadi mixed-mode,
Contohnya :
int a = 2, b =3;
float c;
c = a / b ;
Pernyataan Perintah juga bisa di Mixed-Mode
C# hanya mengijinkan Pelebaran Tugas Coercions.
Overloaded Operators
Overloaded Operators merupakan fungsi yang memiliki karakter spesial.Keyword Operators biasanya di ikuti oleh simbol yang mendefinisikan operator tersebut.Sama seperti fungsi yang lainnya. Sebuah operator juga memiliki sebuah return type dan parameter list.
Overloaded Operators digunakan untuk Mendefinisikan / menimpa fungsi operator yang lain.
Contoh :
public static Box operator+ (Box b, Box c)
{
Box box = new Box();
box.length = b.length + c.length;
box.breadth = b.breadth + c.breadth;
box.height = b.height + c.height;
return box;
}
Berikutnya yaitu Relational & Boolean Expression
Relational expression menentukan apakah suatu value lebih besar, lebih kecil, sama atau tidak dengan value lain.
* The == operator cek apakah kedua operand sama.
* The != operator cek apakah kedua operand tidak sama.
* The <> operator cek apakah kedua operand tidak sama.
* The < operator cek apakah operand pertama lebih kecil dari operand kedua.
* The > operator cek apakah operand pertama lebih besar dari operand kedua.
* The <= operator cek apakah operand pertama lebih kecil sama dengan operand kedua.
* The >= operator cek apakah operand pertama lebih besar sama dengan operand kedua.
Boolean-expression adalah expression yang menampilkan hasil dari type bool.
Short Circuit Evaluation
Yang terakhir yaitu Type Conversion
* Narrowing Conversion
Adalah mengkonversi objek menjadi jenis yang tidak bisa mencakup semua nilai-nilai dari tipe yang asli.
Contoh : float to int
* Widening Conversion
Adalah sebuah objek diubah ke jenis yang dapat mencakup setidaknya perkiraan untuk semua nilai-nilai dari jenis aslinya.
Contoh : int to float
* Type Conversions : Mixed Mode
Sebuah Pernyataan atau Expresi Mixed-Mode dimana satunya mengoperasikan tipe-tipe lain yang berbeda.Sebuah Coercion adalah sebuah jenis konversi Implisit.Coercion mengurangi keuntungan dari Manfaat Type Checking, yang akan berakibat menganggu keandalannya.Di Sisi lain, Coercion memberikan Fleksibilitas.
Contoh:
double answer; //answer akan menjadi 3.0 bukan 3.333333
answer = 10 / 3; //karena operandnya berupa integer