2.Java fundamentals

2,242 views

Published on

สือการเรียนการสอน เรื่อง โปรแกรมเชิงวัตถุ 2.Java fundamentals โดยคุณ Kan http://learners.in.th/file/zniperlll

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,242
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2.Java fundamentals

  1. 1. 976-140 Object-Oriented Programming344-202 Introduction to Object-Oriented Programming การโปรแกรมเชิงวัตถุ 2. Java Fundamentals Faculty of Technology and Environment Prince of Songkla University, Phuket Campus 2/2551
  2. 2. Contents  keywords, reserved words  Identifiers and variables  Primitive data types  Literals  Type conversion  ConstantsObject-Oriented Programming 2/2551 2
  3. 3. Java Keywords  Keywords คือ คาทีถูกกาหนดไว้ในภาษาในการเขียนโปรแกรมให้มี ่ ความหมายเฉพาะเพื่อให้คอมไพเลอร์เข้าใจและนาไปตีความได้Object-Oriented Programming 2/2551 3
  4. 4. Reserved words  Reserved words (คาสงวน) คือ คาที่มีความหมายในการตีความสาหรับ คอมไพเลอร์  จาวา มี reserved word อีก 3 ตัวคือ  true false nullObject-Oriented Programming 2/2551 4
  5. 5. Identifiers  Identifiers คือ ชื่อที่กาหนดให้แก่ คลาส เมธอด ตัวแปร  การกาหนดชือต้องเป็นไปตามกฎต่อไปนี้ ่  ประกอบด้วยตัวอักษรภาษาอังกฤษ หรือ _ หรือ $ หรือตัวเลข  ห้ามเว้นวรรค ห้ามขึ้นต้นด้วยตัวเลข  ห้ามเป็น keyword หรือ reserved word Count _height $name public userName main x1 balance$ 3person Student-id identifier a@hotmail Which words are correct identifiers?Object-Oriented Programming 2/2551 5
  6. 6. Primitive Data Types  การเขียนโปรแกรมมีการจัดการกับข้อมูลซึ่งจัดเก็บอยู่ในหน่วยความจา  การใช้งานข้อมูลต้องมีการประกาศตัวแปรสาหรับเก็บข้อมูล และชนิดของ ข้อมูลที่จะเก็บ  เช่น ต้องการเก็บข้อมูลที่เป็นเลขจานวนเต็ม ก็ต้องประกาศตัวแปรเป็น ชนิดข้อมูลแบบจานวนเต็ม ประกาศเป็นจานวนเต็ม เกิดการจองพืนที่ในหน่วยความจา ้ สามารถเก็บข้อมูลในหน่วยความจาได้ number1 10 number2 25 sum 35Object-Oriented Programming 2/2551 6
  7. 7. Primitive Data Types  จาวามีชนิดข้อมูลพื้นฐานให้ใช้งาน 8 ชนิด  Logical : boolean  Textual : char  Integral : byte, short, int, long  Floating-point : float, doubleObject-Oriented Programming 2/2551 7
  8. 8. Primitive Data Types  ข้อมูลพื้นฐานแต่ละชนิดใช้พื้นทีในการเก็บข้อมูลต่างกัน ค่าที่เก็บได้ก็ ่ ต่างกันด้วยObject-Oriented Programming 2/2551 8
  9. 9. Variable  ตัวแปร หรือ variable จะใช้ในการเก็บข้อมูลทั้ง input และ output  จากตัวแปรในคณิตศาสตร์ เช่น sum = x + y  ในคอมพิวเตอร์ การจะใช้ตัวแปรคือการใช้งานหน่วยความจา  ตัวแปร จึงมีคุณสมบัติสาคัญคือ  ชื่อตัวแปร(name)  ชนิดข้อมูล(type)  ขนาดหน่วยความจา(size)  ค่าที่เก็บ(value)Object-Oriented Programming 2/2551 9
  10. 10. Variables declaration  การประกาศตัวแปร ทาได้โดยการตั้งชื่อตัวแปร และระบุชนิดข้อมูลของตัว แปรนั้น  การใช้งานตัวแปร ต้องมีการประกาศตัวแปรก่อน จากนั้นจึงกาหนดค่าให้ ตัวแปร แล้วจึงจะสามารถทาการคานวณได้  Variable declaration syntax <data type> <variable name>; int x; double bigNum; short x, y, z; float number;Object-Oriented Programming 2/2551 10
  11. 11. Variables declaration  ตัวอย่าง ประกาศตัวแปร เช่น int y;  เป็นการจัดสรรพื้นที่ในหน่วยความจาให้ตามขนาดชนิดตัวแปร int คือ 32 bits  โดยเรียกชื่อตาแหน่งของหน่วยความจานี้ว่า y  ในการประกาศตัวแปร จะยังไม่มีการกาหนดค่าเริ่มต้นให้ จนกว่าจะมีการ กาหนดค่าให้ตัวแปร เช่น y = 0 ; จึงจะมีการเก็บค่าที่ตาแหน่ง y เป็น 0 y 0  ค่าที่เก็บใน y สามารถเป็นตัวเลขจานวนเต็มที่มีค่าอยู่ระหว่าง -2147483648 ถึง 21474836487Object-Oriented Programming 2/2551 11
  12. 12. Variables declaration int age; float salary;  age เป็น int ส่วน salary เป็น float  ใช้เนื้อทีในหน่วยความจา 32 bits เท่ากัน แต่ใช้งานได้ต่างกัน ่  age เก็บข้อมูลได้เฉพาะเลขจานวนเต็ม  salary เก็บเลขทศนิยมได้Object-Oriented Programming 2/2551 12
  13. 13. Assigning Variables  การกาหนดค่าให้แก่ตัวแปร ทาได้โดยใช้เครื่องหมายเท่ากับ ( = )  Assignment statement syntax <variable> = <expression>;  เช่น y=10; ก็คือ กาหนดให้ค่าทีตาแหน่งของหน่วยความจานี้เป็น 10 ่ y 10  <expression> อาจเป็นค่าหรือนิพจน์ที่ต้องการจะนาไปเก็บใน <variable>  นิพจน์ คือ ประโยคที่ประกอบด้วย operator และ operand sum = x + (y*5)/7; x 5 sum y 10Object-Oriented Programming 2/2551 13
  14. 14. Assigning Variables  ก่อนกาหนดค่าให้ตวแปรต้องมีการประกาศตัวแปรก่อน ั  ประกาศตัวแปร int x;  กาหนดค่า x = 12;  หรือกาหนดค่าในคาสั่งประกาศตัวแปร  int x = 12;  ระวัง เรื่องการกาหนดค่าให้ชนิดข้อมูลถูกต้อง  int x; double d = 3.5;  x = d; // compile error !!! // ค่าของ d เป็น double กาหนดให้ int ไม่ได้Object-Oriented Programming 2/2551 14
  15. 15. Literal ในคาสั่ง print เชื่อม ‚ข้อความ‛ กับตัวแปร ด้วยเครื่องหมาย +Object-Oriented Programming 2/2551 15
  16. 16. Literal  Literal คือ ค่าข้อมูลที่แน่นอนซึ่งระบุไว้ในโปรแกรม เช่น  ‘A’, 100, 78.5, true  ประเภทของ literal  Integer literal  Floating-point literal  Boolean literal  Character literal  String literalObject-Oriented Programming 2/2551 16
  17. 17. Boolean Literal  Boolean มี literal แสดงค่าทางตรรกะเพียง 2 ตัว คือ true กับ falseObject-Oriented Programming 2/2551 17
  18. 18. Character Literal  เป็นอักษรตัวเดียว เช่น ‘a’, ‘B’ ซึ่งต้องมี single quote (‘ ’) คลุม  เป็นอักขระควบคุม (escape sequence) เช่น t, r, n  xxx หมายถึง ตัวอักษรทีมีรหัส ASCII เท่ากับค่าของเลขฐาน 8 ที่ระบุ ่  เช่น สั่งพิมพ์ค่า ‘043’ จะได้ผลลัพธ์คือ #  uxxxx หมายถึง ตัวอักษรที่มีรหัส unicode เท่ากับค่าของเลขฐาน 16 ที่ ระบุ เช่น  เช่น สั่งพิมพ์ค่า ‘u0023’ จะได้ #  1 ตัวอักษร ใช้เนื้อที่หน่วยความจา 2 bytesObject-Oriented Programming 2/2551 18
  19. 19. Character Literal  Escape sequence characterObject-Oriented Programming 2/2551 19
  20. 20. Character LiteralObject-Oriented Programming 2/2551 20
  21. 21. String Literal  String เป็นข้อความซึ่งอาจประกอบด้วยตัวอักษรตัวเดียวหรือหลายตัว  String ต้องคลุมด้วย double quote (‚ ‛)  เช่น ‚a‛, ‚A string‛, ‚data1 t data2‛, ‚line1 n line2‛Object-Oriented Programming 2/2551 21
  22. 22. Integer literal  Integer literal สามารถเป็นได้ทั้งเลขฐาน 10 (decimal) , ฐาน 8 (octal), ฐาน 16 (hexadecimal)  ปกติ ตัวเลขจานวนเต็ม จะถือว่าเป็น int และฐาน 10  ถ้าต้องการให้เป็นจานวนเต็มแบบ long ต้องระบุ l หรือ L ต่อท้ายเลขนั้น  ถ้าต้องการให้เป็นเลขฐาน 8 ให้นาหน้าด้วย 0  ถ้าต้องการให้เป็นเลขฐาน 16 ให้นาหน้าด้วย 0x หรือ 0X Decimal Long Octal Hexadecimal 15 15L 017 0xF 16 16l 020 0x10 100 100L 0144 0x64Object-Oriented Programming 2/2551 22
  23. 23. Integer literalObject-Oriented Programming 2/2551 23
  24. 24. Floating-point literal  อาจอยู่ในรูปเลขฐานสิบ เช่น 66.889 หรือรูป exponential เช่น 6.07e17 (หมายถึง 6.07 x 1017)  ระบุให้ literal เป็นชนิดข้อมูลแบบ float ให้ใส่ f หรือ F ต่อท้าย 6.55e12F 122f 4.002F  การระบุให้ literal เป็นชนิดข้อมูลแบบ double ให้ใส่ d หรือ D ต่อท้าย 8D 3.123439d  โดยปกติ ถ้าไม่ระบุ d หรือ f เลขทศนิยมจะเป็น double  Float เก็บทศนิยมได้ 7 ตาแหน่ง ส่วน double เก็บทศนิยมได้ 15 ตาแหน่งObject-Oriented Programming 2/2551 24
  25. 25. Floating-point literalObject-Oriented Programming 2/2551 25
  26. 26. Precision of numeric data types  ชนิดข้อมูลที่เป็นตัวเลขมี 6 ตัวคือ  byte short int long  integer number  float double  real / floating point number  ช่วงของค่า (range) ที่จะเก็บในตัวแปรที่มีชนิดต่างกันจะเก็บได้ต่างกัน  ถ้าช่วงของค่าที่เก็บได้ใหญ่กว่า ก็จะเรียกว่า มี precision สูงกว่า เช่น  Precision ของ floating point > integer  Precision ของ double > float  Precision ของ long > int > short > byte  ยิ่ง precision สูงกว่า ก็จะใช้หน่วยความจาเยอะกว่าObject-Oriented Programming 2/2551 26
  27. 27. Precision of numeric data types  ปกติแล้วเราไม่สามารถ assign ค่าที่มี precision สูงกว่าให้ตัวแปรทีมี ่ precision ต่ากว่า เช่น  byte b=5; int i = 8888; Precision สูง  b = i; // compile error !!! double  แต่ i = b; //compile ผ่าน float long int short byteObject-Oriented Programming 2/2551 Precision ต่า 27
  28. 28. Type conversion - การแปลงชนิดข้อมูล  การดาเนินการทางคณิตศาสตร์ เช่น X = operand + operand  ถ้า operand ที่มีชนิดข้อมูลเดียวกัน ผลลัพธ์ที่ได้ก็จะได้ชนิดข้อมูลนั้น  ถ้า operand ต่างชนิดข้อมูลกัน จะต้องทาการแปลงให้ operand มีชนิด เดียวกันก่อน จึงจะดาเนินการได้  การแปลงชนิดข้อมูลของจาวา มี 2 แบบ คือ  Implicit type conversion  Explicit type conversionObject-Oriented Programming 2/2551 28
  29. 29. Implicit type conversion  Implicit type conversion เป็นการแปลงชนิดข้อมูลที่จาวาทาให้อัตโนมัติ  การแปลงข้อมูลจะแปลงจากชนิดข้อมูลที่มีความสาคัญต่ากว่าเป็น ความสาคัญสูงกว่า เพื่อไม่ให้สูญเสียค่าทีแท้จริงของข้อมูล ่  เช่น int a = 5; short b=10;  a+b-7 จะได้ผลลัพธ์ที่เป็น int คือ 8 • b ถูกแปลงเป็น int, 7 เป็น literal มองเป็น int  ถ้า float a = 5f; int b = 10;  หาค่าและชนิดข้อมูลของผลลัพธ์จาก a+b-7Object-Oriented Programming 2/2551 29
  30. 30. Explicit type conversion หรือ Type Casting  Casting การแปลงข้อมูลที่โปรแกรมเมอร์ต้องระบุชนิดข้อมูลที่ต้องการเอง  Type casting syntax ระบุชนิดข้อมูลที่ตองการแปลงในวงเล็บ ้ (<data type>) <expression>;  ตัวอย่าง short x = (short) 88778; //23242 y = (float) x / 3; k = a + (double) (x + y * z)Object-Oriented Programming 2/2551 30
  31. 31. Ex. Integral type demo. What the output is?Object-Oriented Programming 2/2551 31
  32. 32. Constant หรือ ค่าคงที่  ค่าคงที่ คือตัวแปรที่เมื่อทาการกาหนดค่าแล้วจะมีค่าเป็นค่านั้นไปตลอด การทางานของโปรแกรม โดยไม่สามารถเปลี่ยนแปลงได้อีก  การประกาศค่าคงที่ ให้ระบุคาว่า final ไว้หน้าชนิดข้อมูล final <data type> <constant_name> = <value>; เช่น final double PI = 3.1416;  ปกตินิยมตั้งชื่อค่าคงที่ด้วยตัวอักษรตัวใหญ่ทั้งหมดObject-Oriented Programming 2/2551 32
  33. 33. Constant หรือ ค่าคงที่  ตัวอย่างการประกาศค่าคงที่  Result area = 78.54Object-Oriented Programming 2/2551 33
  34. 34. แบบฝึกหัด  จงเขียนโปรแกรมเพื่อหาว่า 26.5 องศาเซลเซียส เท่ากับกี่องศาฟาเรน ไฮต์ สูตรคือ F = (9/5)*C + 32;Object-Oriented Programming 2/2551 34

×