1 / 75

บทที่ 3

บทที่ 3. พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language). วัตถุประสงค์. แนะนำสัญลักษณ์และคำ ต่างๆ ที่ใช้ในภาษาจาวา แนะนำข้อมูลค่าคงที่ และ ชนิดข้อมูล แบบ พื้นฐานที่ใช้ในภาษาจาวา แนะนำ การประกาศและคำสั่งกำหนดค่าตัวแปร แนะนำตัวดำเนินการ ประเภทต่างๆ อธิบาย การแปลงชนิดข้อมูล

bailey
Télécharger la présentation

บทที่ 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 3 พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)

  2. วัตถุประสงค์ • แนะนำสัญลักษณ์และคำต่างๆที่ใช้ในภาษาจาวา • แนะนำข้อมูลค่าคงที่และชนิดข้อมูลแบบพื้นฐานที่ใช้ในภาษาจาวา • แนะนำการประกาศและคำสั่งกำหนดค่าตัวแปร • แนะนำตัวดำเนินการประเภทต่างๆ • อธิบายการแปลงชนิดข้อมูล • แนะนำชนิดข้อมูลแบบอ้างอิง • แนะนำคำสั่งที่ใช้ในการรับข้อมูลและคำสั่งที่ใช้ในการแสดงผล

  3. ไวยากรณ์ภาษาจาวา (Java Syntax) • คำหรือข้อความที่สามารถเขียนในโปรแกรมภาษาจาวาจะต้องเป็นคำหรือข้อความในรูปแบบใดรูปแบบหนึ่งของประเภทต่างๆเหล่านี้ • คอมเม็นต์ (Comment) • Identifier • คีย์เวิร์ด (Keywords) • สัญลักษณ์แยกคำ (Separators) • ช่องว่าง (Whitespace) • ข้อมูลค่าคงที่ (Literals)

  4. คอมเม็นต์ • คอมเม็นต์คือข้อความที่แทรกอยู่ในโปรแกรม • คอมเม็นต์เขียนไว้เพื่อ • อธิบายโปรแกรม • ให้ผู้อ่านเข้าใจโปรแกรมง่ายยิ่งขึ้น • ช่วยทำให้การแก้ไขและปรับปรุงโปรแกรมเป็นไปได้ง่ายขึ้น • ภาษาจาวากำหนดรูปแบบของการเขียนคอมเม็นต์ไว้สามรูปแบบดังนี้ • // This is a comment คอมเม็นต์สำหรับข้อความบรรทัดเดียว • /* This is also a comment */ คอมเม็นต์สำหรับข้อความตั้งแต่หนึ่งบรรทัดขึ้นไป • /** This is a comment for documentation */ คอมเม็นต์สำหรับข้อความที่ต้องการสร้างเป็นไฟล์เอกสารที่เป็นไฟล์ประเภท HTML

  5. ตัวอย่างโปรแกรม /* This program is to show how to write comments */ public class ShowComments { // Main method public static void main(String args[]) { /** This is a comment for documentation */ System.out.println("Document"); } }

  6. Identifier • identifier คือชื่อที่ตั้งขึ้นในภาษาจาวา ซึ่งอาจเป็นชื่อของคลาส ชื่อของตัวแปร หรือชื่อของเมธอด • identifier จะต้องเป็นไปตามกฎการตั้งชื่อดังนี้ • identifier จะต้องขึ้นต้นด้วยอักขระ A-Z, a-z, _ หรือ $ เท่านั้น • identifier ที่ประกอบไปด้วยตัวอักขระมากกว่าหนึ่งตัว ตัวอักขระหลังจากตัวแรกนั้นจะต้องเป็นตัวอักขระข้างต้น หรือเป็นตัวเลข 0 ถึง 9 เท่านั้น • identifier จะต้องไม่ตรงกับคีย์เวิร์ด • identifier ในภาษาจาวาเป็น case sensitive ทำให้ myVariable แตกต่างจาก MyVariable

  7. ถูกต้อง MyVariable _MyVariable $x This_is_also_a_variable ไม่ถูกต้อง My Variable 9pns a+c Hello'World public ตัวอย่างของ Identifier

  8. หลักการตั้งชื่อที่ปฏิบัติกันโดยทั่วไปหลักการตั้งชื่อที่ปฏิบัติกันโดยทั่วไป • การตั้งชื่อของคลาส • จะขึ้นต้นด้วยตัวอักษรพิมพ์ใหญ่แล้วตามด้วยตัวอักษรพิมพ์เล็กหรือตัวเลข โดยจะใช้ตัวอักษรพิมพ์ใหญ่เฉพาะอักษรนำของแต่ละคำที่ตามมาในชื่อ • ควรเป็นคำนาม • ตัวอย่างเช่น Sample, HelloWorld, Student หรือ GraduateStudent เป็นต้น • การตั้งชื่อของตัวแปร • จะขึ้นต้นด้วยตัวอักษรพิมพ์เล็ก โดยจะใช้ตัวอักษรพิมพ์ใหญ่เฉพาะอักษรนำของแต่ละคำที่ตามมาในชื่อ • ควรเป็นคำนามหรือเป็นชื่อสั้นๆ • ตัวอย่างเช่น x, i, name, id หรือ gpa เป็นต้น

  9. หลักการตั้งชื่อที่ปฏิบัติกันโดยทั่วไปหลักการตั้งชื่อที่ปฏิบัติกันโดยทั่วไป • การตั้งชื่อเมธอด • จะใช้หลักการเดียวกับการตั้งชื่อตัวแปร แต่ควรเป็นคำกริยา • ตัวอย่างเช่น getName, setName หรือ showDetails เป็นต้น • การตั้งชื่อค่าคงที่ • จะใช้ตัวอักษรพิมพ์ใหญ่ทั้งหมด และจะแยกคำโดยใช้เครื่องหมาย _ (underscore) • ควรเป็นคำนาม • ตัวอย่างเช่น MIN_GPA เป็นต้น

  10. คีย์เวิร์ด • คีย์เวิร์ดคือชื่อที่มีความหมายพิเศษในภาษาจาวา • คีย์เวิร์ดทุกตัวจะเป็นตัวอักษรตัวพิมพ์เล็ก • คีย์เวิร์ด goto และ const • เป็นคีย์เวิร์ดที่ไม่ได้ตรงกับคำสั่งใดในภาษาจาวา • คำว่า true และ false • ไม่ได้เป็นคีย์เวิร์ดในภาษาจาวา แต่จะเป็นข้อมูลค่าคงที่ชนิดตรรกะ • คำว่า null • ไม่ได้เป็นคีย์เวิร์ดในภาษาจาวา แต่จะเป็นข้อมูลค่าคงที่ของตัวแปรที่มีชนิดข้อมูลเป็นประเภทอ้างอิง

  11. คีย์เวิร์ดที่ใช้ในภาษาจาวาคีย์เวิร์ดที่ใช้ในภาษาจาวา

  12. สัญลักษณ์แยกคำ

  13. ช่องว่าง • โปรแกรมภาษาจาวาสามารถที่จะมีช่องว่างเพื่อที่แยกคำ ประโยค หรือคำสั่งต่างๆภายในโปรแกรมได้ • รูปแบบของช่องว่างประกอบด้วย • ช่องว่าง (กดคีย์ Space บนคีย์บอร์ด) • แท็ป (กดคีย์ Tab บนคีย์บอร์ด) • การขึ้นบรรทัดใหม่ (กดคีย์ Enter บนคีย์บอร์ด)

  14. ข้อมูลค่าคงที่ • ข้อมูลค่าคงที่คือคำที่ใช้แสดงข้อมูลที่เป็นตัวเลข ตัวอักขระ ข้อความ หรือค่าทางตรรกะ • ข้อมูลค่าคงที่แบ่งออกเป็น 5 ประเภทดังนี้ • ตรรกะ (boolean) • ตัวอักขระ (character) • ตัวเลขจำนวนเต็ม (integral) • ตัวเลขทศนิยม (floating point) • ข้อความ (string)

  15. ชนิดข้อมูลแบบพื้นฐาน • ชนิดข้อมูลในภาษาจาวาแบ่งเป็นสองประเภทใหญ่ๆคือ • ชนิดข้อมูลแบบพื้นฐาน (primitive data type) • ชนิดข้อมูลแบบอ้างอิง (reference data type) • ชนิดข้อมูลแบบพื้นฐานแบ่งออกเป็น 4 ประเภทดังนี้ • ชนิดข้อมูลตรรกะ (Logical) คือชนิดboolean • ชนิดข้อมูลอักขระ (Textual) คือชนิด char • ชนิดข้อมูลตัวเลขจำนวนเต็ม (Integral) คือชนิดbyte,short,intและlong • ชนิดข้อมูลตัวเลขทศนิยม (Floating point) คือชนิด floatและdouble

  16. ขนาดและช่วงค่าของชนิดข้อมูลแบบพื้นฐานขนาดและช่วงค่าของชนิดข้อมูลแบบพื้นฐาน

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

  18. ข้อมูลชนิดตัวอักขระ • ข้อมูลชนิดตัวอักขระใช้เพื่อแสดงตัวอักขระหนึ่งตัวซึ่งถูกเก็บอยู่ในรูปของมาตรฐาน Unicode ขนาด 16 บิต • โดยจะมีค่าตั้งแต่ ‘\u0000’ ถึง ‘\uFFFF’ • ตัวอย่างเช่น คำสั่ง • char letter = ‘\u0041'; เป็นการประกาศตัวแปรที่ชื่อว่า letter ให้เป็นข้อมูลชนิด char โดยมีค่าเป็น \u0041 ซึ่งมีค่าเท่ากับตัวอักษร A • ตัวอย่างเช่น คำสั่ง • char letter = ‘A’; เป็นการประกาศตัวแปรที่ชื่อว่า letter ให้เป็นข้อมูลชนิด char โดยมีค่าเป็นตัวอักษร A เช่นเดียวกับคำสั่งก่อนหน้านี้

  19. อักขระพิเศษที่นิยมใช้ทั่วไปอักขระพิเศษที่นิยมใช้ทั่วไป

  20. ข้อมูลชนิดตัวเลขจำนวนเต็มข้อมูลชนิดตัวเลขจำนวนเต็ม • มีชนิดข้อมูลพื้นฐาน 4 ชนิดคือ • byte,short,int,long • โดยทั่วไปข้อมูลชนิดตัวเลขจำนวนเต็มจะถูกกำหนดให้มีชนิดข้อมูลเป็น int • ข้อมูลค่าคงที่สามารถเขียนได้สามแบบดังนี้ • เลขฐานสิบคือการเขียนเลขจำนวนเต็มทั่วไป อาทิเช่น -121 และ 75362 เป็นต้น • เลขฐานแปดคือการเขียนเลขจำนวนเต็มที่ขึ้นต้นด้วยเลข 0 แล้วตามด้วยตัวเลขตั้งแต่ 0 ถึง 7 อาทิเช่น 016 (มีค่าเท่ากับ 14 ในเลขฐานสิบ) • เลขฐานสิบหกคือการเขียนเลขจำนวนเต็มที่ขึ้นต้นด้วย 0x หรือ 0X แล้วตามด้วยตัวเลขตั้งแต่ 0 ถึง 9 หรือตัวอักษร A ถึง F อาทิเช่น 0xA2 (มีค่าเท่ากับ 162 ในเลขฐานสิบ)

  21. ข้อมูลชนิดตัวเลขจำนวนเต็ม • ข้อมูลค่าคงที่ของเลขจำนวนเต็มที่เป็นชนิด long จะมีตัวอักษร l หรือ L ต่อท้าย อาทิเช่น • 2l หมายถึง เลขฐานสิบที่มีค่าเป็น 2 ซึ่งเป็นข้อมูลชนิด long • 077L หมายถึง เลขฐานแปดที่เป็นข้อมูลชนิด long • 0xBAACL หมายถึง เลขฐานสิบหกที่เป็นข้อมูลชนิด long

  22. ข้อมูลชนิดตัวเลขทศนิยม (floating point) • ข้อมูลชนิดตัวเลขทศนิยมจะเป็นเลขที่มีเครื่องหมายจุดทศนิยม อาทิเช่น • 3.14 หรือ3.0 • มีชนิดข้อมูลพื้นฐาน 2 ชนิด คือ double และ float • โดยทั่วไปข้อมูลชนิดตัวเลขทศนิยมจะถูกกำหนดให้มีชนิดข้อมูลเป็นdouble • สามารถเขียนในรูปแบบของเลขยกกำลังสิบ (exponential form) ได้โดยใช้ตัวอักษร E หรือ e ระบุจำนวนที่เป็นเลขยกกำลังสิบ อาทิเช่น • 6.02E23 หรือ 2e-7

  23. ข้อมูลชนิดตัวเลขทศนิยม • ข้อมูลชนิดตัวเลขทศนิยมที่มีชนิดข้อมูลเป็นfloat จะมีตัวอักษร F หรือ f ต่อท้าย อาทิเช่น • 2.718F หรือ 3.14f • ข้อมูลชนิดตัวเลขทศนิยมที่มีชนิดข้อมูลเป็นdouble จะมีตัวอักษร D หรือ d ต่อท้าย อาทิเช่น • 2.718D (โดยทั่วไปไม่จำเป็นต้องใส่ตัวอักษร D เพราะข้อมูลชนิดตัวเลขทศนิยมจะกำหนดให้เป็น doubleอยู่แล้ว)

  24. ตัวแปร (Variable) • ตัวแปรคือข้อมูลที่สามารถเปลี่ยนแปลงค่าได้ในโปรแกรมโดยใช้คำสั่งกำหนดค่า • คำสั่งในการประกาศตัวแปรของภาษาจาวามีรูปแบบดังนี้ dataType variableName[,variableName]; • ตัวอย่างเช่น คำสั่ง int amount; double x,y; float price,wholeSalePrice;

  25. คำสั่งกำหนดค่า (Assignment Statement) • คำสั่งกำหนดค่าจะเป็นคำสั่งที่ใช้ในการเปลี่ยนแปลงค่าของตัวแปร • คำสั่งกำหนดค่า (assignment statement) ซึ่งมีรูปแบบดังนี้ variableName = expression; • ตัวอย่างเช่น x = 1; radius = 3.14; c = ‘a’; y = x+4*3; amount = 121+14;

  26. คำสั่งประกาศและกำหนดค่าตัวแปรคำสั่งประกาศและกำหนดค่าตัวแปร • เราสามารถที่จะประกาศและกำหนดค่าเริ่มต้นของตัวแปรภายในคำสั่งเดียวกัน โดยมีรูปแบบคำสั่งดังนี้ dataType variableName = expression [,variableName = expression]; • ตัวอย่างเช่น int amount = 123; float price = 12.0f; double x = 4.0, y = 2.5;

  27. ตัวอย่างโปรแกรม public class VariableAssignDemo { public static void main(String args[]) { int x,y; boolean b1; float z = 3.414f; /* The program will not be compiled successfully if a character f is missing */ double w; x = 5; y = 4; b1 = (x > y); w = x * 3.2; System.out.println("x = " + x + " y = " + y); System.out.println("b1 = " + b1); System.out.println("z = " + z + " w = " + w); } }

  28. ค่าคงที่ • การประกาศค่าคงที่ในภาษาจาวาทำได้โดยการใส่คีย์เวิร์ด final หน้าคำสั่งประกาศชื่อ โดยมีรูปแบบดังนี้ final dataType CONSTANT_NAME = expression; • ตัวอย่างเช่น คำสั่ง final int MINIMUM = 4; final double MIN_GPA = 2.00;

  29. ตัวอย่างโปรแกรม public class ConstantDemo { public static void main(String args[]) { final int MAXIMUM = 10; final double MIN_GPA; System.out.println("Maximum is " + MAXIMUM); MIN_GPA = 2.00; System.out.println("Minimum GPA is " + MIN_GPA); // MIN_GPA = 3.00; //illegal } }

  30. ขอบเขตของตัวแปรและค่าคงที่ขอบเขตของตัวแปรและค่าคงที่ • ตัวแปรและค่าคงที่ซึ่งประกาศขึ้นจะสามารถใช้งานภายในบล็อกคำสั่ง ({ }) ที่ประกาศเท่านั้น • ภาษาจาวาแบ่งตัวแปรและค่าคงที่เป็นสองประเภทคือ • ตัวแปรหรือค่าคงที่ที่เป็นคุณลักษณะของออปเจ็คหรือคุณลักษณะของคลาส • ตัวแปรหรือค่าคงที่ที่อยู่ในบล็อกของเมธอดที่เรียกว่าค่าคงที่ภายใน (local constant) หรือตัวแปรภายใน (local variable)

  31. ค่าเริ่มต้นอัตโนมัติของตัวแปรค่าเริ่มต้นอัตโนมัติของตัวแปร • ตัวแปรที่เป็นคุณลักษณะของออปเจ็คหรือคุณลักษณะของคลาสจะถูกกำหนดค่าเริ่มต้นให้โดยอัตโนมัติ

  32. ตัวอย่างโปรแกรม public class VariableScopeDemo { public int i; // object variable public void method1() { int j = 4; // local variable int k = 2; // another local variable } public void method2() { int j = 0; // local variable System.out.println(i); // calling an object variable i // System.out.println(k); // illegal } }

  33. ตัวดำเนินการ (Operator) • นิพจน์ภาษาจาวาอาจจะประกอบด้วยข้อมูลค่าคงที่ ตัวแปร หรือค่าคงที่ต่างๆ โดยจะมีตัวดำเนินการต่างๆไว้เพื่อคำนวณหาผลลัพธ์ที่เป็นชนิดข้อมูลต่างๆ • ตัวดำเนินการในภาษาจาวาแบ่งออกเป็น 4 ประเภทคือ • ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operator) • ตัวดำเนินการแบบสัมพันธ์ (Relational Operator) • ตัวดำเนินการทางตรรกศาสตร์ (Logical Operator) • ตัวดำเนินการแบบบิต (Bitwise Operator)

  34. ตัวดำเนินการทางคณิตศาสตร์ตัวดำเนินการทางคณิตศาสตร์

  35. ตัวดำเนินการทางคณิตศาสตร์แบบย่อ

  36. ตัวดำเนินการเพิ่มค่าและลดค่าตัวดำเนินการเพิ่มค่าและลดค่า • ตัวดำเนินการเพื่อบวกค่าทีละ 1 หรือลดค่าทีละ 1 • เครื่องหมาย ++ หรือ -- • ตัวอย่าง • x++ คือ x = x+1 • ++x คือ x = x+1 • x-- คือ x = x-1 • --x คือ x = x-1 • ถ้าวางเครื่องหมายไว้ข้างหน้า โปรแกรมจะคำนวณค่าก่อนแล้วจึงทำคำสั่ง • ถ้าวางเครื่องหมายไว้ข้างหลัง โปรแกรมจะคำนวณค่าหลังจากทำคำสั่ง

  37. ตัวอย่างโปรแกรม public class IncrementDemo { public static void main(String args[]) { int x; int y; x = 5; y = x++; System.out.println("x = "+x+" y = "+y); y = ++x; System.out.println("x = "+x+" y = "+y); } } x = 6 y = 5 x = 7 y = 7 ผลลัพธ์ที่ได้จากการรันโปรแกรม

  38. ตัวดำเนินการแบบสัมพันธ์ตัวดำเนินการแบบสัมพันธ์

  39. ตัวอย่างโปรแกรม public class BooleanDemo { public static void main(String args[]) { int x = 5; int y = 4; boolean b1; b1 = (x!=y); System.out.println("x not equal to y is "+b1); System.out.println("y less than 0 is "+(y<0)); } }

  40. ตัวดำเนินการทางตรรกศาสตร์ตัวดำเนินการทางตรรกศาสตร์

  41. ตัวอย่างการใช้ตัวดำเนินการทางตรรกศาสตร์ตัวอย่างการใช้ตัวดำเนินการทางตรรกศาสตร์ นิพจน์ผลลัพธ์ (7>6) && (2<1) false (7>6) || (2<1) true !(7>6) false

  42. ผลลัพธ์ของการกลับค่าทางตรรกะผลลัพธ์ของการกลับค่าทางตรรกะ

  43. ผลลัพธ์ของการ AND ค่าทางตรรกะ

  44. ผลลัพธ์ของการ OR ค่าทางตรรกะ

  45. ผลลัพธ์ของ Exculsive ORค่าทางตรรกะ

  46. ลำดับความสำคัญของตัวดำเนินการลำดับความสำคัญของตัวดำเนินการ

  47. ลำดับความสำคัญของตัวดำเนินการ

  48. ตัวอย่าง คำสั่ง x = 2+3*4-(7+2); คำนวณหาผลลัพธ์ตามลำดับดังนี้ • คำนวณหาผลลัพธ์ค่า 7+2 ทำให้ได้ x = 2+3*4-9 • คำนวณหาผลลัพธ์ค่า 3*4 ทำให้ได้ x = 2+12-9 • คำนวณหาผลลัพธ์ค่า 2+12 ทำให้ได้ x = 14-9 • คำนวณหาผลลัพธ์ค่า 14-5 ทำให้ได้ x = 5

  49. การแปลงชนิดข้อมูล • ในกรณีที่ตัวถูกดำเนินการทั้งสองมีชนิดข้อมูลที่ต่างกัน ภาษาจาวาจะมีหลักการแปลงชนิดข้อมูล (type conversion) ดังนี้ • ถ้าตัวถูกดำเนินการตัวหนึ่งมีชนิดข้อมูลเป็น double ตัวถูกดำเนินการอีกตัวหนึ่งจะถูกแปลงให้มีชนิดข้อมูลเป็น double โดยอัตโนมัติ • ถ้าตัวถูกดำเนินการทั้งสองไม่ได้มีชนิดข้อมูลเป็น double แต่มีตัวถูกดำเนินการตัวหนึ่งที่มีชนิดข้อมูลเป็น float ตัวถูกดำเนินการอีกตัวหนึ่งจะถูกแปลงให้มีชนิดข้อมูลเป็น float โดยอัตโนมัติ • ถ้าตัวถูกดำเนินการทั้งสองไม่ได้มีชนิดข้อมูลเป็น double หรือ float แต่มีตัวถูกดำเนินการตัวหนึ่งที่มีชนิดข้อมูลเป็น long ตัวถูกดำเนินการอีกตัวหนึ่งจะถูกแปลงให้มีชนิดข้อมูลเป็น long โดยอัตโนมัติ

  50. การแปลงชนิดข้อมูล • กรณีอื่นๆ ตัวถูกดำเนินการทั้งสองจะแปลงให้มีชนิดข้อมูลเป็น int • ตัวอย่าง byte b1, b2, b3; b1 = 2; b2 = 4; b3 = b1+b2; //illegal • คำสั่งกำหนดค่า b3 ไม่ถูกต้องเนื่องจาก b1+b2 จะให้ค่าข้อมูลที่มีชนิดข้อมูลเป็นint

More Related