พื้นฐานภาษาจาวา

31
พื้นฐานภาษาจาวา เสนอ คุณครูทรงศักดิ์ โพธิ์เอี่ยม

Transcript of พื้นฐานภาษาจาวา

Page 1: พื้นฐานภาษาจาวา

พื้นฐานภาษาจาวา

เสนอคุณครูทรงศักดิ์ โพธิ์เอี่ยม

Page 2: พื้นฐานภาษาจาวา

ภาษาจาวา

JAVA ภาษาในปัจจุบนั ไม่มีภาษาไหนที่เทียบได้รับภาษาจาวาซึ่งได้รับการพัฒนาขึ้นโดยบริษัทซัน ไมโครซิสเตมส์ ในปี 1991 โดยมีเป้าหมายที่จะสร้างผลิตภัณฑ์อิเล็กทรอนิกส์ส าหรับผู้บริโภคที่ง่ายต่อ การใช้ง่าย มีค่าใช้จ่ายต่ า ไม่มีข้อผิดพลาด และสามารถใช้กับเครื่องใด ก็ได้ ซ่ึงสิ่งเหล่านี้ก็ได้กลายเป็นข้อดีของจาวาที่เหนือกว่าภาษาอื่น ๆ โดยเฉพาะอย่างยิ่ง การที่โปรแกรมซึ่งเขียนขึ้นด้วยจาวาสามารถน าไปใช้กับเครื่องต่าง ๆ

Page 3: พื้นฐานภาษาจาวา

ภาษาจาวา

โดยไม่ต้องท าการคอมไพล์โปรแกรมใหม่ ท าให้ไม่จ ากัดอยู่กับเครื่องหรือโอเอสตัวใดตัวหนึ่ง แม้ว่าการใช้งานจาวาในช่วงแรกจะจ ากัดอยู่กับ World Wide Web (WWW) และ Internet แต่ในปัจจุบันได้มีการน าจาวาไปประยุกต์ใช้กับงานด้านซอฟต์แวร์ต่าง ๆ อย่างมากมาย ตั้งแต่ซอฟต์แวร์อรรถประโยชน์ (Utility) ไปจนกระทั่งซอฟต์แวร์ขนาดใหญ่ เช่น โปรแกรมชุดจากบริษัท Corel ซึ่งประกอบด้วยโปรแกรมหลักๆ คือ

Page 4: พื้นฐานภาษาจาวา

ภาษาจาวา

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

Page 5: พื้นฐานภาษาจาวา

ภาษาจาวา

นอกจากนี้แล้ว จาวายังเป็นภาษา ที่ถูกใช้งานในคอมพิวเตอร์แบบเอ็นซี (NC) ซึ่งเป็นคอมพิวเตอร์แบบใหม่ล่าสุด ที่เน้นการท างานเป็นเครือข่ายวา่ แอพเพลต (applet) ที่ต้องการใช้งานขณะนั้นมาจากเครื่องแม่ ท าให้การติดต่อสื่อสารสารผ่านเครือข่ายใช้ชอ่งทางการสื่อสารน้อยกว่าการดึง มาทั้งโปรแกรมเป็นอย่างมาก

Page 6: พื้นฐานภาษาจาวา

โครงสร้างโปรแกรมภาษาจาวา

public class ชื่อคลาส{

public static void main(String[] agrs){

ประโยคค าสั่งต่างๆ ของโปรแกรม;..................................................;

}}

Page 7: พื้นฐานภาษาจาวา

ชนิดของขอ้มูล (Data Type)

1 ชนิดข้อมูลแบบพื้นฐาน (primitive data type) หมายถึง

ชนิดข้อมูลที่สามารถเก็บข้อมูลที่เป็นข้อมูลทั่วไปหรือข้อมูลพ้ืนฐาน มีทั้งหมด 8 ตัว ได้แก่ boolean, char, byte, short, int, long, float,double

Page 8: พื้นฐานภาษาจาวา

ชนิดของขอ้มูล (Data Type)

2.ชนิดข้อมูลแบบอ้างอิง (reference data type) มีความแตกต่างกับชนิดข้อมูลพ้ืนฐาน ที่ว่าชนิดข้อมูลชนิดนี้อยู่ในรูปแบบหนึ่ง ซึ่งการเข้าถึง(ใช้งาน)ข้อมูลเป็นการอ้างถึง มากกว่าการเข้าถึงข้อมูลโดยตรง เก็บข้อมูลไว้ 2 ส่วน คือ

- Execution Stack เก็บค่าอ้างอิงท่ีชี้ไปยัง Heap memory- Heap Memory เก็บข้อมูลที่เรียกว่าออปเจ็ค ที่สร้างขึ้นมาจากคลาส

Page 9: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

ในการเขียนโปรแกรมภาษาจาวาประกอบด้วย- ตัวด าเนินการทางคณิตศาสตร์ (Arithmetic Operator)- ตัวด าเนินการก าหนดคา่ (Assignment Operator)- ตัวด าเนินการเปรียบเทยีบ (Equality and Relational Operator)- ตัวด าเนินการทางตรรกะ (Logical Operator)

Page 10: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

1.ตัวด าเนินการทางคณิตศาสตร์ (Arithmetic Operator)เป็นตัวด าเนินการท่ีจ าลองมาจากสมการทางคณิตศาสตร์ โดยในภาษาจาวาจะใช้เครื่องหมายต่างๆ แทนตัวด าเนินการทางคณิตศาสตร์ต่างๆ ดังนี้

Page 11: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

กฎในการเรียงล าดับ ดังนี้1.ค านวณสมการที่อยู่ภายในวงเล็บก่อนเป็นอันดบัแรก โดยเริ่ม

จากวงเล็บในสุด2.ถ้าสมการที่เหลือไม่มีวงเล็บแล้ว จะเรียงล าดับดังนี้

2.1 คูณ, หาร และ mod จะถูกค านวณก่อน โดยมีความส าคัญอยู่ในระดับเดียวกัน ถ้ามีหลายตัว จะเริ่มค านวณจากซ้ายไปขวา

2.2 บวก และ ลบ จะถูกค านวณเป็นล าดับถัดมา โดยมีความส าคัญอยู่ในระดับเดียวกัน ถ้ามีหลายตัว จะเริ่มค านวณจากซ้ายไปขวา

Page 12: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

Ex. 1 y = 2 * 5 * 6 + 3 * 4 + 7 ล าดับการท างานคอื

1. 2 คูณ 5 ( y = 2 * 5 * 6 + 3 * 4 + 7 )2. 10 คูณ 6 ( y = 10 * 6 + 3 * 4 + 7 )3. 3 คูณ 4 ( y = 60 + 3 * 4 + 7 )4. 60 บวก 12 ( y = 60 + 12 + 7 )5. y = 72 + 7สุดท้าย ผลลัพธ์เท่ากับ 79

Page 13: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

2.ตัวด าเนินการก าหนดค่า (Assignment Operator) คือตัวด าเนินการที่ใช้ส าหรับก าหนดค่าให้กับตัวแปร ทิศทางการท างานจะเป็นจากขวาไปซ้าย คอืก าหนดค่าทางขวาให้กบัตัวแปรทางซ้าย สัญลักษณ์ที่ใช้คือ เครื่องหมายเท่ากับ ( = ) เช่น int number1 = 5; //

Page 14: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

ก าหนดให้ตัวแปร number1 มีค่าเป็น 5เครื่องหมายเท่ากับ สามารถใช้ก าหนดค่าไดโ้ดยสมบูรณ์อยู่แล้ว แต่ในความเป็นจริง ภาษาจาวามีตัวแปรที่ใช้สนธิกันระหว่างตัวด าเนินการทางคณิตศาสตร์และตัวด าเนินการก าหนดค่าในครั้งเดียว เพื่อความสะดวกในการเขียนโปรแกรม เช่นy = y + 10สามารถเขียนแทนได้ด้วยy += 10

Page 15: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

ตัวอย่าง// IncrementOperator.javapublic class IncrementOperator { public static void main(String[] args) {int prefix = 0;int postfix = 0;System.out.println("On the fly Prefix = "+ ++prefix);System.out.println("after addition Prefix = "+ prefix);System.out.println("On the fly Postfix = "+ postfix++);System.out.println("after addition Postfix = "+ postfix); }}

Page 16: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

โปรแกรมจะแสดงผลออกมาดังนี้

Page 17: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

3. ตัวด าเนินการเปรียบเทียบ (Equality and Relational Operator) ใช้ส าหรับเปรียบเทียบค่า 2 ค่า และจะ return ค่าออกมาเป็น boolean (true/false) ถ้าหากนิพจน์เป็นจริง ก็จะให้ค่า true ถ้านิพจน์เป็นเท็จ ก็จะให้ค่า false ข้อควรจ า

- เครื่องหมายที่มี 2 ตัว จะต้องเขียนติดกันเสมอ- เครื่องหมาย >= (มากกว่าหรือเท่ากับ) และ <=

(น้อยกว่าหรือเท่ากับ) จะต้องเขียนเครื่องหมายเท่ากับไว้ด้านขวาเสมอ

Page 18: พื้นฐานภาษาจาวา

ตัวด าเนินการ (Operator)

4. ตัวด าเนินการทางตรรกกะ (Logical Operator) เมื่อต้องการตรวจสอบตัวด าเนินการเชิงเปรียบเทียบหลายๆ อัน จะใช้ตัวด าเนินการทางตรรกะในการตรวจสอบ

Page 19: พื้นฐานภาษาจาวา

การเปลี่ยนแปลงชนิดของข้อมูล (casting)

ใช้แปลงชนิดข้อมูล จากชนิดหนึ่งเป็นอีกชนิดได ้โดยไม่สนใจขนาด แต่ถ้า cast ข้อมูลที่มีขนาดใหญ่ไปสู่ข้อมูลที่มี ขนาดเล็ก จะท าให้สูญเสียค่าความเป็นจริงของข้อมูลนั้นได้ ดังนั้นการประกาศค่าตัวแปรและcast ต้องท าด้วยความระมัดระวัง

Page 20: พื้นฐานภาษาจาวา

การเปลี่ยนแปลงชนิดของข้อมูล (casting)

รูปแบบ(target_type) varvalue

ตัวอย่างfloat price = 15.254f;int numintnumint = (int)price;

Page 21: พื้นฐานภาษาจาวา

การเปลี่ยนแปลงชนิดของข้อมูล (casting)

การแปลงค่าระหว่าง int และ Stringรูปแบบ

ตัวแปรแบบInt=Integer.parseInt(ตัวแปรแบบString)ตัวอย่าง

int num1;String x=“10”;num1=Integer.parseInt(x) // num1มีค่าเท่ากับ 10

Page 22: พื้นฐานภาษาจาวา

การเปลี่ยนแปลงชนิดของข้อมูล (casting)

การแปลงค่าระหว่าง String และ intรูปแบบ

ตัวแปรแบบ String =Integer.toString(ตัวแปรแบบint)ตัวอย่าง

int num1=33;String x;x=Integer.toString(num1) // x มีค่าเท่ากับ “33”

Page 23: พื้นฐานภาษาจาวา

การเปลี่ยนแปลงชนิดของข้อมูล (casting)

การแปลงค่าระหว่าง double และ Stringรูปแบบ

ตัวแปรแบบdouble=Double.parseDouble(ตัวแปรแบบString)ตัวอย่าง

double num1;String x=“10.4”;num1=Double.parseDouble(x) // num1มีค่าเท่ากับ 10.4

Page 24: พื้นฐานภาษาจาวา

การสร้าง String

String เป็น Class หนึ่งใน Package ของภาษาจาวาชื่อ java.langท าหน้าที่ใน การเก็บข้อมูลที่เป็น “ชุดของตัวอักษร” ซึ่งปกติชนิดของข้อมูลของภาษาจาวาก็มี ชนิดเป็น character แต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น ดังนั้นจงึล าบากในการ น ามาใชก้ับข้อมูลที่มากกว่า 1 ตัวอักษร หรือที่เรียกว่า “String” ดังนั้น ภาษาจาวา จึงได้สร้าง Class ส าเร็จรูปมาให้สามารถเรียกใช้ได้ทันที เรียกว่า “String” ทั้งหมดคือที่มาของค าว่า String Class

Page 25: พื้นฐานภาษาจาวา

เมธอดรับข้อมูลพืน้ฐาน

การรับข้อมูลทางคีย์บอร์ดในภาษาจาวาจะต้องสร้างออบเจ็กต์ของคลาส Scanner ขึ้นมาโดยจะต้องประกาศตัวแปรออบเจ็กต์ก่อน เช่นScanner keyboard;ประกาศตัวแปรออบเจ็กต์ชื่อ keyboard อยู่ในคลาส Scanner จากนั้นต้องสร้างออบเจ็กต์มาโดยใช้คีย์เวิร์ด new มีรูปแบบดังนี้

ตัวแปรออบเจ็กต์ = new ชื่อคลาส(อาร์กิวเมนต์);

Page 26: พื้นฐานภาษาจาวา

เมธอดรับข้อมูลพืน้ฐาน

ดังนั้นถ้าจะให้ตัวแปร keyboard รับค่าทางแป้นพิมพ์จะต้องสร้างออบเจ็กต์ขึ้นมาโดยให้มีอาร์กิวเมนต์เป็น System.in ดังนี้keyboard = new Scanner(System.in); ในคลาส Scanner นั้นมีเมธอดส าหรับอ่านข้อมูลประเภทต่างๆหลายประเภทดังนี้

Page 27: พื้นฐานภาษาจาวา

เมธอดรับข้อมูลพืน้ฐาน

เมธอด การท างาน

nextByte() รับข้อมูลเลขจ านวนเต็มชนิด Byte ทางแป้นพิมพ์

nextDouble() รับข้อมูลเลขทศนิยมชนิด Double ทางแป้นพิมพ์

nextFloat() รับข้อมูลเลขทศนิยมชนิด Float ทางแป้นพิมพ์

nextInt() รับข้อมูลเลขจ านวนเต็มชนิด Int ทางแป้นพิมพ์

nextLine() รับข้อมูลแบบสตริงทางแป้นพิมพ์

nextLong() รับข้อมูลตัวเลขชนิด Long ทางแป้นพิมพ์

nextShort() รับข้อมูลตัวเลขชนิด Short ทางแป้นพิมพ์

Page 28: พื้นฐานภาษาจาวา

เมธอดรับข้อมูลพืน้ฐาน

ตัวอย่างint number;Scanner keyboard = new Scanner(System.in);System.out.print(“Enter an integer value: “);number = keyboard.nextInt();

Page 29: พื้นฐานภาษาจาวา

เมธอดรับข้อมูลพืน้ฐาน

การใช้ importในภาษาจาวาคลาสต่างๆจะถูกรวมไว้เป็นแพ็กเกจซ่ึงสามารถ

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

import java.util.Scannerเป็นการเรียกใช้คลาส Scanner ที่เก็บอยู่ใน util โดย util นี้เก็บอยู่ในแพ็กเกจหลักชื่อ java

Page 30: พื้นฐานภาษาจาวา

แหล่งอ้างอิง

http://java.pongkorn.net/ch1_4.htmhttp://java.pongkorn.net/ch2_2.htmhttp://giffykids.blogspot.com/2007/06/homework1_28.htmlhttp://java.pongkorn.net/ch2_5.htmhttp://java.pongkorn.net/ch4_5.htm

Page 31: พื้นฐานภาษาจาวา

เรื่อง พื้นฐานภาษาจาวาวิชา การเขียนโปรแกรมประยุกต์ (ง30213)

เสนอคุณครูทรงศักดิ์ โพธ์ิเอี่ยม

จัดท าโดย 1.นายปฐมพร ฉัตรทันท์ เลขที่ 8 2.นาย พงศ์ระพี ศิริเหลืองทอง เลขที่ 9 3.นางสาวตันหยง สุคนธา เลขที่ 26 4.นางสาวทัมรินทร์ ผูกสี เลขที่ 27 5.นางสาวรัตติกาล ข าคม เลขที่ 28

6.นางสาวสโรชา มากระนิตย์ เลขที่ 33ชั้นมัธยมศึกษาปีที่ 6/2

โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี