งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)"— ใบสำเนางานนำเสนอ:

1 พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)
Nerissa Onkhum 07/12/61

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

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

4 คอมเมนต์ (Comment) คอมเมนต์คือข้อความที่แทรกอยู่ในโปรแกรม
คอมเมนต์เขียนไว้เพื่อ อธิบายโปรแกรม ให้ผู้อ่านเข้าใจโปรแกรมง่ายยิ่งขึ้น ช่วยทำให้การแก้ไขและปรับปรุงโปรแกรมเป็นไปได้ง่ายขึ้น

5 // This is one line comment
คอมเมนต์ในภาษาจาวาแบ่งออกเป็น 3 ประเภท ดังนี้ 1. คอมเมนต์แบบบรรทัดเดียว (One line comment) - ใช้เครื่องหมาย // - โดยข้อความที่อยู่หลังเครื่องหมายนี้ไปจนสุดบรรทัดนั้น จะกลายเป็นคอมเมนต์ เช่น // This is one line comment

6 คอมเมนต์ (Comment) 2. คอมเมนต์แบบหลายบรรทัด (many line comment)
- ใช้เครื่องหมาย /* ร่วมกับ */ - โดยใส่เครื่องหมาย /* ไว้หน้าข้อความที่ต้องการให้เป็น คอมเมนต์และใส่เครื่องหมาย /* ไว้หลังข้อความที่ต้องการให้เป็นคอมเมนต์ เช่น /*This is may line comment*/

7 คอมเมนต์ (Comment) 3. คอมเมนต์สำหรับสร้างเอกสารประกอบโปรแกรม (documentation comment) - ใช้เครื่องหมาย /** ร่วมกับ */ - คอมเมนต์สำหรับข้อความที่ต้องการสร้างเป็นไฟล์เอกสาร ที่เป็นไฟล์ประเภท HTML

8 ตัวอย่างโปรแกรม /* 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"); }

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

10 Identifier identifier ในภาษาจาวาเป็น case sensitive
hello Hello hELLo

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

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

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

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

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

16 คีย์เวิร์ดที่ใช้ในภาษาจาวา
abstract default if package throw boolean do implements private throws break double import protected transient byte else inner public try byvalue extends instanceof rest var case final int return void cast finally interface short volatile catch float long static while char for native super class future new switch const generic operator synchronized continue goto outer this

17 สัญลักษณ์แยกคำ สัญลักษณ์แยกคำ หน้าที่ ;
เพื่อระบุการสิ้นสุดของคำสั่งต่างๆ ( ) สำหรับต่อท้ายเมธอดหรือคำสั่ง เช่น if, for , สำหรับแยกตัวแปรหรือคำสั่ง . เพื่อใช้ในการระบุคุณลักษณะหรือเมธอดของ ออปเจ็ค หรือใช้ในการระบุแพคเก็จ { } เพื่อระบุบล็อกคำสั่ง

18 ช่องว่าง (white space)
โปรแกรมภาษาจาวาสามารถที่จะมีช่องว่างเพื่อที่แยกคำ ประโยค หรือคำสั่งต่าง ๆ ภายในโปรแกรมได้ white space หมายถึงตัวอักษรที่ไม่มีรูปร่างหน้าตา เป็นตัวอักษรที่มองไม่เห็น จาวาแบ่ง white space ออกเป็น 5 ชนิดได้แก่ Space character คือ ช่องว่าง Horizontal tab คือ ตัวอักษรแนวนอนแท็บ (\t) Form feed คือ ตัวอักษรขึ้นหน้าใหม่ (\f) Carriage return คือ ตัวอักษรเลื่อนเคอร์เซอร์ไปซ้ายสุด (\r) linefeed หรือ newline คืออักษรขึ้นบรรทัดใหม่ (\n)

19 ช่องว่าง (white space)
ตัวอย่างที่ถูก ตัวอย่างที่ผิด getSalary(5000); getSalary (5000);

20 ช่องว่าง (white space)
2. ต้องใส่ white space ไว้หลัง reserved word เสมอ เช่น public static void main(String arg[ ]) เพราะ public, static, void ล้วนเป็น reserved word จึงต้องมี white space ระหว่างคำเหล่านี้ publicstaticvoidmain(String arg[ ]) เพราะไม่มี white space ระหว่าง reserved word ทำให้คอมไพเลอร์ไม่สามารถทำงานได้อย่างถูกต้อง public static void main(String arg[ ]) การเว้นช่องว่าง (ช่องว่างเป็น white space ประเภท space character) ระว่าง reserved word แต่ละคำมากกว่า 1 ช่องว่างไม่ถือว่าผิด เพราะคอมไพเลอร์ต้องการเพียงแค่ให้เว้นวรรคระหว่าง reserved word แต่จะเว้นที่ช่องว่างก็ได้

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

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

23 ขนาดและช่วงค่าของชนิดข้อมูลแบบพื้นฐาน
ขนาด (บิต) ช่วงค่า boolean 1 true หรือ false char 16 '\u0000' ถึง '\uFFFF' byte 8 -128 ถึง +127 short -32,768 ถึง +32,767 int 32 -231 ถึง long 64 -263 ถึง float -3.40E+38 ถึง +3.40E+38 double -1.80E+308 ถึง +1.80E+308

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

25 ข้อมูลชนิดตัวอักขระ (Character)
Char เป็นชนิดข้อมูลแบบตัวอักษร (Character) ซึ่งถูกเก็บอยู่ในรูปของมาตรฐาน Unicode มีขนาด 16 บิต ใช้สำหรับเก็บข้อมูลที่มีความยาวไม่เกิน 1 ตัวอักษรเท่านั้น โดยการเขียน Character literals จะต้องครอบคลุมด้วยเครื่องหมาย ' ' (Single Quote) โดยจะมีค่าตั้งแต่ '\u0000' ถึง '\uFFFF'

26 ข้อมูลชนิดตัวอักขระ (Character)
ตัวอย่างเช่น คำสั่ง char letter = '\u0041'; เป็นการประกาศตัวแปรที่ชื่อว่า letter ให้เป็นข้อมูลชนิด char โดยมีค่าเป็น \u0041 ซึ่งมีค่าเท่ากับตัวอักษร A char letter = 'A'; โดยมีค่าเป็นตัวอักษร A เช่นเดียวกับคำสั่งก่อนหน้านี้

27 อักขระพิเศษที่นิยมใช้ทั่วไป
Unicode ความหมาย '\b' '\u000A' Backspace '\t' '\u0009' Tab '\n' '\u0008' New line '\f‘ '\u000D’ Form feed '\r' '\u000C' Return '\\' '\u005C' Backslash '\'' '\u0027' Single quote '\"' '\u0022' Double quote

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

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

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

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

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

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

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

35 ตัวอย่างโปรแกรม 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); }

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

37 ตัวอย่างโปรแกรม 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 }

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

39 ค่าเริ่มต้นอัตโนมัติของตัวแปร
ตัวแปรที่เป็นคุณลักษณะของออปเจ็คหรือคุณลักษณะของคลาสจะถูกกำหนดค่าเริ่มต้นให้โดยอัตโนมัติ ชนิดข้อมูล ค่าเริ่มต้น boolean false byte short int long 0L float 0.0f double 0.0 char '\u0000' คลาส null

40 ตัวอย่างโปรแกรม 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

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

42 ตัวดำเนินการ (Operator)
การดำเนินการทางคณิตศาสตร์ ตัวอย่างของการดำเนินการทางคณิตศาสตร์ เช่น a + b * c นิพจน์ (Expression) คือ การนำเอาโอเปอเรเตอร์และโอเปอแรนด์หลาย ๆ ตัว มารวมเข้าเป็นประโยคเดียวกัน ซึ่งจากด้านบน จะเรียก a + b * c ว่า “นิพจน์” โอเปอเรเตอร์ (Operator) คือ ตัวดำเนินการ ซึ่งอาจเป็นการดำเนินการทางคณิตศาสตร์หรือทางตรรกศาสตร์ก็ได้ ซึ่งจากนิพจน์ด้านบน จะเรียก + และ * ว่า “โอเปอเรเตอร์” โอเปอแรนด์ (Operand) คือ ตัวถูกดำเนินการ ซึ่งอาจเป็น literals, ตัวแปร หรือนิพจน์ก็ได้ ซึ่งจากนิพจน์ด้านบน จะเรียก a, b และ c ว่า “โอเปอแรนด์”

43 ตัวดำเนินการทางคณิตศาสตร์
เครื่องหมาย ความหมาย ตัวอย่างนิพจน์ + บวก a+b - ลบ a-b * คูณ a*b / หาร a/b % เศษจากการหาร a%b

44 ตัวดำเนินการทางคณิตศาสตร์แบบย่อ
เครื่องหมาย ตัวอย่าง ความหมาย += x+=3 x = x+3 -= x-=3 x = x-3 *= x*=3 x = x*3 /= x/=3 x = x/3 %= x%=3 x = x%3

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

46 ตัวดำเนินการเพิ่มค่าและลดค่า
x++ มีความหมายเหมือนกับ ++x คือ เป็นการเพิ่มค่าของ x ขึ้น 1 แต่เมื่อนำไปใช้ร่วมกับนิพจน์อื่น ๆ ลำดับการทำงานของ x++ และ ++x จะแตกต่างกัน y = x++; z = ++x; ลำดับการทำงานจะเป็น ดังนี้ y = x++ => y = x จะเห็นว่าทั้ง x++ และ ++x ต่างก็ทำ x = x + 1 2. x = x + 1; เหมือนกัน แต่ลำดับการทำงานต่างกัน กล่าวคือ z = ++x => 1. x = x + 1; x จะทำการเพิ่มค่าของ x ขึ้น 1 ก่อนที่จะนำค่าของ x 2. z = x ไปใช้ในนิพจน์ แต่ x++ จะนำค่าของ x ไปใช้ในนิพจน์ก่อน แล้วค่อยเพิ่มค่าของ x ขึ้น 1

47 ตัวอย่างโปรแกรม ผลลัพธ์ที่ได้จากการรันโปรแกรม
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; } x = 6 y = 5 x = 7 y = 7 ผลลัพธ์ที่ได้จากการรันโปรแกรม

48 ตัวดำเนินการแบบสัมพันธ์
เครื่องหมาย ความหมาย ตัวอย่าง ผลลัพธ์ < น้อยกว่า 3<4 true <= น้อยกว่าหรือเท่ากับ 3<=4 > มากกว่า 3>4 false >= มากกว่าหรือเท่ากับ 3>=4 == เท่ากับ 3==4 != ไม่เท่ากับ 3!=4

49 ตัวอย่างโปรแกรม 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)); }

50 ตัวดำเนินการทางตรรกศาสตร์
เครื่องหมาย ความหมาย ! กลับค่าทางตรรกะ && หรือ & AND ค่าทางตรรกะ || หรือ | OR ค่าทางตรรกะ ^ Exclusive-OR ค่าทางตรรกะ

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

52 ผลลัพธ์ของการกลับค่าทางตรรกะ
op !op true false

53 ผลลัพธ์ของการ AND ค่าทางตรรกะ
op1 op2 op1 && op2 true false

54 ผลลัพธ์ของการ OR ค่าทางตรรกะ
op1 op2 op1 || op2 true false

55 ผลลัพธ์ของ Exculsive OR ค่าทางตรรกะ
op1 op2 op1 ^ op2 true false

56 ลำดับความสำคัญของตัวดำเนินการ
ลำดับที่ ตัวดำเนินการ 1 ( ) 2 ++ , -- 3 ! 4 * , / , % 5 + , - 6 <, <=, >, >=

57 ลำดับความสำคัญของตัวดำเนินการ
ลำดับที่ ตัวดำเนินการ 7 ==, != 8 & 9 ^ 10 | 11 && 12 =, +=, -=, *=, /=, %=

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

59 ใช้วงเล็บเพื่อจัดกลุ่มการคำนวณ
07/12/61

60 เปรียบเทียบผลการคำนวณ
int a = 2 + (3 * 4); int a = (2 + 3) * 4; 07/12/61

61 ตัวดำเนินการแบบบิต (Bitwise Operator)
โอเปอเรเตอร์ระดับบิต หรือ Bitwise Operator เป็นโอเปอเรเตอร์ที่ใช้ดำเนินการกับข้อมูลในลักษณะบิตต่อบิต ซึ่งถือว่าเป็นการดำเนินการที่ค่อนข้างละเอียดมาก เนื่องจากบิต (bit ย่อมาจาก binary digit) คือ หน่วยข้อมูลที่เล็กที่สุดของคอมพิวเตอร์ โอเปอเรเตอร์ ชื่อ คำอธิบาย & Bitwise And ถ้าบิตที่นำมาดำเนินการกัน มีค่าเป็น 1 ทั้งคู่ ผลของการดำเนินการจะเป็น 1 ส่วนกรณีอื่น ๆ ที่เหลือจะให้ผลของการดำเนินการเป็น 0 | Bitwise OR ถ้าบิตที่นำมาดำเนินการกัน มีค่าเป็น 0 ทั้งคู่ ผลของการดำเนินการจะเป็น 0 ส่วนกรณีอื่น ๆ ที่เหลือจะให้ผลของการดำเนินการเป็น 1 ^ Bitwise XOR Exclusive OR ถ้าบิตที่นำมาดำเนินการกันมีค่าเหมือนกัน ผลของการดำเนินการจะเป็น แต่ถ้าบิตที่นำมาดำเนินการมีค่าต่างกัน ผลจะเป็น 1 “เหมือน 0 ต่าง 1” ~ Bitwise Not โอเปอเรเตอร์นี้ต้องการโอเปอแรนด์เพียงตัวเดียว (เป็น unary operator) โดยจะให้ผลเป็นบิตตรงกันข้ามกับค่าของแต่ละบิตของโอเปอแรนด์นั้น (ถ้าบิต 0 จะให้ผลเป็นบิต 1 แต่ถ้าบิต 1 จะให้ผลเป็นบิต 0)

62 ตัวดำเนินการแบบบิต (Bitwise Operator)
โอเปอเรเตอร์ ชื่อ คำอธิบาย >> Right Shift เลื่อนบิตไปทางขวาเป็นจำนวนครั้งเท่ากับค่าของตัวถูกดำเนินการทางขวามือ โดยหากข้อมูลเป็นค่าลบ จะเติมบิต 1 เข้ามาทางซ้ายเท่ากับจำนวนบิตที่เลื่อน แต่หากข้อมูลเป็นค่าบวก จะเติม 0 เข้ามาทางซ้ายเท่ากับจำนวนบิตที่เลื่อน << Left Shift เลื่อนบิตไปทางซ้ายเป็นจำนวนครั้งเท่ากับค่าของตัวถูกดำเนินการทางขวามือ โดยจะเติม 0 เข้ามาทางขวาเท่ากับจำนวนบิตที่เลื่อน ไม่ว่าข้อมูลจะเป็นค่าบวก หรือค่าลบก็ตาม >>> Unsigned เลื่อนบิตไปทางขวาเป็นจำนวนครั้งเท่ากับค่าของตัวถูกดำเนินการทางขวามือ โอเปอเรเตอร์นี้จะทำงานกับข้อมูลโดยไม่คิดเครื่องหมาย (unsign) คือ ไม่ว่าข้อมูลจะเป็นค่าลบหรือค่าบวก จะเติม 0 เข้ามาทางซ้ายเท่ากับจำนวนบิต ที่เลื่อนเสมอ

63 ตัวดำเนินการแบบบิต (Bitwise Operator)
1 1 1 1

64 ตัวดำเนินการแบบบิต (Bitwise Operator)
1 1 1 1

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

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

67 การแปลงชนิดข้อมูล การแปลงชนิดข้อมูลมีสองรูปแบบคือ
การแปลงข้อมูลที่กว้างขึ้น (widening conversion) คือการแปลงจากชนิดข้อมูลที่มีขนาดเล็กกว่าไปเป็นชนิดข้อมูลที่มีขนาดใหญ่กว่า การแปลงข้อมูลที่แคบลง (narrowing conversion) คือการแปลงจากชนิดข้อมูลที่มีขนาดใหญ่กว่าไปเป็นชนิดข้อมูลที่มีขนาดเล็กลง ซึ่งอาจมีผลให้เสียความละเอียดของข้อมูลบางส่วนไป

68 หลักการการแปลงชนิดข้อมูล
ชนิดข้อมูลตัวเลขจำนวนเต็มสามารถแปลงให้เป็นชนิดข้อมูลตัวเลขทศนิยมได้ ชนิดข้อมูล float สามารถแปลงให้เป็นชนิดข้อมูล double ได้ ชนิดข้อมูลตัวเลขจำนวนเต็มมีขนาดเรียงกันจากน้อยไปมากดังนี้ byte  short  int  long ชนิดข้อมูล char สามารถแปลงให้เป็นชนิดข้อมูล int ได้ ชนิดข้อมูล boolean จะไม่มีความสัมพันธ์กับชนิดข้อมูลแบบพื้นฐานอื่นๆ

69 ตัวอย่างของการแปลงชนิดข้อมูล
ภาษาจาวาจะปรับชนิดข้อมูลให้อัตโนมัติ ในกรณีต่อไปนี้ กำหนดค่าชนิดข้อมูลที่เล็กกว่าให้กับตัวแปรชนิดข้อมูลที่ใหญ่กว่าอาทิเช่น int i = 4; long l = i; นิพจน์ i จะถูกปรับชนิดข้อมูลจาก int ให้เป็น long โดยอัตโนมัติ กำหนดค่าชนิดข้อมูลจำนวนเต็มให้กับจำนวนเลขทศนิยมอาทิเช่น double x = 3; นิพจน์ 3 จะถูกปรับชนิดข้อมูลจาก int ให้เป็น double โดยอัตโนมัติ

70 ตัวอย่างของการแปลงชนิดข้อมูล
ตัวอย่างที่ไม่ถูกต้อง int amount = 123L; //illegal float f = 4.0; //illegal

71 ตัวอย่างโปรแกรม public class PromotionDemo {
public static void main(String args[]) { int i; long l; float fl = 4.2f; i = 4; l = i; fl = i; double x = fl; fl = 4.2; //illegal }

72 Typecasting เราสามารถแปลงชนิดข้อมูลขนาดใหญ่ ให้เป็นชนิดข้อมูลที่เล็กกว่าได้โดยวิธีการที่เรียกว่า typecasting รูปแบบคำสั่ง (target_type)expression; จะทำให้โปรแกรมสามารถคอมไพล์ผ่านได้ บางกรณีอาจทำให้ข้อมูลบางส่วนสูญหายไป

73 ตัวอย่างของ Typecasting
int amount = (int) 3.0; แปลงนิพจน์ที่มีค่า 3.0 ข้อมูลชนิด double ให้เป็นชนิด int ตัวอย่างที่มีการตัดข้อมูลออก int x; double y = 1.25; x = (int) y;

74 ตัวอย่างโปรแกรม public class TypecastingDemo {
public static void main(String args[]) { byte b1 = 4; byte b2 = 3; byte b3; b3 = (byte)(b1+b2); float fl; fl = (float)3.2; }

75 ชนิดข้อมูลแบบอ้างอิง
ชนิดข้อมูลแบบอ้างอิงคือออปเจ็คในภาษาจาวา โดยแบ่งออกเป็นสองแบบคือ ชนิดข้อมูลที่เป็นคลาส ชนิดข้อมูลที่เป็นอะเรย์ ชนิดข้อมูลแบบอ้างอิงจะมีวิธีการเก็บข้อมูลในหน่วยความจำที่แตกต่างจากการเก็บข้อมูลของชนิดข้อมูลแบบพื้นฐานอาทิเช่น คำสั่ง int x = 7; String s = new String("Thana");

76 การประกาศตัวแปรและจองเนื้อที่ในหน่วยความจำ
อาทิเช่นคำสั่ง int x; Date d; d = new Date(16,8,2002);

77 คลาส String String เป็นคลาสที่กำหนดไว้ใน Java API ตัวแปรที่มีชนิดข้อมูลเป็น String ก็คือออปเจ็คชนิดหนึ่ง ซึ่ง String มีข้อแตกต่างจากออปเจ็คทั่วๆไปดังนี้ String เป็นออปเจ็คที่มีค่าคงที่ข้อมูลซึ่งก็คือข้อความใดๆ ที่อยู่ภายในเครื่องหมาย double quote (“ ”) ตัวอย่างเช่น “This is a java course” String เป็นออปเจ็คที่สามารถสร้างหรือกำหนดค่าได้โดยไม่จำเป็นต้องใช้คำสั่ง new ตัวอย่างเช่น เราสามารถใช้คำสั่ง String s = “Thana”; โดยไม่จำเป็นที่จะต้องใช้คำสั่ง String s = new String(“Thana”);

78 ตัวอย่างโปรแกรม public class StringDemo {
public static void main(Stirng args[]){ String s1 = "Thana"; String s2 = "Thana"; String s3 = new String("Thana"); }

79 คำอธิบายโปรแกรม กรณีที่ไม่ใช้คำสั่ง new ภาษาจาวาจะพิจารณาจาก String Pool ว่ามีข้อความเดิมอยู่หรือไม่ กรณีที่ใช้คำสั่ง new ภาษาจาวาจะสร้างข้อความใหม่และจองเนื้อที่ในหน่วยความจำเสมอ

80 String เป็นออปเจ็คที่เปลี่ยนค่าไม่ได้
ตัวอย่างเช่น คำสั่ง String s1; s1 = “Thanachart"; s1 = “Somchai";

81 ตัวดำเนินการที่ใช้กับข้อมูลชนิด String
String s1 = “Hello” + “ World”; ตัวดำเนินการในการเชื่อมข้อความสามารถใช้เชื่อมข้อมูลชนิด String กับตัวถูกดำเนินการที่เป็นชนิดข้อมูลอื่นๆ ภาษาจาวาจะแปลงชนิดข้อมูลดังกล่าวให้เป็นชนิด String โดยอัตโนมัติอาทิเช่น คำสั่ง String s1 = “This"; String s2 = s1 + “ is a test ”; String s3 = s1+4;

82 คำสั่งอินพุตและเอาท์พุต
ออปเจ็ค System.in เป็นออปเจ็คที่มีเมธอดสำหรับการอ่านข้อมูลทางอุปกรณ์อินพุตมาตรฐาน ซึ่งโดยทั่วไปก็คือคีย์บอร์ด ออปเจ็ค System.out เป็นออปเจ็คที่มีเมธอดสำหรับการแสดงข้อมูลออกทางอุปกรณ์เอาท์พุตมาตรฐานซึ่งโดยทั่วไปคือจอภาพ ออปเจ็ค System.err เป็นออปเจ็คที่มีเมธอดสำหรับการแสดงข้อผิดพลาด (error) ออกทางอุปกรณ์ที่ใช้ในการแสดงข้อผิดพลาด ซึ่งโดยทั่วไปจะกำหนดเป็นจอภาพ

83 System.out.println ออปเจ็ค System.out หมายถึงออปเจ็คที่ชื่อ out ซึ่งเป็นคุณลักษณะของคลาสที่ชื่อ System ออปเจ็คที่ชื่อ out เป็นออปเจ็คของคลาส PrintStream ที่มีเมธอดที่นิยมใช้ทั่วไปคือ print(String s) และ println(String s)

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

85 การรับข้อมูลเข้ามาทาง Command Line
เมธอดที่ชื่อ main() จะมี argument เป็น String args[] ซึ่งสามารถที่จะรับ argument ที่ส่งผ่านมาจาก command line ได้ ตัวอย่างเช่น public class Sample { public static void main(String args[]) { System.out.println(“My name is ” + args[0] + “ and I am a ” + args[1]); } ถ้าป้อนอินพุตตรง command line เป็น java Sample Tommy boy จะได้ผลลัพธ์คือ My name is Tommy and I am a boy

86 สรุปเนื้อหาของบท คอมเมนต์ คือข้อความที่แทรกอยู่ภายในโปรแกรมซึ่งคอมไพเลอร์จะไม่แปลข้อความนี้ให้เป็นส่วนหนึ่งของโปรแกรม identifier คือชื่อที่ตั้งขึ้นในภาษาจาวา ซึ่งอาจเป็นชื่อของคลาส ชื่อของ ตัวแปร ชื่อของเมธอด หรือชื่อของค่าคงที่ ซึ่งจะต้องเป็นไปตามกฎการตั้งชื่อ การตั้งชื่อในภาษาจาวา สำหรับคลาส นิยมขึ้นต้นด้วยตัวอักษรพิมพ์ใหญ่ สำหรับเมธอดและตัวแปร นิยมขึ้นต้นด้วยตัวอักษรพิมพ์เล็ก ถ้าชื่อที่ตั้งขึ้นมีมากกว่า 1 คำ นิยมขึ้นต้นคำใหม่ด้วยตัวอักษรพิมพ์ใหญ่ ต้องไม่ตรงกับคีย์เวิร์ด

87 สรุปเนื้อหาของบท คีย์เวิร์ดคือชื่อที่มีความหมายพิเศษในภาษาจาวา คอมไพเลอร์ของภาษา จาวาจะเข้าใจความหมายและคำสั่งที่จะต้องดำเนินการสำหรับคีย์เวิร์ดแต่ละตัว ข้อมูลค่าคงที่คือคำที่ใช้แสดงข้อมูลที่เป็นตัวเลข ตัวอักขระ ข้อความ หรือค่าทางตรรกะ ชนิดข้อมูลในภาษาจาวาแบ่งเป็นสองประเภทคือ ชนิดข้อมูลแบบพื้นฐานและชนิดข้อมูลแบบอ้างอิง ชนิดข้อมูลแบบพื้นฐานที่ใช้ในภาษาจาวามีทั้งหมด 8 ชนิดคือ char,byte, short,int,long,float,double และ boolean

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

89 สรุปเนื้อหาของบท ตัวดำเนินการที่ใช้ในภาษาจาวามีทั้งหมด 4 แบบคือ
ตัวดำเนินการทางคณิตศาสตร์ : +, -, *, /, %, +=, -=, *=, /=, %=, ++ และ -- ตัวดำเนินการทางตรรกศาสตร์ : <, <=, >, >=, == และ != ตัวดำเนินการแบบสัมพันธ์ : !, &&, &, || และ | ตัวดำเนินการแบบบิต กรณีที่นิพจน์ใดๆมีตัวดำเนินการมากกว่าหนึ่งตัว ภาษาจาวาจะจัดลำดับความสำคัญของตัวดำเนินการ เพื่อคำนวณหาผลลัพธ์ตามลำดับความ สำคัญของตัวดำเนินการ

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

91 สรุปเนื้อหาของบท String เป็นชนิดข้อมูลแบบคลาส ไม่ใช่ชนิดข้อมูลแบบพื้นฐาน คำสั่งที่ใช้ในการแสดงผลลัพธ์ของข้อมูลในภาษาจาวาคือคำสั่ง System.out.println() เมธอดที่ชื่อ main() จะมี argument เป็น String args[] ซึ่งสามารถที่จะรับ argument ที่ส่งผ่านมาจาก command line ได้

92 แบบทดสอบที่ 3 1. จงพิจารณาคอมเมนต์ดังต่อไปนี้ว่าถูกหรือผิดอย่างไร จงให้เหตุผล 1.1 // /* comment1 */ 1.2 /* comment1 /* comment2*/*/ 1.3 /*comment1 comment2 comment3*/ 1.4 /* comment1 *//* comment2 *//* comment3 comment4*/ 1.5 /**//*comment1*//**/ 07/12/61

93 แบบทดสอบที่ 3 2. จงพิจารณาชื่อต่อไปนี้ว่าเป็นชื่อที่ตั้งขึ้นถูกต้องตามกฎการตั้งชื่อ ของภาษาจาวาหรือไม่อย่างไร 2.1 TRUE $var# 2.2 me&you 2.7 _1_2_3 2.3 1_2_3var 2.8 v1var v2 2.4 $_test _ native _ 2.5 volaile 07/12/61

94 แบบทดสอบที่ 3 3. จงเขียนโปรแกรมที่ใช้เครื่องหมายต่อไปนี้ครบทุกเครื่องหมาย +, += , ++ , - , -= , * , % (บันทึกไฟล์ชื่อ Operator.java) 4. จงเขียนโปรแกรมคำนวณค่าต่อไปนี้ 2X3 + 4X2 + 5X + 1 โดยกำหนดค่า X = 5 (Expression.java) 5. จงเขียนโปรแกรมหาค่าเฉลี่ยของ 14,20,21,27,32 (Average.java) 07/12/61

95 แบบทดสอบที่ 3 6. สี่เหลี่ยมคางหมูมีด้านคู่ขนานยาว 10 และ 20 และเส้นคู่ขนานทั้งสองห่างกันเท่ากับ 6 จงเขียนโปรแกรมเพื่อหาพื้นที่ของสี่เหลียมคางหมูดังกล่าว โดยสูตรการหาพื้นที่สี่เหลี่ยมคางหมูมีดังนี้ พื้นที่สี่เหลี่ยมคางหมู = 1/2 คูณ ผลบวกด้านคู่ขนาน คูณ ระยะห่างระหว่างเส้นคู่ขนาน (Trapezium.java) 07/12/61

96 07/12/61


ดาวน์โหลด ppt พื้นฐานโปรแกรมภาษาจาวา (Overview of Java Programming Language)

งานนำเสนอที่คล้ายกัน


Ads by Google