INTRODUCING DATA TYPES AND OPERATORS
•DATA TYPES ARE ESPECIALLY IMPORTANT IN JAVA BECAUSE IT IS A STRONGLY TYPED
LANGUAGE.
•THIS MEANS THAT ALL OPERATIONS ARE TYPE CHECKED BY THE COMPILER FOR TYPE
COMPATIBILITY.
•DATA TYPES (ชนดิ ของข้อมูล)
•OPERATORS (ตวั ดำเนินกำร เช่น + - * /)
VARIABLES ( ตัวแปร )
•NAME FOR LOCATION IN MEMORY WHERE DATA IS STORED.
NAMING A VARIABLE
•ตอ้ งขึ้นตน้ ดว้ ยอกั ษรโรมัน เช่น A-Z, a-z
•สำมำรถขน้ึ ตน้ ด้วย _ หรอื $ ได้
•ตัวเลขสำมำรถอยใู่ นตวั แปรได้ เช่น COUNT12, F69
•ห้าม – ขึ้นตน้ ด้วยตวั เลข
•ห้าม – ต้งั ชือ่ ตามคาสงวน ( RESERVED WORD )
JAVA RESERVED WORD
PRIMITIVE DATA TYPES
PRIMITIVE DATA TYPES
Primitives Data Types
Number (ตัวเลข) Non-Number (ไม่ใชต่ วั เลข)
Integer (จำนวนเตม็ ) ทศนยิ ม char boolean
byte double float
short int long
INTEGERS (เลขจำนวนเตม็ )
INTEGERS (เลขจำนวนเตม็ )
Byte Short Int Long
BYTE
FLOATING-POINT TYPES (เลขทศนิยม)
There are two kinds of floating-point types, float and double, which represent
single- and double-precision numbers, respectively. Type float is 32 bits wide and
type double is 64 bits wide.
FLOATING-POINT TYPES (เลขทศนิยม)
Data Type Bit Digits
Float 32 7
Double 64 1E
CHARACTERS (อกั ขระ)
- Java, char is an unsigned 8-bit type having a range of 0 to 255.
- Java, char is an signed 8-bit type having a range of -128 to 127.
// The ASCII characters are still valid Java characters from 0 to 127.
'X' , 'Y', 'a'
UNICODE (CREDIT : HTTP://WWW.ASCIITABLE.COM/)
BOOLEAN (ค่ำตรรกะ)
- The Boolean type represents true/false
- Java defines the values true and false using the
reserved words true and false.
CONCLUSION FOR NUMBER
INITIALIZING A VARIABLE (กำรกำหนดค่ำให้ตัวแปร)
Set values
Data type Variable Name = value ;
Unset values
Data type Variable Name ;
INITIALIZING A VARIABLE (กำรกำหนดค่ำใหต้ ัวแปร)
IN CLASS ASSIGNMENT # 2.1
จงเลอื ก Data Types ที่เหมำะสมตอ่ ขอ้ มูลตอ่ ไปน้ี ?
1. เพศ (M/F)
2. ควำมเร็วของรถไฟ (KM/h)
3. อำยุ
4. รหสั นกั ศกึ ษำ
5. ควำมเร็วของวำ่ ยนำ้ 100 เมตร (วนิ ำที)
6. คำตอบของคณุ ชอบวิชำนี้หรอื ไม่?
7. จำนวนสำขำของร้ำน 7-11
OPERATOR (ตวั ดำเนินกำร)
Arithmetic Operators (ทำงคณติ ศำสตร์)
MODULUS %
// % ไมใ่ ชเ่ ปอรเ์ ซน็ ต์ แตเ่ ปน็ ตวั ดาเนนิ การที่เอาไวห้ าเศษ เชน่
10 % 3 = 1 (int)
10.0 % 3.0 = 1.0 (double)
30 / 3 = 10, remainder 0
=> 30 mod 3 = 0
35 / 3 = 11, remainder 2
=> 35 mod 3 = 2
INCREMENT AND DECREMENT
int x = 4;
x *= 2 Mean x=x*2 Result x=8
x /= 2 x=x/2 x=2
x %= 2 x=x%2 x=0
x += 2 x=x+2 x=6
x −= 2 x=x-2 x=2
x += 1 x++
x −= 1 x--
x-- = 3 , x++ = 5
OPERATOR AND DATA TYPES
•OPERAND MUST BE CASTED TO SAME DATA TYPE
OPERATION AND PRIORITY
( ) parenthesis
% (Mod) Exponent , Square root , Modulus
Multiply
Divide
Add
Subtract
TRY THIS ! ลองทำดนู ะคะ !
int a = 1, b = 2, c = 3, d;
a *= b;
b %= c;
c /= a * b;
d = (++a) * (b--) - (++c);
CASTING INCOMPATIBLE TYPES (กำรเปล่ยี นประเภทข้อมลู )
CONSTANT (ค่ำคงท)่ี
กำรทำให้เป็นคำ่ คงท่ี คอื กำรใช้ Keyword “Final” เม่อื ทำเปน็ ค่ำคงทแี่ ล้ว
ตวั แปรนั้นจะไมส่ ำมำรถเปล่ียนคำ่ ได้ในภำยหลัง เช่น
Final Double VAT_RATE = 1.07;
Vat_rate = 1.05; // Error !! เพรำะไม่สำมำรถเปล่ยี นคำ่ ได้เนือ่ งจำกเปน็ ค่ำคงที่ ท่ี 1.07
MATH CLASS
Open : http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html
RELATIONAL AND LOGICAL OPERATORS
Output : ทไี่ ดจ้ ำกตัวดำเนนิ กำรชุดน้ีคือ
boolean (true/false)
RELATIONAL AND LOGICAL OPERATORS
TRUTH TABLE
SHORT-CIRCUIT LOGICAL OPERATORS
• || และ &&
• ถ้ำเจอค่ำ TRUE || XXX จะไมค่ ิดตวั หลงั จะให้คำ่ ท่ีได้เป็น TRUE เสมอ
• ถ้ำเจอคำ่ FALSE && XXX จะไมค่ ิดตวั หลงั จะใหค้ ่ำท่ีเปน็ FALSE เสมอ
• ประโยชน์ : ลดเวลำ ลดกำรคำนวณ ทำใหโ้ ปรแกรมรันได้เรว็ ข้ึน