หนงั สอื ออนไลน์เรอ่ื ง
After
javareading
java
การแปลงชนิดของขอ้ มลู
1
การแปลงชนดิ ของข้อมลู
ใชแ้ ปลงชนดิ ขอ้ มลู จากชนดิ หน่ึงเป็นอีกชนิดได้ โดยไม่สนใจขนาดแต่ถ้า cast
ข้อมูลที่มีขนาดใหญ่ไปสู่ข้อมูลที่มี ขนาดเล็ก จะทาให้สูญเสียค่าความเป็นจริงของข้อมูล
น้นั ได้ ดังนั้นการประกาศคา่ ตัวแปรและcast ต้องทาดว้ ยความระมัดระวงั
รปู แบบ
(target_type) varvalue
ตัวอยา่ ง
float price = 15.254f;
int numint
numint = (int)price;
การแปลงค่าระหว่าง int และ String
รูปแบบ
ตัวแปรแบบ Int=Integer.parseInt(ตวั แปรแบบString)
ตัวอย่าง
int num1;
String x=“10”;
num1=Integer.parseInt(x) // num1มคี ่าเท่ากับ 10
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 2
การแปลงคา่ ระหว่าง double และ String
รปู แบบ
ตวั แปรแบบdouble=Double.parseDouble(ตวั แปรแบบString)
ตวั อยา่ ง
double num1;
String x=“10.4”;
num1=Double.parseDouble(x) // num1มีคา่ เท่ากบั 10.4
การแปลงค่าระหว่าง String และ int
รปู แบบ
ตวั แปรแบบ String =Integer.toString(ตัวแปรแบบint)
ตวั อย่าง
int num1=33;
String x;
x=Integer.toString(num1) // x มีคา่ เท่ากับ “33”
คาส่งั input และ output
3
คาสั่ง input และ output
ภาษาจาวามี object ที่เป็น input/output มาตรฐานคือ System.in, System.out
และ System.err
• System.in เปน็ object ทม่ี ี method สาหรับการอา่ นข้อมูลทางอปุ กรณ์ input
มาตรฐาน โดยท่ัวไปคอื keyboard
• System.out เป็น object ท่ีมี method สาหรับการแสดงข้อมลู ออกทางอปุ กรณ์
output มาตรฐาน โดยทว่ั ไปคอื monitor
• System.err เ ป็ น object ท่ี มี method ส า ห รั บก า ร แ ส ดง ข้ อ ผิ ด พ ล า ดอ อ ก
ทางอุปกรณ์ทีใ่ ชใ้ นการแสดงขอ้ ผดิ พลาด โดยท่ัวไปคอื monitor
ชนิดขอ้ มูลแบบพื้นฐาน 4
ชนิดขอ้ มลู ในภาษาจาวาแบ่งเป็น 2 ประเภทคือ
ชนิดขอ้ มูลแบบพ้นื ฐาน (primitive data type)
ชนิดข้อมูลแบบอ้างอิง (reference data type)
ชนดิ ข้อมูลแบบพื้นฐานแบ่งเป็น 4 ประเภทคือ
ชนิดข้อมูลตรรกะ (logical) คือชนิด boolean
ชนิดข้อมลู อกั ขระ (textual) คือชนดิ char
ชนิดขอ้ มูลตวั เลขจานวนเตม็ (integer) คอื ชนิด byte, short, int และ
long
ชนดิ ขอ้ มลู ตวั เลขทศนยิ ม (floating point) คอื ชนดิ float และ
double
1. ชนดิ ขอ้ มลู ตรรกะ
อมลู ชนดิ ตรรกะมีขอ้ มลู ค่าคงท่ีอยู่ 2 คา่ คือ
true และ false
ตัวอย่าง
boolean check = true;
เป็นการ กาหนดให้ตวั แปรช่อื check มีชนดิ ข้อมลู เปน็ boolean และ
กาหนดให้มคี ่าเป็น true
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 5
ชนดิ ขอ้ มลู อักขระ (textual) คอื ชนิด char
ขอ้ มูลชนิดอกั ขระใช้เพื่อแสดงตวั อกั ขระหนึ่งตัว
ตวั อยา่ ง
lchar alphabet = ‘M’;
เป็นการประกาศตวั แปรช่ือ alphabet มชี นดิ ข้อมลู เปน็ char โดยมี
ค่าเปน็ ตัวอักขระ M
อักขระพิเศษท่นี ยิ มใช้โดยทั่วไป
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 6
2. ชนิดขอ้ มูลจานวนเตมิ
มีชนิดข้อมูลพน้ื ฐาน 4 ชนดิ คือ
byte, short, int, long
ข้อมลู ค่าคงท่สี ามารถเขยี นได้ 3 แบบคือ
เลขฐานสิบ เชน่ -123, 3009 เป็นต้น
เลขฐานแปด คือ การเขียนเลขจานวนเต็มท่ีขน้ึ ตน้ ดว้ ยเลข 0 แล้วตามด้วย 0
– 7 เช่น 072
เลขฐานสิบหก คอื การเขยี นเลขจานวนเต็มท่ขี ้ึนตน้ ดว้ ย 0x แลว้ ตามดว้ ย 0
– 9 หรอื A – F เชน่ 0x2D
อมูลค่าคงทข่ี องเลขจานวนเตม็ ท่เี ป็นชนิด long จะมีตัวอกั ษร l หรอื L ตอ่ ท้าย เช่น
l3l, 089L, 0xBCL
4. ชนดิ ขอ้ มลู ตวั เลขทศนยิ ม
ข้อมูลชนดิ ตัวเลขทศนยิ มจะเป็นเลขทม่ี ีเครื่องหมายจดุ ทศนิยม เช่น 78.288, -
8.90
มชี นิดพื้นฐาน 2 ชนดิ คือ double (เกบ็ ข้อมูลขนาด 64 บติ ) และ float (เก็บ
ข้อมูลขนาด 32 บติ )
สามารถเขียนในรปู แบบของเลขยกกาลงั สิบ (exponential form) ได้โดยใช้
ตัวอกั ษร E หรอื e ระบจุ านวนทเี่ ปน็ เลขยกกาลงั สิบ เช่น 7.02E34, 4e-9
ตวั ดาเนินการ
7
ตวั ดาเนนิ การแบ่งออกเป็น 4 ประเภทคือ
ตวั ดาเนินการทางคณติ ศาสตร์ (Arihmetic Operator)
ตัวดาเนินการแบบสัมพันธ์ (Relational Operator)
ตวั ดาเนนิ การทางตรรกศาสตร์ (Logical Operator)
1. ตัวดาเนนิ การทางคณิตศาสตร์ (Arihmetic Operator)
ตวั ดาเนนิ การทางดา้ นคณิตศาสตร์ ได้แกเ่ ครอื่ งหมายที่ใช้ในการบวก ลบ คูณ
หาร ตัวเลข และอน่ื ๆ
นอกจากตัวดาเนนิ การบวก ลบ คูณ หาร ธรรมดาแล้ว ยังมีโมดูลัส (modulas) คือ
การหารเอาเฉพาะเศษ และมวี ิธกี ารรวบรัดการใช้ตวั ดาเนินการเลขคณติ ดังน้ี
รวมสญั ลักษณ์ + และ = เข้าดว้ ยกันกลายเป็น += - และ = เขา้ ดว้ ยกนั กลายเป็น -=
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 8
2. ตัวดาเนนิ การแบบสมั พันธ์ (Relational Operator)
เครื่องหมายที่ใช้ในการเปรยี บเทียบและตัดสนิ ใจ ผลการเปรียบเทียบจะใหค้ า่ เปน็
1 และ เทจ็ จะให้ค่าเปน็ 0
3. ชนิดข้อมูลตัวเลขจานวนเตม็ (integer) คอื ชนิด byte, short, int และ long
เครอื่ งหมายตรรกะมจี ุดประสงคใ์ ช้ในการเปรียบเทยี บเพ่อื ตัดสนิ ใจซึ่งผลที่ไดจ้ าก
การเปรยี บเทยี บจะได้ผลลพั ธ์ 2 อยา่ ง คือ ถา้ ได้ผลลัพธ์เปน็ จรงิ จะมคี ่าเปน็ 1 และถ้า
ไดผ้ ลลัพธ์เปน็ เท็จจะมคี า่ 000000 0
ไวยากรณ์ระดบั ของคา
9
ไวยากรณร์ ะดับของคา
คาหรือขอ้ ความท่สี ามารถเขียนโปรแกรมภาษาจาวา จะต้องเป็นคาหรอื ข้อความใน
รูปแบบใดรูปแบบหน่งึ ของประเภทตา่ งๆ ดังน้ี
comment
identifier
keyword
สญั ลกั ษณแ์ ยกคา (separator)
ชอ่ งว่าง (whitespace)
ข้อมูลและค่าคงที่ (literals)
1. Comment
Comment คือ ข้อความทีแ่ ทรกอยภู่ ายในโปรแกรมซ่ึง compiler จะไม่
แปลขอ้ ความน้ใี ห้เปน็ สว่ นหนง่ึ ของโปรแกรม กล่าวคือขอ้ ความนจ้ี ะไมม่ ีผลต่อการทางาน
ของโปรแกรม การ comment เขยี นไว้เพอื่ อธบิ ายโปรแกรมเพือ่ ใหผ้ ้อู ่านเข้าใจโปรแกรม
งา่ ยยงิ่ ขนึ้ และชว่ ยทาให้การแก้ไขและปรับปรุงโปรแกรมเป็นไปไดง้ า่ ยขึ้น
ภาษาจาวากาหนดรปู แบบของการเขยี น comment ไวด้ งั น้ี
1) ข้อความเดียว จะใชเ้ คร่ืองหมาย // นาหนา้ ข้อความ
2) ขอ้ ความต้งั แตห่ นึง่ บรรทดั ข้นึ ไป จะเรมิ่ ตน้ ดว้ ยเครอื่ งหมาย /* และสนิ้ สดุ ด้วย
เครือ่ งหมาย */
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 10
2. Identifier
Identifier คือช่ือที่ตั้งขึ้นในภาษาจาวา ซึ่งอาจเป็นชื่อของคลาส ชื่อของตัวแปร
ชอื่ ของเมธอด หรือชอ่ื ของคา่ คงที่ ซึง่ จะตอ้ งเป็นไปตามกฎการตง้ั ชอ่ื ดงั นี้
ตอ้ งข้ึนต้นดว้ ยอกั ขระ A-Z, a-z, _ หรอื $ เทา่ นนั้
ประกอบด้วยตัวอักขระมากกว่าหนึ่งตัว ตัวอักขระหลังจากตัวแรกน่ัน
จะตอ้ งเปน็ ตัวอักขระขา้ งตน้ หรือเป็นตวั เลข 0-9 เทา่ น้นั
ต้องไม่ตรงกบั คาสงวน
Indentifier ในภาษาจาวาถือว่าตัวอักษรพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กต่างกัน (case
sensitive) ดังนั้นชือ่ Num จะตา่ งจาก num
ตวั อย่างของ indentifier ทีถกู ต้อง ตัวอย่างของ indentifier ท่ีไม่ถกู ต้อง
lMyVariable lMy Variable
lMyVariable l9Pi
l$data l@net
lSum_Score lSystem
l… l…
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 11
3. Keyword
Keyword คือชื่อท่ีมีความหมายพิเศษในจาวา compilerของภาษาจาวาจะเข้าใจ
ความหมายและคาส่ังที่จะต้องดาเนินการสาหรับ keyword แต่ละตัว ภาษาจาวาได้
กาหนด keyword ไว้ดังนี้ เช่น
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 12
4. สญั ลักษณแ์ ยกคา separator
ภาษาจาวามีสัญลักษณ์แยกคาต่างๆ ท่ีสามารถนาไปใช้เขียนในโปรแกรมได้ดังนี้
สัญลักษณแ์ ยกคา หน้าท่ี
; เพือ่ ระบุการส้ินสุดของคาส่ังตา่ งๆ ภายในภาษาจาวา
() สาหรับต่อท้าย method หรือคาสง่ั อ่นื ๆ ในภาษาจาวา
, สาหรับแยกตวั แปรหรอื คาสัง่ ในภาษาจาวา
. เพือ่ ใชใ้ นการระบุ attribute หรอื method ของ object หรอื ใช้ใน
การระบุ package
{ } เพ่ือระบบุ ล็อกคาส่ังของภาษาจาวา คาส่งั ต่างๆ จะอยใู่ นบลอ็ ก เชน่
คาสง่ั ภายใน class, method หรือชุดคาสั่งโครงสรา้ งควบคุมตา่ งๆ
เชน่ if, while, for เปน็ ตน้
หนงั สอื ออนไลน์เรอ่ื ง
After java
reading
java 13
5. ช่องวา่ ง (whitespace)
โปรแกรมภาษาจาวาสามารถที่จะมีช่องว่างเพื่อแยกคา ประโยค หรือคาสั่งต่างๆ
ภายในโปรแกรมได้ โดยช่องว่างจะมีขนาดเท่าไรก็ได้ ท้ังน้ี compiler ของภาษาจาวาจะ
ไมน่ าช่องว่างมาเกยี่ วข้องกบั ขนาดของโปรแกรม bytecode ช่องวา่ งจะชว่ ยทาให้รูปแบบ
ของ sourcecode ดงู า่ ยขึ้น รปู แบบของชอ่ งวา่ งประกอบด้วย
• ช่องว่าง
• แท็ป
• การขึน้ ยรรทัดใหม่
6. ขอ้ มลู และค่าคงที่ (literals)
ขอ้ มูลคา่ คงท่ี (Literals) คอื คาทีใ่ ชแ้ สดงขอ้ มลู ที่เป็นตวั เลข ตวั อักขระ ขอ้ ความ
หรอื ค่าทางตรรกะ ซ่ึงในภาษาจาวาได้กาหนดขอ้ มูลค่าคงทไี่ ว้ 5 ประเภทดังนี้
ตรรกะ (boolean)
ตัวอักขระ (character)
ตัวเลขจานวนเตม็ (integral)
ตัวเลขทศนิยม (floating point)
ข้อความ (string)