The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by aieprtongame, 2020-03-04 03:04:25

javas

javas

Java คืออะไร

Java คอื อะไร
Java หรอื Java programming language คือภาษาโปรแกรม

เชงิ วตั ถุ พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอ่นื ๆ ทบ่ี ริษัท ซัน
ไมโครซิสเตม็ ส์ ภาษานี้มจี ุดประสงค์เพ่อื ใชแ้ ทนภาษาซพี ลสั พ
ลัส C++ โดยรูปแบบทเ่ี พม่ิ เตมิ ขึ้นคลา้ ยกบั ภาษาออ็ บเจกต์ทฟี ซี
(Objective-C) แตเ่ ดมิ ภาษานเี้ รียกวา่ ภาษาโอ๊ก (Oak) ซึง่ ต้ังชอ่ื
ตามตน้ โอ๊กใกลท้ ท่ี างานของ เจมส์ กอสลงิ แล้วภายหลังจึง
เปลย่ี นไปใชช้ อ่ื "จาวา" ซ่ึงเป็นชื่อกาแฟแทน จดุ เดน่ ของภาษา Java
อยทู่ ผ่ี ู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented
Programming มาพฒั นาโปรแกรมของตนด้วย Java ได้

ภาษา Java เปน็ ภาษาสาหรบั เขียนโปรแกรมทีส่ นบั สนนุ การ
เขยี นโปรแกรมเชิงวตั ถุ ( OOP : Object-Oriented
Programming) โปรแกรมท่เี ขยี นขนึ้ ถูกสรา้ งภายในคลาส ดังนั้น
คลาสคือทเ่ี กบ็ เมทอด (Method) หรอื พฤติกรรม (Behavior) ซง่ึ มี
สถานะ (State) และรปู พรรณ (Identity) ประจาพฤตกิ รรม
(Behavior)

การแปลงชนิดของข้อมลู

ใชแ้ ปลงชนดิ ข้อมูล จากชนดิ หนงึ่ เป็นอีกชนดิ ได้ โดยไมส่ นใจขนาด แตถ่ ้า
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

▪ การแปลงคา่ ระหวา่ ง 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

คาส่งั 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



ชนดิ ข้อมลู แบบพื้นฐาน

▪ ชนิดข้อมูลในภาษาจาวาแบง่ เป็น 2 ประเภทคอื
1. ชนิดขอ้ มูลแบบพนื้ ฐาน (primitive data type)
2. ชนดิ ข้อมลู แบบอา้ งองิ (reference data type)

▪ ชนดิ ข้อมูลแบบพนื้ ฐานแบ่งเปน็ 4 ประเภทคอื
1. ชนดิ ข้อมลู ตรรกะ (logical) คอื ชนิด boolean
2. ชนิดข้อมลู อักขระ (textual) คือชนิด char
3. ชนิดขอ้ มลู ตัวเลขจานวนเตม็ (integer) คือชนิด byte, short,

int และ long
4. ชนดิ ข้อมลู ตวั เลขทศนยิ ม (floating point) คือชนดิ float

และ double

1. ชนิดขอ้ มูลตรรกะ (logical) คอื ชนิด Boolean

ข้อมลู ชนดิ ตรรกะ
ขอ้ มลู ชนิดตรรกะมีขอ้ มูลคา่ คงทอี่ ยู่ 2 คา่ คือ true และ false
ตัวอย่าง
boolean check = true;
เป็นการกาหนดให้ตวั แปรชอ่ื check มีชนิดข้อมูลเปน็ boolean

และกาหนดให้มคี า่ เปน็ true

2. ชนดิ ขอ้ มูลอกั ขระ (textual) คือชนิด char

ข้อมูลชนิดอักขระ
ขอ้ มูลชนิดอักขระใชเ้ พ่ือแสดงตัวอักขระหน่งึ ตัว
ตวั อย่าง
char alphabet = ‘M’;
เป็นการประกาศตัวแปรชอื่ alphabet มีชนิดข้อมูลเป็น char โดย

มีคา่ เป็นตวั อกั ขระ M

3. ชนิดข้อมลู ตัวเลขจานวนเตม็ (integer) คอื ชนิด byte, short, int
และ long

ขอ้ มลู ชนดิ จานวนเตม็
▪ มีชนดิ ขอ้ มลู พื้นฐาน 4 ชนดิ คอื

1. byte, short, int, long
▪ ขอ้ มูลคา่ คงทสี่ ามารถเขยี นได้ 3 แบบคือ

- เลขฐานสบิ เช่น -123, 3009 เป็นต้น
- เลขฐานแปด คอื การเขยี นเลขจานวนเตม็ ที่ขึน้ ตน้ ดว้ ยเลข 0 แลว้
ตามดว้ ย 0 – 7 เช่น 072
- เลขฐานสิบหก คือ การเขยี นเลขจานวนเต็มท่ขี ้ึนต้นด้วย 0x แล้วตาม
ด้วย 0 – 9 หรือ A – F เช่น 0x2D
▪ ข้อมูลค่าคงทขี่ องเลขจานวนเต็มทเี่ ปน็ ชนดิ long จะมีตวั อกั ษร l หรอื
L ต่อทา้ ย เช่น 3l, 089L, 0xBCL

4. ชนดิ ขอ้ มลู ตัวเลขทศนยิ ม (floating point) คือชนิด float และ
double

ข้อมูลชนดิ ตวั เลขทศนยิ ม
▪ ขอ้ มูลชนดิ ตวั เลขทศนิยมจะเป็นเลขทีม่ ีเครื่องหมายจุดทศนิยม เชน่

78.288, -8.90
▪ มีชนดิ พ้นื ฐาน 2 ชนิด คอื double (เกบ็ ขอ้ มลู ขนาด 64 บิต) และ

float (เกบ็ ขอ้ มลู ขนาด 32 บติ )
▪ สามารถเขียนในรูปแบบของเลขยกกาลงั สิบ (exponential form) ได้

โดยใช้ตวั อกั ษร E หรือ e ระบุจานวนที่เป็นเลขยกกาลงั สิบ เชน่
7.02E34, 4e-9

ชนดิ ข้อมลู แบบอ้างองิ

ชนิดขอ้ มูลแบบอา้ งองิ
ตัวแปรหรือค่าคงทีป่ ระกาศเปน็ ชนิดข้อมลู อื่นๆ ซง่ึ ไม่ใช่ชนิดขอ้ มูลแบบ
พนื้ ฐาน จะเป็นชนิดขอ้ มูลแบบอ้างอิงซึ่งกค็ อื object ในจาวาโดยแบ่งเปน็
2 แบบคอื

▪ ชนดิ ขอ้ มลู ท่ีเป็น array
▪ ชนิดขอ้ มลู ทีเ่ ปน็ class

ตัวอยา่ ง
String s = new String(“Hello”);

ตวั ดาเนนิ การ

ตวั ดาเนนิ การแบง่ ออกเป็น 4 ประเภทคือ
1. ตวั ดาเนนิ การทางคณิตศาสตร์ (Arihmetic Operator)
2. ตัวดาเนนิ การแบบสมั พันธ์ (Relational Operator)
3. ตัวดาเนินการทางตรรกศาสตร์ (Logical Operator)
4. ตัวดาเนนิ การแบบบติ (Bitwise Operator)

1. ตวั ดาเนนิ การทางคณิตศาสตร์ (Arihmetic Operator)
ตวั ดาเนนิ การทางด้านคณติ ศาสตร์ ได้แกเ่ ครือ่ งหมายท่ใี ชใ้ น

การบวก ลบ คูณ หาร ตัวเลข และอืน่ ๆ

2. ตวั ดาเนนิ การแบบสมั พนั ธ์(Arithmetic Operator)

เครื่องหมายท่ีใชใ้ นการเปรยี บเทยี บและตัดสนิ ใจ ผลการเปรยี บเทยี บจะ
ให้ค่าเปน็ 1 และ เท็จจะให้ค่าเป็น 0

3. ตัวดาเนินการทางตรรกศาสตร์ (Logical Operator)

เครื่องหมายตรรกะมีจุดประสงค์ใช้ในการเปรียบเทียบเพื่อ
ตัดสินใจซึ่งผลท่ีได้จากการเปรียบเทียบจะได้ผลลัพธ์ 2 อย่าง คือ ถ้าได้
ผลลัพธ์เป็นจริงจะมีค่าเป็น 1 และถ้าได้ผลลัพธ์เป็นเท็จจะมีค่า
000000 0

คาสั่ง && (AND) เปน็ การนาเง่ือนไข 2 เงอ่ื นไขมาเปรียบเทยี บกันซึ่ง
ผลลัพธ์ทไ่ี ดจ้ ะเปน็ ดงั นี้

4. ตวั ดาเนินการแบบบิต (Bitwise Operator)

ตัวดาเนินการแบบบิตเป็นตัวดาเนินการท่ีใช้กับข้อมูลชนิดตัวเลข
จานวนเต็ม เพื่อจัดการกับข้อมูลเชิงบิต หรือเพ่ือเล่ือนบิต โดยมี
เครือ่ งหมายต่างๆ ดังนี้



ตวั แปรและคา่ คงท่ี

ข้อมูลท่เี กบ็ อยู่ในโปรแกรมเชน่ ขอ้ มูลท่ีเปน็ คุณลักษณะของ object
คุณลักษณะของ class และข้อมูลใน method จะแบ่งเป็นสองประเภท
คอื ตวั แปรและค่าคงที่ ซึง่

ตวั แปร คอื ขอ้ มูลท่ีสามารถเปลี่ยนแปลงค่าไดใ้ นโปรแกรม
ค่าคงท่ี คือข้อมูลท่ีกาหนดค่าได้เพียงคร้ังเดียวและไม่สามารถ
เปลย่ี นแปลงค่าได้ในโปรแกรม

ชนดิ ข้อมูล

การประกาศตวั แปร
[modifier] dataType variableName[,variableName];

▪ modifier คอื keyword ทรี่ ะบุคุณสมบตั ิตา่ งๆ ของตัวแปร
เชน่ access modifier ส่วนกรณที ไี่ ม่ระบจุ ะถอื ว่าเป็น default

▪ dataType คือชนิดขอ้ มูล
▪ variableName คอื ช่อื ของตวั แปรทีเ่ ปน็ ไปตามกฎการต้ังชอ่ื

ตัวอยา่ ง
int sum; //คือการประกาศตัวแปรช่อื sum ให้มชี นดิ เป็น int

float price,total; //คอื การประกาศตวั แปรชอื่ price และ total ให้มี
ชนดิ เปน็ float

คาส่ังกาหนดคา่
variableName = expression;

▪ variableName คือชื่อของตัวแปรที่เปน็ ไปตามกฎการตง้ั ชื่อ
▪ expression คือนิพจนซ์ ง่ึ เป็นผลลพั ธท์ ีไ่ ด้จากการคานวณขอ้ ความท่ี

อาจประกอบดว้ ยคา่ คงที่ ตวั แปร และตัวดาเนนิ การ (operator)

ขอบเขตตวั แปรและค่าคงท่ี
▪ ตวั แปรและคา่ คงท่ีทีป่ ระกาศขึน้ จะสามารถใช้งานภายในบลอ็ ก

คาส่ัง { } ทปี่ ระกาศเท่านนั้ โดยภาษาจาวาแบง่ ตัวแปรและค่าคงที่

เปน็ 2 ประเภทคือ
▪ ตัวแปรหรอื ค่าคงท่ีทีเ่ ปน็ คณุ ลกั ษณะของ object หรือคุณลกั ษณะ

ของ class
▪ ตวั แปรหรือคา่ คงที่ที่อยู่ในบล็อกของ method ท่เี รียกวา่ คา่ คงท่ี

ภายใน (local constant) หรอื ตวั แปรภายใน (local variable)
▪ ตัวแปรจะถกู กาหนดค่าเร่มิ ตน้ ใหอ้ ัตโนมัตดิ งั น้ี



ไวยากรณร์ ะดบั ของคา

คาหรอื ข้อความท่ีสามารถเขยี นโปรแกรมภาษาจาวา จะตอ้ งเป็นคาหรอื
ข้อความในรูปแบบใดรูปแบบหน่งึ ของประเภทต่างๆ ดงั น้ี

1. comment
2. identifier
3. keyword
4. สัญลกั ษณ์แยกคา separator
5. ช่องวา่ ง (whitespace)
6. ขอ้ มลู และคา่ คงที่ (literals)

1. Comment
comment คอื ขอ้ ความทีแ่ ทรกอย่ภู ายในโปรแกรมซ่ึง compiler

จะไม่แปลขอ้ ความนใี้ ห้เปน็ ส่วนหน่ึงของโปรแกรม กล่าวคือข้อความน้ีจะ
ไมม่ ีผลต่อการทางานของโปรแกรม การ comment เขียนไว้เพอ่ื อธิบาย
โปรแกรมเพื่อให้ผู้อ่านเข้าใจโปรแกรมง่ายยิ่งขึ้น และช่วยทาให้การแก้ไข
และปรบั ปรุงโปรแกรมเป็นไปได้งา่ ยข้นึ
ภาษาจาวากาหนดรูปแบบของการเขยี น comment ไว้ดังน้ี

1) ข้อความเดียว จะใช้เคร่ืองหมาย // นาหนา้ ขอ้ ความ
2) ข้อความต้งั แต่หนึ่งบรรทัดข้ึนไป จะเริม่ ตน้ ดว้ ย
เครื่องหมาย /* และสิ้นสดุ ด้วยเคร่ืองหมาย */

2. Identifier
Identifier คอื ชื่อทต่ี ัง้ ข้ึนในภาษาจาวา ซึ่งอาจเปน็ ช่ือของคลาส ชือ่

ของตัวแปร ชื่อของเมธอด หรือชอื่ ของคา่ คงท่ี ซึง่ จะต้องเปน็ ไปตามกฎ
การตงั้ ชอ่ื ดังน้ี

▪ ต้องขึ้นต้นด้วยอักขระ A-Z, a-z, _ หรือ $ เท่านน้ั
▪ ประกอบด้วยตัวอกั ขระมากกวา่ หนึง่ ตวั ตวั อักขระหลังจากตวั แรก

นั่นจะตอ้ งเปน็ ตวั อกั ขระขา้ งต้น หรอื เป็นตวั เลข 0-9 เท่านนั้
▪ ต้องไมต่ รงกับคาสงวน
Indentifier ในภาษาจาวาถอื วา่ ตัวอักษรพิมพใ์ หญ่และตัวอักษรพมิ พเ์ ล็ก
ตา่ งกัน (case sensitive) ดังนน้ั ช่ือ Num จะต่างจาก num

ตัวอย่างของ indentifier ทีถ่ ูกตอ้ ง ตวั อยา่ งของ indentifier ท่ีไม่ถูกตอ้ ง
▪ MyVariable ▪ My Variable
▪ MyVariable ▪ 9Pi
▪ $data ▪ @net
▪ Sum_Score ▪ System
▪… ▪…

3. Keyword
Keyword คือช่ือที่มีความหมายพิเศษในจาวา compilerของภาษาจา

วาจะเขา้ ใจความหมายและคาส่ังทีจ่ ะตอ้ งดาเนินการสาหรับ keyword
แตล่ ะตัว ภาษาจาวาไดก้ าหนด keyword ไวด้ งั น้ี เชน่

4. สัญลกั ษณ์แยกคา separator

ภาษาจาวามีสัญลักษณ์แยกคาต่างๆ ท่ีสามารถนาไปใช้เขียนใน

โปรแกรมไดด้ ังน้ี

สัญลกั ษณแ์ ยกคา หนา้ ที่

; เพ่ือระบกุ ารสน้ิ สดุ ของคาสงั่ ตา่ งๆ ภายในภาษาจาวา

() สาหรบั ต่อท้าย method หรือคาสง่ั อน่ื ๆ ในภาษาจาวา

, สาหรบั แยกตวั แปรหรือคาส่งั ในภาษาจาวา

. เพือ่ ใช้ในการระบุ attribute หรือ method ของ object หรือ

ใช้ในการระบุ package

{ } เพื่อระบบุ ล็อกคาส่งั ของภาษาจาวา คาส่งั ตา่ งๆ จะอยู่ในบลอ็ ก

เช่น คาส่ังภายใน class, method หรอื ชุดคาส่งั โครงสรา้ ง
ควบคุมต่างๆ เชน่ if, while, for เป็นตน้

5. สัญลกั ษณ์แยกคา separator
โปรแกรมภาษาจาวาสามารถท่จี ะมีช่องวา่ งเพ่อื แยกคา ประโยค หรอื
คาสง่ั ตา่ งๆ ภายในโปรแกรมได้ โดยช่องว่างจะมขี นาดเทา่ ไรกไ็ ด้ ทัง้ น้ี
compiler ของภาษาจาวาจะไม่นาชอ่ งวา่ งมาเกี่ยวขอ้ งกับขนาดของ
โปรแกรม bytecode ชอ่ งว่างจะช่วยทาใหร้ ปู แบบของ sourcecode
ดูงา่ ยขึ้น รูปแบบของชอ่ งวา่ งประกอบด้วย

1. ชอ่ งวา่ ง 2. แท็ป 3. การขน้ึ บรรทัดใหม่

6. ขอ้ มูลและคา่ คงที่ (literals)

ข้อมูลค่าคงท่ี (Literals) คือคาที่ใช้แสดงข้อมูลท่ีเป็นตัวเลข ตัว

อักขระ ข้อความ หรือค่าทางตรรกะ ซ่ึงในภาษาจาวาได้กาหนดข้อมูล

ค่าคงที่ไว้ 5 ประเภทดังน้ี
▪ ตรรกะ (boolean)
▪ ตัวอักขระ (character)
▪ ตวั เลขจานวนเต็ม (integral)
▪ ตัวเลขทศนิยม (floating point)
▪ ขอ้ ความ (string)


Click to View FlipBook Version