ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017....

47
ตัวแปร ชนิดข้อมูล นิพจน์ และตัวดำเนินกำร (Variable, Data Type, Expression and Operator)

Upload: others

Post on 19-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ตวแปร ชนดขอมล นพจน และตวด ำเนนกำร(Variable, Data Type, Expression and Operator)

Page 2: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ตวแปร (Variable) คอ ชอหรอสญลกษณทก ำหนดขนเพอกำรอำงองต ำแหนงหนวยควำมจ ำทใชเกบขอมล

สำมำรถเกบขอมลทมชนดของขอมลแตกตำงกนได สำมำรถเปลยนแปลงคำขอมลไดตลอดเวลำ

2

Page 3: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ตวแปรนนตองขนตนดวยตวอกษรหำมตงชอตวแปรขนตนดวยตวเลข, เครองหมำย, สญลกษณอนใด

ถดจำกตวอกษรแรกของตวแปรจะตำมดวยตวอกษร หรอตวเลข หรอเครองหมำย $ หรอเครองหมำย _ กได หำมเปนเครองหมำยอนๆ และหำมเวนชองวำง

ตวแปรในภำษำ Java เปน Case Sensitive นนคอ กำรตงชอดวยภำษำองกฤษตวพมพเลกจะแตกตำงจำกกำรตงชอดวยภำษำองกฤษตวพมพใหญ

หำมตงชอตวแปรทตรงกบคยเวรด (Keyword) ค ำสงวน (Reserved Word) ในภำษำ Java

3

Page 4: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

4

Page 5: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

รปแบบกำรประกำศตวแปร (Variable Declaration)

โดยทdataType เปนชนดขอมลของตวแปรทตองกำรVarName เปนชอตวแปรโดยตงตำมกฎกำรตงชอ Value เปนคำของตวแปร

5

dataType VarName [= Value];

Page 6: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ตวอยำง เชน String name; //ประกำศตวแปร name แทนขอมลชอ เปนชนดขอควำมfloat score; //ประกำศตวแปร score แทนขอมลคะแนนสอบ เปนชนดเลข

ทศนยมchar grade; //ประกำศตวแปร grade แทนขอมลเกรด เปนชนดขอมลตวอกขระ

กำรประกำศตวแปรพรอมกบกำรก ำหนดคำเรมตนString name = “Boy”; //ประกำศตวแปร name มคำเรมตนเทำกบ Boyfloat score = 20.0f; //ประกำศตวแปร score มคำเรมตนเทำกบ 20.0char grade = ‘A’; //ประกำศตวแปร grade มคำเรมตนเทำกบ A

6

Page 7: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

แบงเปน 3 กลม ตำมรปแบบกำรใชงำน ไดแก Primitive Data Types ชนดของขอมลพนฐำนของภำษำ

Integer (จ ำนวนเตม) Floating point (เลขทศนยม) Textual (อกขระ) Logical (ตรรกะ/คำควำมจรง)

Class Types ชนดของขอมลทถำยทอดมำกจำกคลำสหรอ Interface

Array Types ชนดของขอมลทเปนอำรเรย หรอขอมลเปนชดๆ

7

Page 8: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

เปนขอมลตวเลขทไมมคำเปนทศนยม ใชเปนคำคงท ตวแปร และนพจนได

8

ชนดขอมล ขนำด (ไบต) ชวงกำรเกบขอมล (คำทเปนไปได)byteshortintlong

1248

-128 ถง +127-32,768 ถง +32,767-2,147,483,648 ถง +2,147,483,647-9,223,372,036,854,775,808 ถง+9,223,372,036,854,775,807

Page 9: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

Tip : ขอมลเลขจ ำนวนเตมชนด long จะใชอกษร L หรอ l ไวทำยคำตวเลข

เชน 2147483648L แสดงวำขอมลเลขนจะเกบในตวแปรชนด long

ในกรณทไมมตวอกษร L หรอ l ตอทำยคำตวเลข คอมไพเลอรจะรบรวำเลขดงกลำวเปนเลขจ ำนวนเตมชนด int เชน

long D = 2147483648; คอมไพเลอรจะมอง 2147483648 เปนเลขจ ำนวนเตมชนด intซงมคำเกนชวงกำรเกบขอมลของชนด intจงท ำใหเกด compiler error: integer number too large: 2147483648

9

Page 10: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

กำรก ำหนดตวแปรเพอเกบขอมลเลขจ ำนวนเตมทมำกกวำ 32767เปนขอมลชนด short integer ท ำใหเกดปญหำ overflow ของขอมล

10

short เกบขอมลขนำด 2 ไบตชวงขอมลคอ -32,768 ถง +32,767

Page 11: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

เปนขอมลตวเลขทมคำเปนทศนยม สำมำรถเขยนใหอยในรปตวเลขยกก ำลงได

11

ชนดขอมล ขนำด (ไบต) ชวงกำรเกบขอมล (คำทเปนไปได)

float

double

4

8

-3.40292347E+38 ถง+3.40292347E+38-1.79769313486231570E+308 ถง +1.79769313486231570E+308

Page 12: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

12

Tip : ขอมลชนดตวทศนยมจะใชอกษร F หรอ f ไวทำยคำตวเลขทศนยม เชน

0.07F แสดงวำขอมลเลขทศนยมนจะเกบในตวแปรชนด float ใชตวอกษร D หรอ d ไวทำยคำตวเลขทศนยม เชน

3.14D แสดงวำขอมลเลขทศนยมนจะเกบในตวแปรชนด double สำมำรถก ำหนดคำตวเลขจ ำนวนเตมเพอเกบในตวแปรชนด float หรอ

double ได โดยไมตองมใชตวอกษรตอทำยคำตวเลข เชน float A = 200;double B = 200;

Page 13: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

เปนขอมลทมควำมยำวหนงตวอกขระ ใชพนทหนวยควำมจ ำ 2 ไบตตอ 1 ตวอกขระ เกบขอมลไดถง 65,536 ตวอกษร ขอมลในกลมน ไดแก ตวอกษร (A ถง Z, a ถง z) ตวเลข (0 ถง 9) สญลกษณพเศษตำง ๆ เชน + - = $ * ฯลฯ

13

Page 14: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

กำรใชงำนตวอกขระตองอยภำยในเครองหมำย single quote เชน ’J’, ’m’, ‘9’ เปนตน

สำมำรถเรยงล ำดบตวอกขระตำมคำของรหสแอสก (ASCII: American Standard Code for Information Interchange) ได ตวอยำงเชน

14

อกขระ รหสแอสก ‘0’ 48‘1’ 49‘A’ 65‘B’ 66‘a’ 97‘b’ 98

Page 15: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

15

Page 16: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

เปนขอมลทมคำควำมจรงเปนจรงหรอเปนเทจเทำนน แทนคำดวย true หรอ false ไมใชเลขจ ำนวนเตมหรอคำอนๆ แทนคำควำมจรง

16

Page 17: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ใชตวแปรเกบขอมลชนดขอควำมในรปแบบของคลำส กำรใชงำนขอควำมตองอยภำยในเครองหมำย double

quote เชน “JAVA”, “Program” เปนตน ตวอยำงเชนString strProvice = “Bangkok”;String strMonth = “May”;

17

Page 18: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

คำคงท (Constant) ท ำหนำทเกบขอมลทตองกำรก ำหนดไวไมใหมกำรเปลยนแปลงตลอดเวลำ เชน คำ PI เปนตน

กำรประกำศคำคงทเหมอนกบกำรประกำศตวแปรทมกำรก ำหนดคำ เพยงแตจะมกำรใชคยเวรด final น ำหนำ

รปแบบกำรใชงำน

โดยท dataType เปนชนดขอมลของคำคงททตองกำรVarName เปนชอตวแปรโดยตงตำมกฎกำรตงชอ Value เปนคำของคำคงท

18

final dataType VarName [= Value];

เลขทศนยม1. double เปน default2. float ตองระบ f หรอ F หลงเลข

เลขจ ำนวนเตม1. int เปน default2. long ตองระบ l หรอ L หลงเลข

Page 19: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

public class variable {public static void main(String[] args) {char c = ‘Y’; int i = 1; double d = 2.5;float f = 1.2f; boolean b = true;final double SALES_TAX_RATE = 0.07d;String s = “Hello”;System.out.println("c = "+ c);System.out.println("i ="+ i);System.out.println("d ="+ d);System.out.println("f ="+ f);System.out.println("b ="+ b);System.out.println(“SALES_TAX_RATE = ” + SALES_TAX_RATE);System.out.println("s ="+ s);

}

19

c = Yi =1d = 2.5f = 1.2b = trueSALES_TAX_RATE = 0.07s = Hello

Page 20: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ท ำหนำทจดกำรหรอด ำเนนกำรใด ๆ ระหวำงตวแปร หรอตวถกกระท ำ (Operand) Operand Operand Expression

นพจน (Expression) หมำยถง ขอควำมหรอประโยคทเขยนอยในรปสญลกษณ โดยน ำขอมล, ตวแปร, ฟงกชนหรอคำคงท มำสมพนธกบ

ตวด ำเนนกำร (Operator) อยำงใดอยำงหนง นพจน 1 นพจน จะตองมตวถกกระท ำ (Operand) และ

ตวด ำเนนกำร (Operator) อยำงนอย 1 ตว20

Operator

Page 21: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

21

Page 22: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ใชส ำหรบก ำหนดคำขอมลใหกบตวแปรทำงดำนซำยของตวด ำเนนกำร =

22

ตวด ำเนนกำร ค ำอธบำย ตวอยำง= ก ำหนดคำ x = y คอ น ำคำ b มำใสใน x

+=เพมคำแลวใหคำใหม

x += y คอ x = x + y หรอน ำ x + y แลวใหคำใหมกบ x

-=ลดคำแลวใหคำใหม

x -= y คอ x = x - y หรอน ำ x – y แลวใหคำใหมกบ x

*=คณแลวใหคำใหม

x *= y คอ x = x * y หรอน ำ x * y แลวใหคำใหมกบ x

/=หำรแลวใหคำใหม

x /= y คอ x = x / y หรอน ำ x / y แลวใหคำใหมกบ x

Page 23: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหตวแปร A เปนชนดเลขจ ำนวนเตม และ A = 25นพจน กำรแทนคำนพจน คำของนพจนA += 5 A = A + 5 30A -= 25 A = A - 25 0A *= 10 A = A * 10 250A /= 25 A = A / 25 1A %= 5 A = A % 5 0

23

Page 24: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

24

ตวด ำเนนกำร ค ำอธบำย ตวอยำง+ บวก x + y ผลลพธคอ x บวก y- ลบ x – y ผลลพธคอ x ลบ y* คณ x * y ผลลพธคอ x คณ y/ หำร x / y ผลลพธคอ x หำร y

% เศษจำกกำรหำรx % y ผลลพธคอ เศษทไดจำก x หำร y (เชน 13 % 5 เทำกบ 3)

Page 25: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ขอสงเกต ผลกำรท ำงำนของตวด ำเนนกำร +, -, * และ / ทมตวแปรเปน

ขอมลชนดเลขทศนยม จะไดเปนคำทศนยมเสมอ ผลกำรท ำงำนของตวด ำเนนกำร +, -, * และ / ทมตวแปรเปน

ขอมลชนดเลขจ ำนวนเตม จะไดเปนคำจ ำนวนเตมเสมอ โดยทผลลพธจำกกำรหำร จะไดคำจ ำนวนเตมทปดทศนยมทง

ผลกำรท ำงำนของตวด ำเนนกำร % จะไดเปนคำจ ำนวนเตมเสมอ

25

Page 26: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหตวแปร A, B และ C เปนชนดเลขจ ำนวนเตม และ A = 11 และ B = 5

นพจน A B CC = A + B 11 5 16

C = A - B 11 5 6

C = A * B 11 5 55

C = A / B 11 5 2

C = A % B 11 5 1

26

Page 27: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหตวแปร A, B และ C เปนชนดเลขจ ำนวนทศนยม และ A = 10.5 และ B = 2.5

นพจน A B CC = A + B 10.5 2.5 13.0

C = A - B 10.5 2.5 8.0

C = A * B 10.5 2.5 26.25

C = A / B 10.5 2.5 4.2

27

Page 28: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ใชส ำหรบเปรยบเทยบขอมลระหวำงตวถกกระท ำทำงดำนซำยและดำนขวำของตวด ำเนนกำร ไดผลทมคำเปนจรง (true) หรอเทจ (false)

ใชในกำรตดสนใจก ำหนดทศทำงของกำรท ำงำนของโปรแกรม

ตวด ำเนนกำร ค ำอธบำย ตวอยำง== เทำกนหรอไม x == y จะเปนจรงเมอ x เทำกบ y!= ไมเทำกนหรอไม x != y จะเปนจรงเมอ x ไมเทำกบ y< นอยกวำ x < y จะเปนจรงเมอ x นอยกวำ y<= นอยกวำหรอเทำกบ x <= y จะเปนจรงเมอ

x นอยกวำหรอเทำกบ y> มำกกวำ x > y จะเปนจรงเมอ x มำกกวำ y>= มำกกวำหรอเทำกบ x >= y จะเปนจรงเมอ

x มำกกวำหรอเทำกบ b28

Page 29: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหตวแปร A, B เปนชนดเลขจ ำนวนทศนยม ตวแปร C, D เปนขอมลชนดตวอกขระ และ A = -3, B = 5, C = ‘t’ และ D = ‘s’

นพจน A BA <= 10 -3 <= 5 trueA+B > 0 (-3)+5 < 0 false

A-(-3) = B-5 (-3)-(-3) = 5-5 trueC == ‘t’ 't' == 't' trueC == ‘T’ 't' == 'T' falseC < D 't' < 's' falseD > ‘a’ 's' > ‘a’ true

29

Page 30: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ใชส ำหรบก ำหนดเงอนไขใหกบขอมลทจะน ำมำประมวลผลในทำงตรรกศำสตร ในกรณทมเงอนไขมำกกวำ 1 เงอนไข ไดผลทมคำเปนจรง (true) หรอเทจ

ใชในกำรตดสนใจก ำหนดทศทำงของกำรท ำงำนของโปรแกรม เชนกน

30

ตวด ำเนนกำร ควำมหมำย ตวอยำง ค ำอธบำย&& and x && y มคำเปนจรง กตอเมอ

x และ y มคำเปนจรง|| or x || y มคำเปนจรง กตอเมอ x หรอ y หรอ

ทง x และ y มคำเปนจรง! not ! y มคำเปนจรง กตอเมอ x มคำเปนเทจ

Page 31: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

เมอน ำมำเปรยบเทยบคำควำมจรงของนพจน โดยก ำหนดให x และ y เปนตวถกด ำเนนกำรทำงตรรกศำสตร จะไดผลกำรท ำงำนดงตำรำง

31

x y x && y x || y !x !ytrue true true true false falsetrue false false true false truefalse true false true true falsefalse false false false true true

Page 32: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหตวแปร A เปนชนดเลขจ ำนวนทศนยม และ ตวแปร B เปนขอมลชนดตวอกขระ และ A = 10 และ B = ‘X’

32

นพจน กำรแทนคำนพจน คำของนพจน(A > 0) && (A < 15) T && T true

(A > 0) && (A < 10) T && F false

(A > 0) || (A < 5) T || F true

(A <> 5) || (B == ‘X’) T || T true

! (A != 10) ! (F) true

! (B > ‘c’) ! (F) true

Page 33: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ตวด ำเนนกำรทม operand (ตวถกกระท ำ) เพยง 1 ตว เชน กำรเพมคำ/ลดคำ

33

ตวด ำเนนกำร ควำมหมำย ตวอยำง กำรท ำงำน ขอสงเกต

++เพมคำหนงคำใหกบตวแปร

A = B++A = BB = B + 1

ก ำหนดคำ ใหกบตวแปร A กอน เพมคำ ตวแปร B

A = ++BB = B + 1A = B

เพมคำ ใหตวแปร Bกอน ก ำหนดคำ ใหกบตวแปร A

- -ลดคำลงหนงคำใหกบตวแปร

A = B- -A = BB = B - 1

ก ำหนดคำ ใหกบตวแปร A กอน ลดคำ ตวแปร B

A = - -BB = B - 1A = B

ลดคำ ใหตวแปร Bกอน ก ำหนดคำ ใหกบตวแปร A

Page 34: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหตวแปร A, B เปนชนดเลขจ ำนวนเตม และ A = 5

34

นพจน A BB = A++ 6 5B = ++A 6 6B = A-- + 4 4 9B = ++A + 4 6 10B = 5 * A-- 4 25

Page 35: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

public class increment {public static void main(String[] args) {

int x, y;x=10;y=x++;System.out.println("x = "+x+" y= "+y);y=++x;System.out.println("x = "+x+" y= "+y);

}}

35

x = 11 y= 10x = 12 y= 12

สงคำ x ไปใหตวแปร y กอน แลวจงเพมคำ x

เพมคำ x แลว จง สงคำ x ไปใหตวแปร y

Page 36: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ตวด ำเนนกำรจะกระท ำกบทกๆ บตของตวถกด ำเนนกำรทมชนดขอมลในตระกลเลขจ ำนวนเตม (ไดแก byte, short, int และ long) หรอเปนตวอกษร

36

ตวด ำเนนกำร ค ำอธบำย

<<left shift หรอเลอนบตมำทำงซำย และเตมเลข 0 ทำงขวำ เทำกบจ ำนวนบตทเลอนไป

>>>Unsigned right shift หรอเลอนบตมำทำงขวำ และเตมเลข 0 ทำงซำยเทำกบจ ำนวนบตทเลอนไป

>>Signed right shift หรอเลอนบตมำทำงขวำ โดยพจำรณำเครองหมำย +/- ของขอมล คอจะเตมเลข 0 ทำงซำยเทำกบจ ำนวนบตทเลอนไป เมอขอมลเปนคำบวก และจะเตมเลข 1 ทำงซำยเทำกบจ ำนวนบตทเลอนไปเมอขอมลเปนคำลบ

& bitwise AND| bitwise OR

bitwise XOR

Page 37: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

กำรด ำเนนกำร and ผลลพธจะเปน 1 ถำตวถกด ำเนนกำรตวทหนงและตวถกด ำเนนกำรตวทสองมคำเปน 1 ทงค นอกนนใหผลลพธเปน 0

กำรด ำเนนกำร or ผลลพธจะเปน 1 ถำตวถกด ำเนนกำรตวตวใดตวหนงมคำเปน 1 นอกนนใหผลลพธเปน 0

กำรด ำเนนกำร xor ผลลพธจะเปน 1 ถำตวถกด ำเนนกำรทงสองมคำตำงกน และผลลพธจะเปน 0 เมอตวถกด ำเนนกำรทงสองมคำเหมอนกน

A B(Bitwise AND)

A & B(Bitwise OR)

A| B(Bitwise XOR)

A B0 0 0 0 00 1 0 1 11 0 0 1 11 1 1 1 0

37

Page 38: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

ก ำหนดใหขนำดเนอทส ำหรบเกบคำตวแปร A และ B เทำกบ 8 บต A = 01000001, B = 00100001 และ C = 11111000A & B = 00000001 A | B = 01100001 B << 2 = 10000100

A >>> 3 = 00001000 C >> 2 = 11111110

38

Page 39: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

39

ล ำดบท ตวด ำเนนกำร กำรกระท ำ1 ( ), [ ] ซำยไปขวำ2 ++, --, !, ~ ขวำไปซำย3 *, /, % ซำยไปขวำ4 +, - ซำยไปขวำ5 <<, >>, >>> ซำยไปขวำ6 <, <=, >, >= ซำยไปขวำ7 ==, != ซำยไปขวำ8 & ซำยไปขวำ9 ^ ซำยไปขวำ10 | ซำยไปขวำ11 && ซำยไปขวำ12 || ซำยไปขวำ13 ?: ซำยไปขวำ14 =, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, != ขวำไปซำย

Page 40: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

(2 + 3) * 5 = 25 2 + 3 * 5

(7 + 3) * (10 - 2) (5 + 2) * 15 % 4

40

Page 41: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

int x;

x=5+2*4+15*2/7;

double x;

x=5+2*4+15*2/7;

double x;

x=5+2*4+15*2.0/7;

double x;

x=5.0+2*4+15*2/7;

41

X=17

X=17.0

X=17.285714285714285

X=17.0

Page 42: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

Implicit Type Conversion เปนกำรแปลงชนดของขอมลในกรณทขอมลมชนดตำงกน กระท ำอตโนมต โดยคอมไพเลอร ซงมเงอนไขดงน

ขอมลใด ๆ จะตองมชนดของขอมลทเขำกนได (compatible type) คอ มชนดเปนตวเลขเหมอนกน

เปนกำรแปลงจำกชนดของขอมลทมขนำดเลกไปเปนชนดของขอมลทมขนำดใหญกวำเทำนน

42

Page 43: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

Explicit Type Conversion (casting) เปนกำรแปลงโดยผเขยนโปรแกรมvalNameResult = (dataType) valName

โดยท valNameResult เปนชอตวแปรทรบคำจำกกำรแปลงขอมล

ตองมชนดขอมลเดยวกนกบ dataTypedataType เปนชนดขอมลทตองกำรแปลงvalName เปนชอตวแปรหรอขอมลทตองกำรแปลงชนดขอมล

43

Page 44: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

เปนกำรแปลงคำชนดขอมลสำยอกขระใหเปนตวเลข หรอ เปลยนคำชนดขอมลตวเลขใหเปนสำยอกขระได ใชเมธอดในคลำส Wrapper ซงเปนคลำสทสมพนธกบขอมลชนดพนฐำน

(Primitive data type) เรยกผำนชอคลำส Wrapper ทสมพนธกบชนดขอมลทตองกำร

44

คลำส Wrapper

Primitive Data Type

เมธอดทใชเปลยนเปนตวเลข

เมธอดทใชเปลยนเปนสำยอกขระ

Integer int Integer.parseInt() Integer.toString()Float float Float. parseFloat() Float.toString()

Double double Double.parseDouble() Double.toString()

Page 45: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

45

Page 46: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

46

Page 47: ตัวแปร ชนิดข้อมูล นิพจน์และตัว ... · 2017. 8. 31. · ตัวแปร (Variable) คือ ชื่อหรือสัญลักษณ์ที่ก

47

Type mismatch: cannot convert from double to int

public class changeVar {public static void main(String[] args) {

int a;double b= 3;int c = 5;a =b+c;System.out.println("a ="+a);

}}