Más contenido relacionado La actualidad más candente (20) Similar a 2.Java fundamentals (20) 2.Java fundamentals1. 976-140 Object-Oriented Programming
344-202 Introduction to Object-Oriented Programming
การโปรแกรมเชิงวัตถุ
2. Java Fundamentals
Faculty of Technology and Environment
Prince of Songkla University, Phuket Campus
2/2551
2. Contents
keywords, reserved words
Identifiers and variables
Primitive data types
Literals
Type conversion
Constants
Object-Oriented Programming 2/2551 2
3. Java Keywords
Keywords คือ คาทีถูกกาหนดไว้ในภาษาในการเขียนโปรแกรมให้มี
่
ความหมายเฉพาะเพื่อให้คอมไพเลอร์เข้าใจและนาไปตีความได้
Object-Oriented Programming 2/2551 3
4. Reserved words
Reserved words (คาสงวน) คือ คาที่มีความหมายในการตีความสาหรับ
คอมไพเลอร์
จาวา มี reserved word อีก 3 ตัวคือ
true false null
Object-Oriented Programming 2/2551 4
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. Primitive Data Types
การเขียนโปรแกรมมีการจัดการกับข้อมูลซึ่งจัดเก็บอยู่ในหน่วยความจา
การใช้งานข้อมูลต้องมีการประกาศตัวแปรสาหรับเก็บข้อมูล และชนิดของ
ข้อมูลที่จะเก็บ
เช่น ต้องการเก็บข้อมูลที่เป็นเลขจานวนเต็ม ก็ต้องประกาศตัวแปรเป็น
ชนิดข้อมูลแบบจานวนเต็ม
ประกาศเป็นจานวนเต็ม เกิดการจองพืนที่ในหน่วยความจา
้ สามารถเก็บข้อมูลในหน่วยความจาได้
number1 10
number2 25
sum 35
Object-Oriented Programming 2/2551 6
7. Primitive Data Types
จาวามีชนิดข้อมูลพื้นฐานให้ใช้งาน 8 ชนิด
Logical : boolean
Textual : char
Integral : byte, short, int, long
Floating-point : float, double
Object-Oriented Programming 2/2551 7
8. Primitive Data Types
ข้อมูลพื้นฐานแต่ละชนิดใช้พื้นทีในการเก็บข้อมูลต่างกัน ค่าที่เก็บได้ก็
่
ต่างกันด้วย
Object-Oriented Programming 2/2551 8
9. Variable
ตัวแปร หรือ variable จะใช้ในการเก็บข้อมูลทั้ง input และ output
จากตัวแปรในคณิตศาสตร์ เช่น sum = x + y
ในคอมพิวเตอร์ การจะใช้ตัวแปรคือการใช้งานหน่วยความจา
ตัวแปร จึงมีคุณสมบัติสาคัญคือ
ชื่อตัวแปร(name)
ชนิดข้อมูล(type)
ขนาดหน่วยความจา(size)
ค่าที่เก็บ(value)
Object-Oriented Programming 2/2551 9
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. Variables declaration
ตัวอย่าง ประกาศตัวแปร เช่น int y;
เป็นการจัดสรรพื้นที่ในหน่วยความจาให้ตามขนาดชนิดตัวแปร int คือ 32 bits
โดยเรียกชื่อตาแหน่งของหน่วยความจานี้ว่า y
ในการประกาศตัวแปร จะยังไม่มีการกาหนดค่าเริ่มต้นให้ จนกว่าจะมีการ
กาหนดค่าให้ตัวแปร เช่น y = 0 ; จึงจะมีการเก็บค่าที่ตาแหน่ง y เป็น 0
y 0
ค่าที่เก็บใน y สามารถเป็นตัวเลขจานวนเต็มที่มีค่าอยู่ระหว่าง
-2147483648 ถึง 21474836487
Object-Oriented Programming 2/2551 11
12. Variables declaration
int age;
float salary;
age เป็น int ส่วน salary เป็น float
ใช้เนื้อทีในหน่วยความจา 32 bits เท่ากัน แต่ใช้งานได้ต่างกัน
่
age เก็บข้อมูลได้เฉพาะเลขจานวนเต็ม
salary เก็บเลขทศนิยมได้
Object-Oriented Programming 2/2551 12
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 10
Object-Oriented Programming 2/2551 13
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. Literal
ในคาสั่ง print เชื่อม
‚ข้อความ‛ กับตัวแปร
ด้วยเครื่องหมาย +
Object-Oriented Programming 2/2551 15
16. Literal
Literal คือ ค่าข้อมูลที่แน่นอนซึ่งระบุไว้ในโปรแกรม เช่น
‘A’, 100, 78.5, true
ประเภทของ literal
Integer literal
Floating-point literal
Boolean literal
Character literal
String literal
Object-Oriented Programming 2/2551 16
17. Boolean Literal
Boolean มี literal แสดงค่าทางตรรกะเพียง 2 ตัว คือ true กับ false
Object-Oriented Programming 2/2551 17
18. Character Literal
เป็นอักษรตัวเดียว เช่น ‘a’, ‘B’ ซึ่งต้องมี single quote (‘ ’) คลุม
เป็นอักขระควบคุม (escape sequence) เช่น t, r, n
xxx หมายถึง ตัวอักษรทีมีรหัส ASCII เท่ากับค่าของเลขฐาน 8 ที่ระบุ
่
เช่น สั่งพิมพ์ค่า ‘043’ จะได้ผลลัพธ์คือ #
uxxxx หมายถึง ตัวอักษรที่มีรหัส unicode เท่ากับค่าของเลขฐาน 16 ที่
ระบุ เช่น
เช่น สั่งพิมพ์ค่า ‘u0023’ จะได้ #
1 ตัวอักษร ใช้เนื้อที่หน่วยความจา 2 bytes
Object-Oriented Programming 2/2551 18
21. String Literal
String เป็นข้อความซึ่งอาจประกอบด้วยตัวอักษรตัวเดียวหรือหลายตัว
String ต้องคลุมด้วย double quote (‚ ‛)
เช่น ‚a‛, ‚A string‛, ‚data1 t data2‛, ‚line1 n line2‛
Object-Oriented Programming 2/2551 21
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 0x64
Object-Oriented Programming 2/2551 22
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
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. 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
byte
Object-Oriented Programming 2/2551 Precision ต่า 27
28. Type conversion - การแปลงชนิดข้อมูล
การดาเนินการทางคณิตศาสตร์ เช่น X = operand + operand
ถ้า operand ที่มีชนิดข้อมูลเดียวกัน ผลลัพธ์ที่ได้ก็จะได้ชนิดข้อมูลนั้น
ถ้า operand ต่างชนิดข้อมูลกัน จะต้องทาการแปลงให้ operand มีชนิด
เดียวกันก่อน จึงจะดาเนินการได้
การแปลงชนิดข้อมูลของจาวา มี 2 แบบ คือ
Implicit type conversion
Explicit type conversion
Object-Oriented Programming 2/2551 28
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-7
Object-Oriented Programming 2/2551 29
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. Ex. Integral type demo. What the output is?
Object-Oriented Programming 2/2551 31
32. Constant หรือ ค่าคงที่
ค่าคงที่ คือตัวแปรที่เมื่อทาการกาหนดค่าแล้วจะมีค่าเป็นค่านั้นไปตลอด
การทางานของโปรแกรม โดยไม่สามารถเปลี่ยนแปลงได้อีก
การประกาศค่าคงที่ ให้ระบุคาว่า final ไว้หน้าชนิดข้อมูล
final <data type> <constant_name> = <value>;
เช่น
final double PI = 3.1416;
ปกตินิยมตั้งชื่อค่าคงที่ด้วยตัวอักษรตัวใหญ่ทั้งหมด
Object-Oriented Programming 2/2551 32
33. Constant หรือ ค่าคงที่
ตัวอย่างการประกาศค่าคงที่
Result
area = 78.54
Object-Oriented Programming 2/2551 33
34. แบบฝึกหัด
จงเขียนโปรแกรมเพื่อหาว่า 26.5 องศาเซลเซียส เท่ากับกี่องศาฟาเรน
ไฮต์ สูตรคือ
F = (9/5)*C + 32;
Object-Oriented Programming 2/2551 34