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

Post on 25-Jun-2015

570 views 4 download

Tags:

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

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

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

ภาษาจาวา

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

ภาษาจาวา

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

ภาษาจาวา

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

ภาษาจาวา

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

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

public class ชื่อคลาส{

public static void main(String[] agrs){

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

}}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตัวด าเนินการ (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

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

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

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

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

ตัวด าเนินการ (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); }}

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

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

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

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

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

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

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

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

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

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

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

รูปแบบ(target_type) varvalue

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

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

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

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

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

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

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

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

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

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

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

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

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

การสร้าง String

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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