งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

C# Operation สุพจน์ สวัตติวงศ์ Reference:

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "C# Operation สุพจน์ สวัตติวงศ์ Reference:"— ใบสำเนางานนำเสนอ:

1 สุพจน์ สวัตติวงศ์ tohpus@hotmail.com
C# Operation สุพจน์ สวัตติวงศ์ Reference: นิรันดร์ ประวิทย์ธนา, เก่ง C# ให้ครบสูตร ฉบับ OOP, วิตตี้กรุ๊ป

2 Operation ใน C# Operation ใน C# แบ่งออกเป็น 3 ชนิดคือ
Numerical Operation String Operation Boolean Operation

3 Numerical Operation เป็น Operation ในการคำนวณทางคณิตศาสตร์ สามารถใช้ได้มั้งตัวเลข, เลขทศนิยม และตัวอักษร หลักการเหมือนการคำนวณทางคณิตศาสตร์โดยทั่วไป เครื่องหมายที่ใช้ =, +, -, *, /, %, ++, --, () เป็นต้น

4 การหาร ในภาษาคอมพิวเตอร์ มีการหารอยู่ 2 แบบคือ
Divide หรือ Div (/) คือการหารโดยปกติ หากตัวแปรที่ทำการหารเป็นจำนวนเต็ม Div จะทำการหารโดยตัดเศษทิ้ง หากตัวเป็นจำนวนจริง(ทศนิยม) จะแสดงค่าผลลัพธ์การหารตามปกติ Modulus หรือ Mod(%)คือการหารเอาเศษไว้ใช้งาน Console.WriteLine("17.0%2.0="+(17.0 % 2.0) + " 17%2=" + (17 % 2)); Console.WriteLine("17.0/2.0="+(17.0 / 2.0) + " 17/2=" + (17 / 2)); 17.0%2.0=1 17%2=1 17.0/2.0= /2=8

5 Increment Operator และ Decrement Operator
เป้าหมายเพื่อให้กระชับมากขึ้น

6 ตัวอย่าง int x = 3, y = 2, z; float a, b, c; x = 3;
Console.WriteLine("x= " + x); Console.WriteLine("x++ =" + (x++)); x= 3 x++ =3 x= 4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("++x =" + (++x)); x= 3 ++x =4 x= 4 a = 3.0f; Console.WriteLine("a= " + a); Console.WriteLine("a++ =" + (a++)); a= 3 a++ =3 a= 4

7 ตัวอย่าง char d='A'; Console.WriteLine("d= " + d);
d= B

8 x++ เท่ากับ x+1? จากที่ผ่านมาจะสังเกตุว่า x++ จะดูเหมือนจะเท่ากับ x+1?
Console.WriteLine("x= " + x); Console.WriteLine("x++ =" + (x++)); x= 3 x++ =3 x= 4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x+1 =" + (x+1)); x= 3 x+1 =4

9 x++ เท่ากับ x+1? x= 4 x++ =4 x+1 =4 x+1 =4
Console.WriteLine("x= " + x); Console.WriteLine("++x =" + (++x)); x= 3 x++ =4 x= 4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x+1 =" + (x+1)); x= 3 x+1 =4 x = 3; Console.WriteLine("x= " + x); Console.WriteLine("x=x+1 =" + (x=x+1)); x= 3 x+1 =4 x= 4

10 Assignment Operator นอกจากเครื่องหมาย = ยังมี Operator อื่นๆ อีกเช่น +=, -=, *=, /=, %= โดยเครื่องหมายเหล่านี้ทำให้ Code ดูกระชับมากขึ้น Assignment Operator มีความหมายเท่ากับ x+=3; x=x+3; x-=3; x=x-3; x*=3; x=x*3; x/=3; x=x/3; x%=3; x=x%3;

11 ขั้นตอนการคำนวณของคอมพิวเตอร์ ในตัวดำเนินการทางคณิตศาสตร์
ขั้นตอนการคำนวณของคอมพิวเตอร์ ในตัวดำเนินการทางคณิตศาสตร์  วงเล็บ “( )” ไม่ว่าอย่างไรก็ตาม คอมพิวเตอร์จะทำการคำนวณในวงเล็บให้เสร็จก่อนดำเนินการต่อไป “++”และ “--” กรณีที่เป็น++ อยู่ด้านหน้า เช่น ++x นับจากซ้ายไปขวาหากเจอเครื่องหมายเหล่านี้จะทำก่อน การคูณ “*”และ การหาร “ /”, “%” นับจากซ้ายไปขวา เจอเครื่องหมายใด (คูณ หรือ หาร) ก็จะทำก่อน การบวก และ ลบ “+”,“-” จากซ้ายไปขวาเช่นกัน เจอเครื่องหมายใด (บวก หรือ ลบ) ก็จะทำก่อน  “++”และ “--” กรณีที่เป็น++ อยู่ด้านหลัง เช่น x++ นับจากซ้ายไปขวาหากเจอเครื่องหมายเหล่านี้จะทำก่อน

12 Exercise int a=2, b=3, c=4; float d=5.0, e=7.0, f=9.0; 5+3 4-5 -8+9
4+-2*-5-(6*2) (20/5)+(9-5)*6/3 a+=5 a*=2 a/=3 a%= 6 144/3 144.0/3 144.0/3.0f 1/2 1.0/2 12%3 12.0%3 3%2 125/10 125/100 125%10 125%10 125%100 125%1000 b+c*d/e f+c*1/2.0 b+c*2.0 (b++) +d ++b b-- (c++)+(++c)

13 String Operation เป็น Operation ที่ทำงานกับ String ด้วย operator “+”
String s1, s2, s3; s1 = "1"; s2 = "6"; s3 = s1 + s2; Console.WriteLine("s1 ===>"+s1+"\ns2 ===>"+s2+"\ns3=s1+s2 ====>"+s3); s1 ===>1 s2 ===>6 s3=s1+s2 ====>16

14 Boolean Operation หรือ Logical Operation
คือ Operation ที่ส่งค่าคืนกลับมาเป็น “True” หรือ “False” เท่านั้น เช่น ==, <=, <, >, >=, !=, &&, || เป็นต้น โดย Logical Operation มีการแบ่งออกเป็น Comparison Operator Logical Operator

15 Comparison Operator เครื่องหมาย ความหมาย ตัวอย่าง == เท่ากับ a==b <
น้อยกว่า a<b <= น้อยกว่าเท่ากับ a<=b > มากกว่า a>b >= มากกว่าเท่ากับ a>=b != ไม่เท่ากับ a!=b

16 Logical Operator เครื่องหมาย ความหมาย ตัวอย่าง && และ a&&b || หรือ
! ไม่ !b

17 Exercise int a=2, b=3, c=4; float d=5.0, e=7.0, f=9.0; 2 <=5
10 > 50 (2<5) && (6>1)  (5!=6) || (2>3) a!=null c-c==false 0==(int)true a=2+1==b (a=2+1)==b a+c!=b+3 (a=0)==false (a=1)==true (b<b) && (c>c)  (a!=-a) || (b>e) c!=e=b f==b=b !true !false !(a=b)==false !(a==b)==false

18 Bitwise Operators เป็น operator อย่างหนึ่งของ Numerical Operation
ที่จะกระทำกับทุก ๆ bit ของ operand ในชนิด integer type(sbyte, short, int, long, byte, ushort, uint, ulong) การทำงานของ Bitwise เป็นการคำนวณที่เร็วกว่าการคำนวณในแบบปกติ เครื่องหมาย ความหมาย ตัวอย่าง & Bitwise And a&b | Bitwise Or a|b ^ Bitwise XOR a^b ~ Bitwise complement ~b << Bitwise Shift Left a<<b >> Bitwise Shift Right a>>b

19 Truth Table AND a b a&b 1

20 Truth Table OR a b a|b 1

21 Truth Table XOR a b a^b 1

22 Truth Table Complement
1

23 การคำนวณของ Bitwise Operators
สมมติ ตัวแปร a =3; b=2; ให้ทำการเปลี่ยน a และ b เป็นเลขฐาน 2 ก่อน จากนั้นจึงนำมาคำนวณกับ Bitwise ดังนี้ a= 112 b= 102 a&b a|b a^b ~b b<<1 b>>1 ~ & | & << << 2 3 1 -3 4 1

24 ประโยชน์ของ Bitwise Operators
ใช้ในการคำนวณได้เร็วขึ้น สามารถนำมาใช้ในการ คูณ 2 แบบเร็วๆ ได้เช่น 4<<1 = 8 สามารถมาทำผลหาร2 แบบเร็วๆ ได้เช่นกัน เช่น 18>>1 =9 สามารถใช้ในการทำ Flag ได้ โดยเก็บค่าต่างๆไว้ใน Bit int personal = 1; int group = 2; int all = 4; int user_permission = personal | group; if ((personal & user_permission) != 0) Console.WriteLine("access granted");

25 Bitwise Assignment Operator
โดยเครื่องหมายเหล่านี้ทำให้ Code ดูกระชับมากขึ้น และเหมือนกับ Assignment Operator ปกติ Assignment Operator มีความหมายเท่ากับ x&=3; x=x&3; x|=3; x=x|3; x^=3; x=x^3; x<<=3; x=x<<3; x>>=3; x=x>>3;

26 Exercise int a = 1, b = 2, c = 3, d = 4, e = 5, f = 7, g =8; a|b a&b&c
(a&b)|(a&c)  a&(b|c) (a|b)&(a|c) a|(b&c) a^b+c|b a^b d*e/1.0^b f=a|b|d a&b&c a&b|c a|b|d|g  a&b&d&g g>>1 g<<1 b<<2 (4*2)>>1 (16)>>3 ~a

27 สรุปลำดับการใช้งานของ Operator ทั้งหมดใน C#
() ++, -- กรณี วางไว้หน้าตัวแปร *, /, % +, - ==, != && || =, +=, -=, /=, %= ++, -- กรณี วางไว้หลังตัวแปร

28 Enumerations การกำหนด Constant แบบ Enum กำหนดโดยตรงใน namespace ดังนี้
วิธีใช้งานดังต่อไปนี้ enum Color { red, blue, green } // values: 0, 1, 2 enum Access { personal = 1, group = 2, all = 4 } enum Access1 : byte { personal = 1, group = 2, all = 4 } Color c = Color.blue; // enumeration constants must be qualified Access a = Access.personal | Access.group; if ((Access.personal & a) != 0) Console.WriteLine("access granted");

29 การใช้เครื่องหมายของ enum ใน C#
Enumerations ไม่สามารถใช้ int แทนได้ (ยกเว้นถูกกำหนด Type ไว้ก่อน) Enumeration types ถูก inherit จาก object จึงใช้ method (Equals, ToString, ...)ได้ Class System.Enum ครอบคลุมการทำงานบน enumerations (GetName, Format, GetValues, ...).


ดาวน์โหลด ppt C# Operation สุพจน์ สวัตติวงศ์ Reference:

งานนำเสนอที่คล้ายกัน


Ads by Google