พื้นฐานภาษาจาวา
ประวัติความเป็นมา
เป็นภาษาที่ถูกพัฒนาโดย Dr.Jame Gosling บริษัท Sun Microsystems เดิมที
ชื่อ ภาษาโอ๊ค (Oak) เป็นชื่อต้นไม้ ใหญ่ที่อยู่ในบริเวณบ้าน ที่ทีมวิศวกรของ
ซัน ทางานอยู่ นามาใช้ในการพัฒนาโปรแกรมขนาดจิ๋วสาหรับ อุปกรณ์
เครื่องใช้อิเล็คทรอนิกส์ ได้ทาการพัฒนาต่อมาเรื่อยๆ และได้เปลี่ยนชื่อใหม่
เป็น ภาษาจาวา (Java) ตามชื่อกาแฟที่ทีมพัฒนาดื่ม
จุดเด่น
1) เป็นภาษาสาหรับการเขียนโปรแกรมเชิงวัตถุ (OOP: Object
Oriented Programming)
2) Java คือ platform independence หมายความว่าความสามารถของ
โปรแกรมที่เขียนด้วย java
สามารถทางานได้ในระบบปฏิบัติการที่ต่างกัน โดยไม่ต้องดัดแปลง
แก้ไขใหม่
3) Free และ เป็นโปรแกรมประเภท Open Source
โครงสร้าง ภาษา Java (Java Structure)
1. เครื่องหมาย ในการควบคุม Structure
1.1 Comment คือข้อความที่แทรกเข้าไปในโปรแกรม แต่ไม่มีผลต่อการ
ทางานของโปรแกรม เช่นในกรณีที่เราต้องการอธิบาย Source code ไว้ใน
โปรแกรม วิธีการคือ
- comment ทีละ บรรทัด ใช้เครื่องหมาย // ตามด้วยข้อความที่ต้องการ
comment
1.2 Keyword คือคาที่ถูกกาหนดไว้ใช้เองแล้วในภาษา Java ไม่สามารถ
นามาใช้ในการตั้งชื่อภายใน โปรแกรมได้ ตัวอย่างเช่น class,boolean,char
เป็นต้น
1.3 Identifiers คือชื่อที่ผู้เขียนตั้งขึ้นมา เพื่อใช้แทนอะไรก็ได้ไม่ว่าจะเป็น
method ,ตัวแปร หรือ class ชื่อที่ถูกต้องควรประกอบด้วย ตัวอักษร ,
ตัวเลข ,_,$ และจะต้องขึ้นต้นด้วย ตัวอักษรเท่านั้น
1.4 Separators คือ อักษร หรือ เครื่องหมายที่ใช้แบ่งแยกคาในภาษา มี
ดังต่อไปนี้
- เครื่องหมาย () ใช้สาหรับ
1. ต่อท้ายชื่อ method ไว้ให้ใส่ parameter
เช่น private void hello( );
2. ระบุเงื่อนไขของ if ,while,for ,do
เช่น if ( i=0 )
3. ระบุชื่อชนิดข้อมูลในการ ทา casting
เช่น String a=( String )x;
- เครื่องหมาย{ }ใช้สาหรับ
กาหนดขอบเขตของ method แล class
method แสดงผลทางจอภาพพื้นฐาน
ในตัวอย่างต่อไปนี้ จะเป็นตัวอย่างการใช้ method print และ
println โดย method print จะแสดงผล method ต่อไปจะยังอยู่ใน
บรรทัดเดิม และ method println จะทาให้การแสดงผลใน
method ต่อไปแสดงผลขึ้นบรรทัดใหม่
ตัวอย่าง example1.java
public class example1 {
public static void main(String[] args) {
System.out.println("Hello World.");
System.out.print("Hello World. ");
System.out.print("My");
System.out.print(" name");
System.out.print(" is");
System.out.print(" JAVA.");
}
}
การดาเนินการทางคณิตศาสตร์
ในภาษาจาวา ประโยค (statement) จะจบด้วยเครื่องหมาย ;
(semicolon) เสมอ ดังนั้นโปรแกรมสามารถเขียน statement ได้มากกว่า
หนึ่งสเตจเม็นต์ในหนึ่งบรรทัดของ source code หรือสามารถ
เขียน statement โดยมีความยาวมากกว่าหนึ่งบรรทัดก็สามารถทาได้
Expression หมายถึง ประโยคในภาษา Java ที่ได้รับการยอมรับว่าอยู่ใน
รูปแบบที่ได้กาหนดไว้ การเขียน code ให้มีรูปแบบที่เหมาะสม อ่านได้ง่าย
จะทาให้การพัฒนาโปรแกรมเป็นไปได้ด้วยความรวดเร็วและ เป็นที่ยอมรับ
ตามระบบสากล
เมื่อมีตัวแปรหลายตัวในการประมวลผลของประโยค ลาดับขั้นของการ
ประมวลผลมีความสาคัญ เนื่องจากรูปแบบของ การประมวลผลตามขั้น
ของ operator ต่างๆ มีลาดับการประมวลผลที่ไม่เท่ากัน ซึ่งเป็นไปตามกฎ
ของการประมวลผล ทางคณิตศาสตร์ ได้แก่
1) การประมวลผลข้อมูลที่เป็นจานวนเต็ม
2) การประมวลผลด้วยตัวแปรที่มีจุดทศนิยม
3) การประมวลผลข้อมูลต่างชนิดกัน
- ถ้าตัวแปรใดเป็น double ตัวแปรที่นามาประมวลผลด้วยจะถูกเปลี่ยนให้
เป็น double ก่อนการประมวลผล
- ถ้าตัวแปรใดเป็น float ตัวแปรที่นามาประมวลผลด้วยจะถูกเปลี่ยนให้
เป็น float ก่อนการประมวลผล
- ถ้าตัวแปรใดเป็น long ตัวแปรที่นามาประมวลผลด้วยจะถูกเปลี่ยนให้
เป็น long ก่อนการประมวลผล
4) การประมวลผลตัวเลขที่มีขนาดใหญ่
Java จะมี class BigInteger ที่สามารถเรียกใช้เพื่อประมวลผลตัวเลขที่มีค่า
มากกว่า int ที่จะเก็บค่าได้
ลาดับที่ เครื่องหมาย ลาดับที่ เครื่องหมาย
1 วงเล็บ ( ) 6 = =, !=
2 ++,-- 7 &&
3 *, /, % 8 ||
4 +, - 9 =, +=, -=, *=, /=, %=
5 <, <=, >, >=
ตัวดาเนินการ ความหมาย
+= การบวก
-= การลบ
*= การคูณ
/= การหาร (ได้ผลหาร)
%= การหาร (ได้เศษจากการหาร)
ลาดับขั้นการประมวลผลของเครื่องหมาย
ตัวดาเนินการ ความหมาย
++Variable เพิ่มค่าหนึ่งค่าก่อนการเข้าถึง
Variable++ เพิ่มค่าหนึ่งค่าหลังการเข้าถึง
- -Variable ลดค่าหนึ่งค่าก่อนการเข้าถึง
Variable- - ลดค่าหนึ่งค่าหลังการเข้าถึง
การคานวณแบบย่อ (Shortcut Operator)
ตัวดาเนินการ ความหมาย
+= การบวก
-= การลบ
*= การคูณ
/= การหาร (ได้ผลหาร)
%= การหาร (ได้เศษจากการหาร)
ตัวดาเนินการ ความหมาย
++Variable เพิ่มค่าหนึ่งค่าก่อนการเข้าถึง
Variable++ เพิ่มค่าหนึ่งค่าหลังการเข้าถึง
- -Variable ลดค่าหนึ่งค่าก่อนการเข้าถึง
Variable- - ลดค่าหนึ่งค่าหลังการเข้าถึง
ตัวดาเนินการเพิ่มค่าหรือลดค่า
ตัวดาเนินการเพิ่มค่าหรือลดค่า ที่ใช้ใน JAVA ได้แก่
++ตัวแปร คือ การเพิ่มค่าตัวแปรขึ้น 1 ก่อน แล้วจึงค่อยคืนค่า
ตัวแปร++ คือ คืนค่าตัวแปรก่อน แล้วจึงค่อยเพิ่มค่าตัวแปรขึ้น 1
--ตัวแปร คือ การลดค่าตัวแปรลง 1 ก่อน แล้วจึงค่อยคืนค่า
ตัวแปร-- คือ คืนค่าตัวแปรก่อน แล้วจึงค่อยลดค่าตัวแปรลง 1
การเปลี่ยนประเภทของข้อมูล
คอมไพเลอร์ภาษาจาวาสามารถแปลงข้อมูลให้มีรูปแบบที่
สอดคล้องกันได้ มี 2 รูปแบบคือ
– การแปลงข้อมูลให้มีขนาดใหญ่ขึ้น
– การแปลงข้อมูลให้มีขนาดเล็กลง
โดยทั่วไปมักจะเปลี่ยนข้อมูลให้มีขนาดใหญ่ขึ้น เพราะถ้าหาก
แปลงข้อมูลให้มีขนาดเล็กลงอาจทาให้การประมวลผลข้อมูลเกิด
ความเสียหายได้
การแปลงขนาดข้อมูลโดย Cast Operator
ในภาษาจาวาสามารถแปลงข้อมูลขนาดใหญ่ให้มีขนาดเล็กลงได้
โดยใช้Cast Operator ซึ่งจะเขียนประเภทข้อมูลที่
ต้องการแปลงไว้ในวงเล็บด้านหน้าตัวแปรที่
คลาสสตริง
การสร้าง String
String เป็น Class หนึ่งใน Package ของภาษาจาวาชื่อ java.lang ทาหน้าที่ใน
การเก็บข้อมูลที่เป็น “ชุดของตัวอักษร” ซึ่งปกติชนิดของข้อมูลของภาษา
จาวาก็มี ชนิดเป็น character แต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น
ดังนั้นจึงลาบากในการ นามาใช้กับข้อมูลที่มากกว่า 1 ตัวอักษร หรือที่
เรียกว่า “String” ดังนั้น ภาษาจาวา
จึงได้สร้าง Class สาเร็จรูปมาให้สามารถเรียกใช้ได้ทันที
เรียกว่า “String” ทั้งหมดคือที่มาของคาว่า String Class
การสร้าง Object เพื่อใช้กับ String ได้ 6 รูปแบบคือ
รูปแบบที่ 1
String ชื่อObject = new String(ข้อความ);
รูปแบบที่ 2
String ชื่อObject = ข้อความ;
รูปแบบที่ 3
String (char chars[]);
เป็นการสร้าง String ที่นา Array ชื่อ Chars มาเป็นข้อมูลใน String
รูปแบบที่ 4
String (char chars[], int startIndex, int numChars);
เป็นการเก็บข้อมูลเพียงบางส่วนของ Array ไว้ใน String โดยที่
- startIndex คือกาหนดตาแหน่งเริ่มต้นใน array ที่ต้องการ
เก็บ
- numChars คือกาหนดจานวนตัวอักษรที่ต้องการเก็บโดย
นับจาก ตาแหน่งที่ระบุใน startIndex
ตัวอย่างการใช้งาน
char chars[]={‘a’, ’b’, ’c’, ‘d’, ‘e’, ‘f’};
String message = new String(chars, 2, 3);
ผลที่ได้ก็คือ message จะเก็บค่า cde
รูปแบบที่ 5
String (ชื่อStringเดิม);
เป็นการสร้าง String ใหม่โดยใช้โครงสร้างของ String เดิม
ผลที่ได้ก็คือ String ใหม่จะมีข้อมูลเดียวกับ String เดิมที่ใช้เป็นต้นแบบใน
การสร้าง
รูปแบบที่ 6
เป็นการเก็บ Array ของรหัส ASCII ไว้ใน String
- String (byte asciiChars[]);

บทที่2

  • 1.
  • 2.
    ประวัติความเป็นมา เป็นภาษาที่ถูกพัฒนาโดย Dr.Jame Goslingบริษัท Sun Microsystems เดิมที ชื่อ ภาษาโอ๊ค (Oak) เป็นชื่อต้นไม้ ใหญ่ที่อยู่ในบริเวณบ้าน ที่ทีมวิศวกรของ ซัน ทางานอยู่ นามาใช้ในการพัฒนาโปรแกรมขนาดจิ๋วสาหรับ อุปกรณ์ เครื่องใช้อิเล็คทรอนิกส์ ได้ทาการพัฒนาต่อมาเรื่อยๆ และได้เปลี่ยนชื่อใหม่ เป็น ภาษาจาวา (Java) ตามชื่อกาแฟที่ทีมพัฒนาดื่ม
  • 3.
    จุดเด่น 1) เป็นภาษาสาหรับการเขียนโปรแกรมเชิงวัตถุ (OOP:Object Oriented Programming) 2) Java คือ platform independence หมายความว่าความสามารถของ โปรแกรมที่เขียนด้วย java สามารถทางานได้ในระบบปฏิบัติการที่ต่างกัน โดยไม่ต้องดัดแปลง แก้ไขใหม่ 3) Free และ เป็นโปรแกรมประเภท Open Source
  • 4.
    โครงสร้าง ภาษา Java(Java Structure) 1. เครื่องหมาย ในการควบคุม Structure 1.1 Comment คือข้อความที่แทรกเข้าไปในโปรแกรม แต่ไม่มีผลต่อการ ทางานของโปรแกรม เช่นในกรณีที่เราต้องการอธิบาย Source code ไว้ใน โปรแกรม วิธีการคือ - comment ทีละ บรรทัด ใช้เครื่องหมาย // ตามด้วยข้อความที่ต้องการ comment
  • 5.
    1.2 Keyword คือคาที่ถูกกาหนดไว้ใช้เองแล้วในภาษาJava ไม่สามารถ นามาใช้ในการตั้งชื่อภายใน โปรแกรมได้ ตัวอย่างเช่น class,boolean,char เป็นต้น 1.3 Identifiers คือชื่อที่ผู้เขียนตั้งขึ้นมา เพื่อใช้แทนอะไรก็ได้ไม่ว่าจะเป็น method ,ตัวแปร หรือ class ชื่อที่ถูกต้องควรประกอบด้วย ตัวอักษร , ตัวเลข ,_,$ และจะต้องขึ้นต้นด้วย ตัวอักษรเท่านั้น
  • 6.
    1.4 Separators คืออักษร หรือ เครื่องหมายที่ใช้แบ่งแยกคาในภาษา มี ดังต่อไปนี้ - เครื่องหมาย () ใช้สาหรับ 1. ต่อท้ายชื่อ method ไว้ให้ใส่ parameter เช่น private void hello( ); 2. ระบุเงื่อนไขของ if ,while,for ,do เช่น if ( i=0 ) 3. ระบุชื่อชนิดข้อมูลในการ ทา casting เช่น String a=( String )x; - เครื่องหมาย{ }ใช้สาหรับ กาหนดขอบเขตของ method แล class
  • 7.
    method แสดงผลทางจอภาพพื้นฐาน ในตัวอย่างต่อไปนี้ จะเป็นตัวอย่างการใช้method print และ println โดย method print จะแสดงผล method ต่อไปจะยังอยู่ใน บรรทัดเดิม และ method println จะทาให้การแสดงผลใน method ต่อไปแสดงผลขึ้นบรรทัดใหม่
  • 8.
    ตัวอย่าง example1.java public classexample1 { public static void main(String[] args) { System.out.println("Hello World."); System.out.print("Hello World. "); System.out.print("My"); System.out.print(" name"); System.out.print(" is"); System.out.print(" JAVA."); } }
  • 9.
    การดาเนินการทางคณิตศาสตร์ ในภาษาจาวา ประโยค (statement)จะจบด้วยเครื่องหมาย ; (semicolon) เสมอ ดังนั้นโปรแกรมสามารถเขียน statement ได้มากกว่า หนึ่งสเตจเม็นต์ในหนึ่งบรรทัดของ source code หรือสามารถ เขียน statement โดยมีความยาวมากกว่าหนึ่งบรรทัดก็สามารถทาได้ Expression หมายถึง ประโยคในภาษา Java ที่ได้รับการยอมรับว่าอยู่ใน รูปแบบที่ได้กาหนดไว้ การเขียน code ให้มีรูปแบบที่เหมาะสม อ่านได้ง่าย จะทาให้การพัฒนาโปรแกรมเป็นไปได้ด้วยความรวดเร็วและ เป็นที่ยอมรับ ตามระบบสากล
  • 10.
    เมื่อมีตัวแปรหลายตัวในการประมวลผลของประโยค ลาดับขั้นของการ ประมวลผลมีความสาคัญ เนื่องจากรูปแบบของการประมวลผลตามขั้น ของ operator ต่างๆ มีลาดับการประมวลผลที่ไม่เท่ากัน ซึ่งเป็นไปตามกฎ ของการประมวลผล ทางคณิตศาสตร์ ได้แก่ 1) การประมวลผลข้อมูลที่เป็นจานวนเต็ม 2) การประมวลผลด้วยตัวแปรที่มีจุดทศนิยม
  • 11.
    3) การประมวลผลข้อมูลต่างชนิดกัน - ถ้าตัวแปรใดเป็นdouble ตัวแปรที่นามาประมวลผลด้วยจะถูกเปลี่ยนให้ เป็น double ก่อนการประมวลผล - ถ้าตัวแปรใดเป็น float ตัวแปรที่นามาประมวลผลด้วยจะถูกเปลี่ยนให้ เป็น float ก่อนการประมวลผล - ถ้าตัวแปรใดเป็น long ตัวแปรที่นามาประมวลผลด้วยจะถูกเปลี่ยนให้ เป็น long ก่อนการประมวลผล 4) การประมวลผลตัวเลขที่มีขนาดใหญ่ Java จะมี class BigInteger ที่สามารถเรียกใช้เพื่อประมวลผลตัวเลขที่มีค่า มากกว่า int ที่จะเก็บค่าได้
  • 12.
    ลาดับที่ เครื่องหมาย ลาดับที่เครื่องหมาย 1 วงเล็บ ( ) 6 = =, != 2 ++,-- 7 && 3 *, /, % 8 || 4 +, - 9 =, +=, -=, *=, /=, %= 5 <, <=, >, >= ตัวดาเนินการ ความหมาย += การบวก -= การลบ *= การคูณ /= การหาร (ได้ผลหาร) %= การหาร (ได้เศษจากการหาร) ลาดับขั้นการประมวลผลของเครื่องหมาย ตัวดาเนินการ ความหมาย ++Variable เพิ่มค่าหนึ่งค่าก่อนการเข้าถึง Variable++ เพิ่มค่าหนึ่งค่าหลังการเข้าถึง - -Variable ลดค่าหนึ่งค่าก่อนการเข้าถึง Variable- - ลดค่าหนึ่งค่าหลังการเข้าถึง
  • 13.
    การคานวณแบบย่อ (Shortcut Operator) ตัวดาเนินการความหมาย += การบวก -= การลบ *= การคูณ /= การหาร (ได้ผลหาร) %= การหาร (ได้เศษจากการหาร) ตัวดาเนินการ ความหมาย ++Variable เพิ่มค่าหนึ่งค่าก่อนการเข้าถึง Variable++ เพิ่มค่าหนึ่งค่าหลังการเข้าถึง - -Variable ลดค่าหนึ่งค่าก่อนการเข้าถึง Variable- - ลดค่าหนึ่งค่าหลังการเข้าถึง
  • 14.
    ตัวดาเนินการเพิ่มค่าหรือลดค่า ตัวดาเนินการเพิ่มค่าหรือลดค่า ที่ใช้ใน JAVAได้แก่ ++ตัวแปร คือ การเพิ่มค่าตัวแปรขึ้น 1 ก่อน แล้วจึงค่อยคืนค่า ตัวแปร++ คือ คืนค่าตัวแปรก่อน แล้วจึงค่อยเพิ่มค่าตัวแปรขึ้น 1 --ตัวแปร คือ การลดค่าตัวแปรลง 1 ก่อน แล้วจึงค่อยคืนค่า ตัวแปร-- คือ คืนค่าตัวแปรก่อน แล้วจึงค่อยลดค่าตัวแปรลง 1
  • 15.
    การเปลี่ยนประเภทของข้อมูล คอมไพเลอร์ภาษาจาวาสามารถแปลงข้อมูลให้มีรูปแบบที่ สอดคล้องกันได้ มี 2รูปแบบคือ – การแปลงข้อมูลให้มีขนาดใหญ่ขึ้น – การแปลงข้อมูลให้มีขนาดเล็กลง โดยทั่วไปมักจะเปลี่ยนข้อมูลให้มีขนาดใหญ่ขึ้น เพราะถ้าหาก แปลงข้อมูลให้มีขนาดเล็กลงอาจทาให้การประมวลผลข้อมูลเกิด ความเสียหายได้
  • 16.
    การแปลงขนาดข้อมูลโดย Cast Operator ในภาษาจาวาสามารถแปลงข้อมูลขนาดใหญ่ให้มีขนาดเล็กลงได้ โดยใช้CastOperator ซึ่งจะเขียนประเภทข้อมูลที่ ต้องการแปลงไว้ในวงเล็บด้านหน้าตัวแปรที่
  • 17.
    คลาสสตริง การสร้าง String String เป็นClass หนึ่งใน Package ของภาษาจาวาชื่อ java.lang ทาหน้าที่ใน การเก็บข้อมูลที่เป็น “ชุดของตัวอักษร” ซึ่งปกติชนิดของข้อมูลของภาษา จาวาก็มี ชนิดเป็น character แต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น ดังนั้นจึงลาบากในการ นามาใช้กับข้อมูลที่มากกว่า 1 ตัวอักษร หรือที่ เรียกว่า “String” ดังนั้น ภาษาจาวา จึงได้สร้าง Class สาเร็จรูปมาให้สามารถเรียกใช้ได้ทันที เรียกว่า “String” ทั้งหมดคือที่มาของคาว่า String Class
  • 18.
    การสร้าง Object เพื่อใช้กับString ได้ 6 รูปแบบคือ รูปแบบที่ 1 String ชื่อObject = new String(ข้อความ); รูปแบบที่ 2 String ชื่อObject = ข้อความ; รูปแบบที่ 3 String (char chars[]); เป็นการสร้าง String ที่นา Array ชื่อ Chars มาเป็นข้อมูลใน String
  • 19.
    รูปแบบที่ 4 String (charchars[], int startIndex, int numChars); เป็นการเก็บข้อมูลเพียงบางส่วนของ Array ไว้ใน String โดยที่ - startIndex คือกาหนดตาแหน่งเริ่มต้นใน array ที่ต้องการ เก็บ - numChars คือกาหนดจานวนตัวอักษรที่ต้องการเก็บโดย นับจาก ตาแหน่งที่ระบุใน startIndex ตัวอย่างการใช้งาน char chars[]={‘a’, ’b’, ’c’, ‘d’, ‘e’, ‘f’}; String message = new String(chars, 2, 3); ผลที่ได้ก็คือ message จะเก็บค่า cde
  • 20.
    รูปแบบที่ 5 String (ชื่อStringเดิม); เป็นการสร้างString ใหม่โดยใช้โครงสร้างของ String เดิม ผลที่ได้ก็คือ String ใหม่จะมีข้อมูลเดียวกับ String เดิมที่ใช้เป็นต้นแบบใน การสร้าง รูปแบบที่ 6 เป็นการเก็บ Array ของรหัส ASCII ไว้ใน String - String (byte asciiChars[]);