พื้น ฐานโปรแกรมภาษา
         JAVA
                    อาจารย์ศิริพร ศักดิ์บุญญารัตน์
     ครูวิชาการ สาขาวิชาคอมพิวเตอร์และเทคโนโลยี
                        โรงเรียนมหิดลวิทยานุสรณ์
หัว ข้อ
 ไวยากรณ์ร ะดับ ของคำา
 ชนิด ข้อ มูล แบบพื้น ฐาน
 ตัว แปรและค่า คงที่
 ตัว ดำา เนิน การ
 การแปลงชนิด ข้อ มูล
 ชนิด ข้อ มูล แบบอ้า งอิง
 คำา สัง อิน พุต และเอาท์พ ุต
        ่
ไวยากรณ์ร ะดับ ของคำา
คำาหรือข้อความที่สามารถเขียนโปรแกรมภาษาจาวา
จะต้องเป็นคำาหรือข้อความในรูปแบบใดรูปแบบหนึ่ง
ของประเภทต่างๆ ดังนี้
     comment
     identifier
     keyword
     สัญ ลัก ษณ์แ ยกคำา (separator)
     ช่อ งว่า ง (whitespace)
     ข้อ มูล และค่า คงที่ (literals)
ไวยากรณ์ร ะดับ ของคำา : comment
Comment คือ ข้อความที่แทรกอยู่ภายในโปรแกรม
 ซึ่ง compiler จะไม่แปลข้อความนี้ให้เป็นส่วนหนึ่ง
 ของโปรแกรม กล่าวคือข้อความนี้จะไม่มีผลต่อการ
ทำางานของโปรแกรม การ comment เขียนไว้เพื่อ
อธิบายโปรแกรมเพื่อให้ผอ่านเข้าใจโปรแกรมง่ายยิ่ง
                        ู้
 ขึ้น และช่วยทำาให้การแก้ไขและปรับปรุงโปรแกรม
                 เป็นไปได้ง่ายขึ้น
     ภาษาจาวากำา หนดรูป แบบของการเขีย น
               comment ไว้ด ัง นี้
     1) ข้อความเดียว จะใช้เครื่องหมาย // นำาหน้า
ไวยากรณ์ร ะดับ ของคำา : comment
ตัว อย่า ง แสดงการเขียน comment ในรูปแบบ
  ต่างๆ
      /* This program is to show
      how to write comments */
      public class CommentDemo {
               // Main method
               public static void main(String args[]) {
                       System.out.println("Document");
               }
      }
ไวยากรณ์ร ะดับ ของคำา : identifier
 Identifier คือชือที่ตั้งขึ้นในภาษาจาวา ซึ่งอาจ
                     ่
เป็นชื่อของคลาส ชื่อของตัวแปร ชือของเมธอด หรือ
                                  ่
  ชือของค่าคงที่ ซึ่งจะต้องเป็นไปตามกฎการตั้งชือ
    ่                                          ่
                        ดังนี้
    ต้องขึ้นต้นด้วยอักขระ A-Z, a-z, _ หรือ $ เท่านัน
                                                    ้
   ประกอบด้วยตัวอักขระมากกว่าหนึ่งตัว ตัวอักขระหลัง
 จากตัวแรกนันจะต้องเป็นตัวอักขระข้างต้น หรือเป็นตัวเลข
            ่
                     0-9 เท่านั้น
                ต้องไม่ตรงกับคำาสงวน
ไวยากรณ์ร ะดับ ของคำา : identifier
ตัว อย่า ง ของ             ตัว อย่า ง ของ
  indentifier ที่ถูกต้อง     indentifier ที่ไม่ถูก
 MyVariable                 ต้อง
 _MyVariable               My Variable

 $data                     9Pi

 Sum_Score                 @net

…                          System
                           …
ไวยากรณ์ร ะดับ ของคำา : identifier
หลัก การตั้ง ชื่อ ที่น ิย มปฏิบ ัต ิก ัน โดยทั่ว ไป
       การตั้งชื่อ Class
          จะขึ้นต้นด้วยตัวอักษรพิมพ์ใหญ่แล้วตามด้วยตัวอักษรพิมพ์เล็ก หรือตัวเลข โดยจะ
           ใช้ตัวอักษรพิมพ์ใหญ่สำาหรับอักษรนำาของแต่ละคำาที่ตามมาในชือ่
          ควรเป็นคำานาม
          ตัวอย่าง เช่น Student, Car, Sample เป็นต้น
       การตั้งชื่อ Variable
          จะขึ้นต้นด้วยตัวอักษรพิมพ์เล็ก โดยจะใช้ตัวอักษรพิมพ์ใหญ่สำาหรับอักษรนำาของ
           แต่ละคำาทีตามมาในชื่อ
                     ่
          ควรเป็นคำานามหรือเป็นชื่อสั้นๆ
          ตัวอย่าง เช่น id, name, surname, idNumber เป็นต้น
       การตั้งชื่อ Method
          จะใช้หลักการเดียวกับการตั้งชื่อตัวแปร แต่ควรเป็นคำากริยา
          ตัวอย่าง เช่น getName, setName, showDetails เป็นต้น
       การตั้งชื่อ Constant
          จะใช้ตัวอักษรพิมพ์ใหญ่ทั้งหมด และจะแยกคำาโดยใช้เครื่องหมาย _
           (underscore)
          ควรเป็นคำานาม
          ตัวอย่าง เช่น PI, MAX เป็นต้น
ไวยากรณ์ร ะดับ ของคำา : keyword
    Keyword คือชือที่มีความหมายพิเศษในจาวา
                     ่
compilerของภาษาจาวาจะเข้าใจความหมายและคำา
 สั่งที่จะต้องดำาเนินการสำาหรับ keyword แต่ละตัว
     ภาษาจาวาได้กำาหนด keyword ไว้ดังนี้ เช่น
ไวยากรณ์ร ะดับ ของคำา : สัญ ลัก ษณ์
 แยกคำา (separator)
ภาษาจาวามีสญลักษณ์แยกคำาต่างๆ ทีสามารถนำาไปใช้เขียน
           ั                    ่
  ในโปรแกรมได้ดังนี้
 สัญลักษณ์                  หน้าที่
   แยกคำา
     ;     เพือระบุการสินสุดของคำาสังต่างๆ ภายใน
              ่         ้           ่
           ภาษาจาวา
    ()     สำาหรับต่อท้าย method หรือคำาสั่งอื่นๆ ใน
           ภาษาจาวา
     ,     สำาหรับแยกตัวแปรหรือคำาสั่งในภาษาจาวา
     .     เพือใช้ในการระบุ attribute หรือ method
              ่
           ของ object หรือใช้ในการระบุ package
ไวยากรณ์ร ะดับ ของคำา : ช่อ งว่า ง
(whitespace)
                                                                     โปรแกรมภาษาจาวาสามารถที่จะมีช่องว่างเพือแยกคำา
                                                                                                            ่
                                         ประโยค หรือคำาสั่งต่างๆ ภายในโปรแกรมได้ โดยช่องว่างจะมีขนาดเท่าไรก็ได้ ทั้งนี้
                                           compiler ของภาษาจาวาจะไม่นำาช่องว่างมาเกี่ยวข้องกับขนาดของโปรแกรม
                                       bytecode ช่องว่างจะช่วยทำาให้รูปแบบของ sourcecode ดูง่ายขึ้น รูปแบบของช่องว่าง
                                                                         ประกอบด้วย
                     ช่อ งว่า ง
   
                        แท็ป
       
                 การขึ้น บรรทัด ใหม่
   
ไวยากรณ์ร ะดับ ของคำา : ข้อ มูล ค่า
 คงที่ (Literals)
 ข้อ มูล ค่า คงที่ (Literals) คือคำาที่ใช้แสดงข้อมูลที่
เป็นตัวเลข ตัวอักขระ ข้อความ หรือค่าทางตรรกะ ซึ่ง
 ในภาษาจาวาได้กำาหนดข้อมูลค่าคงที่ไว้ 5 ประเภท
                          ดังนี้
                    ตรรกะ   (boolean)
                   ตัวอักขระ (character)
               ตัวเลขจำานวนเต็ม (integral)
              ตัวเลขทศนิยม (floating point)
                     ข้อความ (string)
ชนิด ข้อ มูล แบบพืน ฐาน
                   ้
 ชนิด ข้อ มูล ในภาษาจาวาแบ่ง เป็น       2 ประเภท
 คือ
   ชนิดข้อมูลแบบพืนฐาน
                   ้      (primitive data type)
   ชนิดข้อมูลแบบอ้างอิง (reference data type)



 ชนิด ข้อ มูล แบบพื้น ฐานแบ่ง เป็น   4 ประเภทคือ
   ชนิดข้อมูลตรรกะ  (logical) คือชนิด boolean
   ชนิดข้อมูลอักขระ (textual) คือชนิด char
   ชนิดข้อมูลตัวเลขจำานวนเต็ม (integer) คือชนิด byte,
    short, int และ long
ชนิด ข้อ มูล แบบพืน ฐาน :
                  ้
ขนาดและช่ว งค่า ของชนิด ข้อ มูล แบบ
พื้น ฐานของภาษาจาวา
ชนิด ข้อ มูล แบบพืน ฐาน : ข้อ มูล
                   ้
 ชนิด ตรรกะ
 ข้อ มูล ชนิด ตรรกะมีข ้อ มูล ค่า คงที่อ ยู่   2 ค่า คือ
   true และ    false
 ตัว อย่า ง

   boolean       check = true;
    เป็นการกำาหนดให้ตัวแปรชื่อ check มีชนิดข้อมูลเป็น
    boolean และกำาหนดให้มค่าเป็น true
                           ี
ชนิด ข้อ มูล แบบพืน ฐาน : ข้อ มูล
                   ้
 ชนิด อัก ขระ
 ข้อ มูล ชนิด อัก ขระใช้เ พื่อ แสดงตัว อัก ขระหนึง
                                                  ่
  ตัว
 ตัว อย่า ง

     char alphabet = ‘M’;
  เป็นการประกาศตัวแปรชื่อ alphabet มีชนิดข้อมูลเป็น
    char โดยมีค่าเป็นตัวอักขระ M
ชนิด ข้อ มูล แบบพืน ฐาน : ข้อ มูล
                   ้
 ชนิด อัก ขระ
 อัก ขระพิเ ศษที่น ย มใช้โ ดยทั่ว ไป
                    ิ
ชนิด ข้อ มูล แบบพืน ฐาน : ข้อ มูล
                   ้
 ชนิด จำา นวนเต็ม
 มีช นิด ข้อ มูล พืน ฐาน
                    ้       4 ชนิด คือ
      byte, short, int, long
 ข้อ มูล ค่า คงทีส ามารถเขีย นได้
                  ่                  3 แบบคือ
    เลขฐานสิบ เช่น -123, 3009 เป็นต้น
    เลขฐานแปด คือ การเขียนเลขจำานวนเต็มที่ขึ้นต้นด้วย
     เลข 0 แล้วตามด้วย 0 – 7 เช่น 072
    เลขฐานสิบหก คือ การเขียนเลขจำานวนเต็มที่ขึ้นต้น
     ด้วย 0x แล้วตามด้วย 0 – 9 หรือ A – F เช่น 0x2D
 ข้อ มูล ค่า คงทีข องเลขจำา นวนเต็ม ทีเ ป็น ชนิด long
                  ่                      ่
  จะมีต ว อัก ษร l หรือ L ต่อ ท้า ย เช่น
         ั
      3l, 089L, 0xBCL
ชนิด ข้อ มูล แบบพืน ฐาน : ข้อ มูล
                   ้
 ชนิด ตัว เลขทศนิย ม
ข้อ มูล ชนิด ตัว เลขทศนิย มจะเป็น เลขที่ม ี
 เครื่อ งหมายจุด ทศนิย ม เช่น 78.288,
 -8.90
มีช นิด พืน ฐาน 2 ชนิด คือ double (เก็บ
            ้
 ข้อ มูล ขนาด 64 บิต ) และ float (เก็บ
 ข้อ มูล ขนาด 32 บิต )
สามารถเขีย นในรูป แบบของเลขยก
 กำา ลัง สิบ (exponential form) ได้โ ดย
 ใช้ต ัว อัก ษร E หรือ e ระบุจ ำา นวนที่เ ป็น
 เลขยกกำา ลัง สิบ เช่น 7.02E34, 4e-9
ตัว แปรและค่า คงที่
ข้อ มูล ที่เ ก็บ อยูใ นโปรแกรมเช่น ข้อ มูล ที่
                    ่
เป็น คุณ ลัก ษณะของ object คุณ ลัก ษณะ
ของ class และข้อ มูล ใน method จะ
แบ่ง เป็น สองประเภทคือ ตัว แปรและค่า
คงที่ ซึง ่
 • ตัว แปร คือ ข้อ มูล ที่ส ามารถ
   เปลี่ย นแปลงค่า ได้ใ นโปรแกรม
 • ค่า คงที่ คือ ข้อ มูล ที่ก ำา หนดค่า ได้เ พีย ง
   ครั้ง เดีย วและไม่ส ามารถเปลี่ย นแปลง
   ค่า ได้ใ นโปรแกรม
ตัว แปรและค่า คงที่ : ชนิด ข้อ มูล

  type     size       Default           Contains
  byte     8 bits   0           Signed integer
 short    16 bits   0           Signed integer
    int   32 bits   0           Signed integer
  long    64 bits   0           Signed integer
  float   32 bits   0.0         IEEE754 floating point
double    64 bits   0.0         IEEE754 floating point
boolean    1 bits   false       (true,false)
 char     16 bits   u0000      Unicode Character
ตัว แปรและค่า คงที่ : การประกาศ
ตัว แปร

    [modifier] dataType variableName[,variableName];


 modifier   คือ keyword ที่ระบุคณสมบัติต่างๆ
                                 ุ
  ของตัวแปร เช่น access modifier ส่วนกรณีที่
  ไม่ระบุจะถือว่าเป็น default
 dataType คือชนิดข้อมูล
 variableName คือชื่อของตัวแปรที่เป็นไปตาม
  กฎการตั้งชือ่
ตัว อย่า ง
 int sum; //คือการประกาศตัวแปรชื่อ sum ให้มี
ตัว แปรและค่า คงที่ : คำา สั่ง กำา หนด
ค่า

             variableName = expression;


 variableName     คือชื่อของตัวแปรที่เป็นไปตาม
  กฎการตั้งชือ
             ่
 expression คือนิพจน์ซึ่งเป็นผลลัพธ์ที่ได้จาก
  การคำานวณข้อความที่อาจประกอบด้วยค่าคงที่
  ตัวแปร และตัวดำาเนินการ (operator)
ตัว อย่า ง
  sum = 89; //คือกำาหนดให้ตัวแปร sum เก็บข้อมูล
  89
ตัว แปรและค่า คงที่ : การประกาศ
ตัว แปรและการกำา หนดค่า

  [modifier] dataType variableName = expression
                    [,variableName = expression];

ตัว อย่า ง
  int sum = 12; //คือการประกาศตัวแปรชื่อ sum
  ให้มีชนิดเป็น int และเก็บข้อมูล 12
  float price = 708.0f; //คือการประกาศตัวแปรชื่อ
  price ให้มีชนิดเป็น float และเก็บข้อมูล 708.0f
ตัว แปรและค่า คงที่ :การประกาศค่า
คงที่

    [modifier] final dataType CONSTANT_NAME = expression;


  modifier คือ keyword ที่ระบุคุณสมบัติต่างๆ ของตัวแปร เช่น
   access modifier ส่วนกรณีที่ไม่ระบุจะถือว่าเป็น default
 dataType คือชนิดข้อมูล
 CONSTANT_NAME คือชื่อของค่าคงที่ โดยทั่วไปนิยมใช้ตัว
   อักษรพิมพ์ใหญ่ และแยกคำาด้วยเครื่องหมาย _
 Expressioin คือนิพจน์ซึ่งเป็นผลลัพธ์ทได้จากการคำานวณ
                                        ี่
   ข้อความที่อาจประกอบด้วยค่าคงที่ ตัวแปร และตัวดำาเนินการ
   (operator)
ตัว อย่า ง
   final int MAX = 9999;
ตัว แปรและค่า คงที่ : ขอบเขตของ
ตัว แปรและค่า คงที่

ตัวแปรและค่าคงที่ที่ประกาศขึ้นจะสามารถ
 ใช้งานภายในบล็อกคำาสัง { } ที่ประกาศ
                       ่
 เท่านั้น โดยภาษาจาวาแบ่งตัวแปรและค่า
 คงที่เป็น 2 ประเภทคือ
  ตัวแปรหรือค่าคงที่ที่เป็นคุณลักษณะของ
   object หรือคุณลักษณะของ class
  ตัวแปรหรือค่าคงที่ที่อยู่ในบล็อกของ
   method ที่เรียกว่าค่าคงที่ภายใน (local
   constant) หรือตัวแปรภายใน (local
ตัว แปรและค่า คงที่ : ขอบเขตของ
ตัว แปรและค่า คงที่
ตัวแปรจะถูกกำาหนดค่าเริ่มต้นให้อัตโนมัติ
 ดังนี้
ตัว แปรและค่า คงที่ : ตัว อย่า ง
ขอบเขตของตัว แปร
 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
        }
 }
ตัว แปรและค่า คงที่ :
    ตัว อย่า งแสดงตัว แปรภายในและตัว แปร
    ของ object
public class ScopeExample {
         private int i=1;
         public void method1() {
                  int i=4, j=5;
                  this.i = i+j;
                  method2(7);
         }

          public void method2(int i) {
                   int j=8;
                   this.i = i+j;
          }
}
  --------------------------------------------------------------------------------------------------
public class TestScoping {
           public static void main(String args[]) {
                      ScopeExample scope = new ScopeExample();
                      scope.method1();
           }
}
ตัว ดำา เนิน การ

ตัวดำาเนินการแบ่งออกเป็น        4 ประเภทคือ
   ตัวดำาเนินการทางคณิตศาสตร์   (Arihmetic
    Operator)
   ตัวดำาเนินการแบบสัมพันธ์ (Relational Operator)
   ตัวดำาเนินการทางตรรกศาสตร์ (Logical Operator)
   ตัวดำาเนินการแบบบิต (Bitwise Operator)
ตัว ดำา เนิน การ :
ตัว ดำา เนิน การทางคณิต ศาสตร์ (Arithmetic
Operator)

 ตัวดำาเนินการทางด้านคณิตศาสตร์ ได้แก่เครื่องหมาย


     ตัว         ความหมาย               ตัว อย่า ง
   ดำา เนิน
    การ
       -           การลบ                 X–Y
       +           การบวก                 X+Y
       *           การคูณ                 X*Y
       /           การหาร                 X/Y
       %      การหารจะเอาเฉพาะ 11%3 = 3 เศษ 2 ดังนั้น 2
                    เศษไว้            เป็นผลลัพธ์
     --        การลดค่าลงครั้งละ X- -หรือ - -X เหมือนกับ
                      1                  X=X-1
ตัว ดำา เนิน การ :
ตัว ดำา เนิน การทางคณิต ศาสตร์ (Arithmetic
Operator)

นอกจากตัวดำาเนินการบวก ลบ คูณ หาร ธรรมดา
แล้ว ยังมีโมดูลัส (modulas) คือการหารเอา
เฉพาะเศษ และมีวิธีการรวบรัดการใช้ตัวดำาเนิน
การเลขคณิตดังนี้
     รวมสัญลักษณ์        + และ = เข้าด้วยกันกลาย
       เป็น +=
                    - และ = เข้าด้วยกันกลายเป็น
-=
ตัว ดำา เนิน การ :
ตัว อย่า งการรวบรัด การใช้ต ัว ดำา เนิน การ
เลขคณิต
ตัว ดำา เนิน การ :
ตัว ดำา เนิน การแบบสัม พัน ธ์(Arithmetic
Operator)

เครื่องหมายที่ใช้ในการเปรียบเทียบและตัดสินใจ
ผลการเปรียบเทียบจะให้ค่าเป็น 1 และ เท็จจะให้
ค่าเป็น 0
      เครื่อ งห    ความหมาย         ตัว อย่า ง
        มาย
         >      มากกว่า       A > B (A มากกว่า B)
        >=      มากกว่าหรือ   A >= B (A มากกว่า
                เท่ากับ       หรือเท่ากับ B)
         <    น้อยกว่า        A < B (A น้อยกว่า B)
        <=    น้อยกว่าหรือ    A <= B (A น้อยกว่า
              เท่ากับ         หรือเท่ากับ B)
        ==    เท่ากับ         A = = B (A เท่ากับ B)
ตัว ดำา เนิน การ :
ตัว ดำา เนิน การทางตรรกศาสตร์ (Arithmetic
Operator)

เครื่องหมายตรรกะมีจุดประสงค์ใช้ในการเปรียบ
                                           เทียบเพื่อ
                                           ตัดสินใจซึ่ง
                                           ผลที่ได้จาก
คำา สั่ง && (AND) เป็นการนำาเงื่อนไข 2 เงื่อนไขมาเปรียบ
                                           การเปรียบ
เทียบกันซึ่งผลลัพธ์ทได้จะเป็นดังนี้
                    ี่
                                           เทียบจะได้
                                           ผลลัพธ์ 2
                                           อย่าง คือ
                                           ถ้าได้
                                           ผลลัพธ์เป็น
ตัว ดำา เนิน การ :
 ตัว ดำา เนิน การทางตรรกศาสตร์ (Arithmetic
 Operator)

คำา สั่ง | | (OR) เป็นการนำาเงื่อนไข 2 เงื่อนไขมาเปรียบ
เทียบกันซึงผลลัพธ์ที่ได้จะเป็นดังนี้
            ่




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




ตัว อย่า ง
int x = 8;
System.out.println(x >> 32); // หมายถึงการเลื่อน
ลำา ดับ ความสำา คัญ ของตัว ดำา เนิน
 การ
ในบางครั้ง นิพ จน์ป ระกอบด้ว ยตัว ดำา เนิน การมากมาย
 ทำา ให้เ กิด ความยุ่ง ยากในการพิจ ารณาขั้น ตอนการ
ทำา งานของตัว ดำา เนิน การ จึง ได้ต ั้ง กฎเกี่ย วกับ ลำา ดับ
การทำา งานก่อ นหลัง ของตัว ดำา เนิน การ (Operator)
ดัง นี้
ลำา ดับ ความสำา คัญ ของตัว ดำา เนิน
 การ
ในบางครั้ง นิพ จน์ป ระกอบด้ว ยตัว ดำา เนิน การมากมาย
 ทำา ให้เ กิด ความยุ่ง ยากในการพิจ ารณาขั้น ตอนการ
ทำา งานของตัว ดำา เนิน การ จึง ได้ต ั้ง กฎเกี่ย วกับ ลำา ดับ
การทำา งานก่อ นหลัง ของตัว ดำา เนิน การ (Operator)
ดัง นี้
ชนิด ข้อ มูล แบบอ้า งอิง
ตัว แปรหรือ ค่า คงทีป ระกาศเป็น ชนิด ข้อ มูล อื่น ๆ ซึง
                        ่                             ่
ไม่ใ ช่ช นิด ข้อ มูล แบบพืน ฐาน จะเป็น ชนิด ข้อ มูล แบบ
                              ้
อ้า งอิง ซึ่ง ก็ค ือ object ในจาวาโดยแบ่ง เป็น 2 แบบ
คือ
        ชนิด ข้อ มูล ทีเ ป็น array
                          ่
        ชนิด ข้อ มูล ทีเ ป็น class
                            ่

      ตัว อย่า ง
          String s = new
      String(“Hello”);

งาน

  • 1.
    พื้น ฐานโปรแกรมภาษา JAVA อาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูวิชาการ สาขาวิชาคอมพิวเตอร์และเทคโนโลยี โรงเรียนมหิดลวิทยานุสรณ์
  • 2.
    หัว ข้อ  ไวยากรณ์ระดับ ของคำา  ชนิด ข้อ มูล แบบพื้น ฐาน  ตัว แปรและค่า คงที่  ตัว ดำา เนิน การ  การแปลงชนิด ข้อ มูล  ชนิด ข้อ มูล แบบอ้า งอิง  คำา สัง อิน พุต และเอาท์พ ุต ่
  • 3.
  • 4.
    ไวยากรณ์ร ะดับ ของคำา: comment Comment คือ ข้อความที่แทรกอยู่ภายในโปรแกรม ซึ่ง compiler จะไม่แปลข้อความนี้ให้เป็นส่วนหนึ่ง ของโปรแกรม กล่าวคือข้อความนี้จะไม่มีผลต่อการ ทำางานของโปรแกรม การ comment เขียนไว้เพื่อ อธิบายโปรแกรมเพื่อให้ผอ่านเข้าใจโปรแกรมง่ายยิ่ง ู้ ขึ้น และช่วยทำาให้การแก้ไขและปรับปรุงโปรแกรม เป็นไปได้ง่ายขึ้น ภาษาจาวากำา หนดรูป แบบของการเขีย น comment ไว้ด ัง นี้ 1) ข้อความเดียว จะใช้เครื่องหมาย // นำาหน้า
  • 5.
    ไวยากรณ์ร ะดับ ของคำา: comment ตัว อย่า ง แสดงการเขียน comment ในรูปแบบ ต่างๆ /* This program is to show how to write comments */ public class CommentDemo { // Main method public static void main(String args[]) { System.out.println("Document"); } }
  • 6.
    ไวยากรณ์ร ะดับ ของคำา: identifier Identifier คือชือที่ตั้งขึ้นในภาษาจาวา ซึ่งอาจ ่ เป็นชื่อของคลาส ชื่อของตัวแปร ชือของเมธอด หรือ ่ ชือของค่าคงที่ ซึ่งจะต้องเป็นไปตามกฎการตั้งชือ ่ ่ ดังนี้ ต้องขึ้นต้นด้วยอักขระ A-Z, a-z, _ หรือ $ เท่านัน ้ ประกอบด้วยตัวอักขระมากกว่าหนึ่งตัว ตัวอักขระหลัง จากตัวแรกนันจะต้องเป็นตัวอักขระข้างต้น หรือเป็นตัวเลข ่ 0-9 เท่านั้น ต้องไม่ตรงกับคำาสงวน
  • 7.
    ไวยากรณ์ร ะดับ ของคำา: identifier ตัว อย่า ง ของ ตัว อย่า ง ของ indentifier ที่ถูกต้อง indentifier ที่ไม่ถูก  MyVariable ต้อง  _MyVariable  My Variable  $data  9Pi  Sum_Score  @net …  System …
  • 8.
    ไวยากรณ์ร ะดับ ของคำา: identifier หลัก การตั้ง ชื่อ ที่น ิย มปฏิบ ัต ิก ัน โดยทั่ว ไป  การตั้งชื่อ Class  จะขึ้นต้นด้วยตัวอักษรพิมพ์ใหญ่แล้วตามด้วยตัวอักษรพิมพ์เล็ก หรือตัวเลข โดยจะ ใช้ตัวอักษรพิมพ์ใหญ่สำาหรับอักษรนำาของแต่ละคำาที่ตามมาในชือ่  ควรเป็นคำานาม  ตัวอย่าง เช่น Student, Car, Sample เป็นต้น  การตั้งชื่อ Variable  จะขึ้นต้นด้วยตัวอักษรพิมพ์เล็ก โดยจะใช้ตัวอักษรพิมพ์ใหญ่สำาหรับอักษรนำาของ แต่ละคำาทีตามมาในชื่อ ่  ควรเป็นคำานามหรือเป็นชื่อสั้นๆ  ตัวอย่าง เช่น id, name, surname, idNumber เป็นต้น  การตั้งชื่อ Method  จะใช้หลักการเดียวกับการตั้งชื่อตัวแปร แต่ควรเป็นคำากริยา  ตัวอย่าง เช่น getName, setName, showDetails เป็นต้น  การตั้งชื่อ Constant  จะใช้ตัวอักษรพิมพ์ใหญ่ทั้งหมด และจะแยกคำาโดยใช้เครื่องหมาย _ (underscore)  ควรเป็นคำานาม  ตัวอย่าง เช่น PI, MAX เป็นต้น
  • 9.
    ไวยากรณ์ร ะดับ ของคำา: keyword Keyword คือชือที่มีความหมายพิเศษในจาวา ่ compilerของภาษาจาวาจะเข้าใจความหมายและคำา สั่งที่จะต้องดำาเนินการสำาหรับ keyword แต่ละตัว ภาษาจาวาได้กำาหนด keyword ไว้ดังนี้ เช่น
  • 10.
    ไวยากรณ์ร ะดับ ของคำา: สัญ ลัก ษณ์ แยกคำา (separator) ภาษาจาวามีสญลักษณ์แยกคำาต่างๆ ทีสามารถนำาไปใช้เขียน ั ่ ในโปรแกรมได้ดังนี้ สัญลักษณ์ หน้าที่ แยกคำา ; เพือระบุการสินสุดของคำาสังต่างๆ ภายใน ่ ้ ่ ภาษาจาวา () สำาหรับต่อท้าย method หรือคำาสั่งอื่นๆ ใน ภาษาจาวา , สำาหรับแยกตัวแปรหรือคำาสั่งในภาษาจาวา . เพือใช้ในการระบุ attribute หรือ method ่ ของ object หรือใช้ในการระบุ package
  • 11.
    ไวยากรณ์ร ะดับ ของคำา: ช่อ งว่า ง (whitespace) โปรแกรมภาษาจาวาสามารถที่จะมีช่องว่างเพือแยกคำา ่ ประโยค หรือคำาสั่งต่างๆ ภายในโปรแกรมได้ โดยช่องว่างจะมีขนาดเท่าไรก็ได้ ทั้งนี้ compiler ของภาษาจาวาจะไม่นำาช่องว่างมาเกี่ยวข้องกับขนาดของโปรแกรม bytecode ช่องว่างจะช่วยทำาให้รูปแบบของ sourcecode ดูง่ายขึ้น รูปแบบของช่องว่าง ประกอบด้วย ช่อ งว่า ง  แท็ป  การขึ้น บรรทัด ใหม่ 
  • 12.
    ไวยากรณ์ร ะดับ ของคำา: ข้อ มูล ค่า คงที่ (Literals) ข้อ มูล ค่า คงที่ (Literals) คือคำาที่ใช้แสดงข้อมูลที่ เป็นตัวเลข ตัวอักขระ ข้อความ หรือค่าทางตรรกะ ซึ่ง ในภาษาจาวาได้กำาหนดข้อมูลค่าคงที่ไว้ 5 ประเภท ดังนี้  ตรรกะ (boolean)  ตัวอักขระ (character)  ตัวเลขจำานวนเต็ม (integral)  ตัวเลขทศนิยม (floating point)  ข้อความ (string)
  • 13.
    ชนิด ข้อ มูลแบบพืน ฐาน ้  ชนิด ข้อ มูล ในภาษาจาวาแบ่ง เป็น 2 ประเภท คือ  ชนิดข้อมูลแบบพืนฐาน ้ (primitive data type)  ชนิดข้อมูลแบบอ้างอิง (reference data type)  ชนิด ข้อ มูล แบบพื้น ฐานแบ่ง เป็น 4 ประเภทคือ  ชนิดข้อมูลตรรกะ (logical) คือชนิด boolean  ชนิดข้อมูลอักขระ (textual) คือชนิด char  ชนิดข้อมูลตัวเลขจำานวนเต็ม (integer) คือชนิด byte, short, int และ long
  • 14.
    ชนิด ข้อ มูลแบบพืน ฐาน : ้ ขนาดและช่ว งค่า ของชนิด ข้อ มูล แบบ พื้น ฐานของภาษาจาวา
  • 15.
    ชนิด ข้อ มูลแบบพืน ฐาน : ข้อ มูล ้ ชนิด ตรรกะ  ข้อ มูล ชนิด ตรรกะมีข ้อ มูล ค่า คงที่อ ยู่ 2 ค่า คือ true และ false  ตัว อย่า ง boolean check = true; เป็นการกำาหนดให้ตัวแปรชื่อ check มีชนิดข้อมูลเป็น boolean และกำาหนดให้มค่าเป็น true ี
  • 16.
    ชนิด ข้อ มูลแบบพืน ฐาน : ข้อ มูล ้ ชนิด อัก ขระ  ข้อ มูล ชนิด อัก ขระใช้เ พื่อ แสดงตัว อัก ขระหนึง ่ ตัว  ตัว อย่า ง  char alphabet = ‘M’; เป็นการประกาศตัวแปรชื่อ alphabet มีชนิดข้อมูลเป็น char โดยมีค่าเป็นตัวอักขระ M
  • 17.
    ชนิด ข้อ มูลแบบพืน ฐาน : ข้อ มูล ้ ชนิด อัก ขระ  อัก ขระพิเ ศษที่น ย มใช้โ ดยทั่ว ไป ิ
  • 18.
    ชนิด ข้อ มูลแบบพืน ฐาน : ข้อ มูล ้ ชนิด จำา นวนเต็ม  มีช นิด ข้อ มูล พืน ฐาน ้ 4 ชนิด คือ  byte, short, int, long  ข้อ มูล ค่า คงทีส ามารถเขีย นได้ ่ 3 แบบคือ  เลขฐานสิบ เช่น -123, 3009 เป็นต้น  เลขฐานแปด คือ การเขียนเลขจำานวนเต็มที่ขึ้นต้นด้วย เลข 0 แล้วตามด้วย 0 – 7 เช่น 072  เลขฐานสิบหก คือ การเขียนเลขจำานวนเต็มที่ขึ้นต้น ด้วย 0x แล้วตามด้วย 0 – 9 หรือ A – F เช่น 0x2D  ข้อ มูล ค่า คงทีข องเลขจำา นวนเต็ม ทีเ ป็น ชนิด long ่ ่ จะมีต ว อัก ษร l หรือ L ต่อ ท้า ย เช่น ั  3l, 089L, 0xBCL
  • 19.
    ชนิด ข้อ มูลแบบพืน ฐาน : ข้อ มูล ้ ชนิด ตัว เลขทศนิย ม ข้อ มูล ชนิด ตัว เลขทศนิย มจะเป็น เลขที่ม ี เครื่อ งหมายจุด ทศนิย ม เช่น 78.288, -8.90 มีช นิด พืน ฐาน 2 ชนิด คือ double (เก็บ ้ ข้อ มูล ขนาด 64 บิต ) และ float (เก็บ ข้อ มูล ขนาด 32 บิต ) สามารถเขีย นในรูป แบบของเลขยก กำา ลัง สิบ (exponential form) ได้โ ดย ใช้ต ัว อัก ษร E หรือ e ระบุจ ำา นวนที่เ ป็น เลขยกกำา ลัง สิบ เช่น 7.02E34, 4e-9
  • 20.
    ตัว แปรและค่า คงที่ ข้อมูล ที่เ ก็บ อยูใ นโปรแกรมเช่น ข้อ มูล ที่ ่ เป็น คุณ ลัก ษณะของ object คุณ ลัก ษณะ ของ class และข้อ มูล ใน method จะ แบ่ง เป็น สองประเภทคือ ตัว แปรและค่า คงที่ ซึง ่ • ตัว แปร คือ ข้อ มูล ที่ส ามารถ เปลี่ย นแปลงค่า ได้ใ นโปรแกรม • ค่า คงที่ คือ ข้อ มูล ที่ก ำา หนดค่า ได้เ พีย ง ครั้ง เดีย วและไม่ส ามารถเปลี่ย นแปลง ค่า ได้ใ นโปรแกรม
  • 21.
    ตัว แปรและค่า คงที่: ชนิด ข้อ มูล type size Default Contains byte 8 bits 0 Signed integer short 16 bits 0 Signed integer int 32 bits 0 Signed integer long 64 bits 0 Signed integer float 32 bits 0.0 IEEE754 floating point double 64 bits 0.0 IEEE754 floating point boolean 1 bits false (true,false) char 16 bits u0000 Unicode Character
  • 22.
    ตัว แปรและค่า คงที่: การประกาศ ตัว แปร [modifier] dataType variableName[,variableName];  modifier คือ keyword ที่ระบุคณสมบัติต่างๆ ุ ของตัวแปร เช่น access modifier ส่วนกรณีที่ ไม่ระบุจะถือว่าเป็น default  dataType คือชนิดข้อมูล  variableName คือชื่อของตัวแปรที่เป็นไปตาม กฎการตั้งชือ่ ตัว อย่า ง int sum; //คือการประกาศตัวแปรชื่อ sum ให้มี
  • 23.
    ตัว แปรและค่า คงที่: คำา สั่ง กำา หนด ค่า variableName = expression;  variableName คือชื่อของตัวแปรที่เป็นไปตาม กฎการตั้งชือ ่  expression คือนิพจน์ซึ่งเป็นผลลัพธ์ที่ได้จาก การคำานวณข้อความที่อาจประกอบด้วยค่าคงที่ ตัวแปร และตัวดำาเนินการ (operator) ตัว อย่า ง sum = 89; //คือกำาหนดให้ตัวแปร sum เก็บข้อมูล 89
  • 24.
    ตัว แปรและค่า คงที่: การประกาศ ตัว แปรและการกำา หนดค่า [modifier] dataType variableName = expression [,variableName = expression]; ตัว อย่า ง int sum = 12; //คือการประกาศตัวแปรชื่อ sum ให้มีชนิดเป็น int และเก็บข้อมูล 12 float price = 708.0f; //คือการประกาศตัวแปรชื่อ price ให้มีชนิดเป็น float และเก็บข้อมูล 708.0f
  • 25.
    ตัว แปรและค่า คงที่:การประกาศค่า คงที่ [modifier] final dataType CONSTANT_NAME = expression;  modifier คือ keyword ที่ระบุคุณสมบัติต่างๆ ของตัวแปร เช่น access modifier ส่วนกรณีที่ไม่ระบุจะถือว่าเป็น default  dataType คือชนิดข้อมูล  CONSTANT_NAME คือชื่อของค่าคงที่ โดยทั่วไปนิยมใช้ตัว อักษรพิมพ์ใหญ่ และแยกคำาด้วยเครื่องหมาย _  Expressioin คือนิพจน์ซึ่งเป็นผลลัพธ์ทได้จากการคำานวณ ี่ ข้อความที่อาจประกอบด้วยค่าคงที่ ตัวแปร และตัวดำาเนินการ (operator) ตัว อย่า ง final int MAX = 9999;
  • 26.
    ตัว แปรและค่า คงที่: ขอบเขตของ ตัว แปรและค่า คงที่ ตัวแปรและค่าคงที่ที่ประกาศขึ้นจะสามารถ ใช้งานภายในบล็อกคำาสัง { } ที่ประกาศ ่ เท่านั้น โดยภาษาจาวาแบ่งตัวแปรและค่า คงที่เป็น 2 ประเภทคือ ตัวแปรหรือค่าคงที่ที่เป็นคุณลักษณะของ object หรือคุณลักษณะของ class ตัวแปรหรือค่าคงที่ที่อยู่ในบล็อกของ method ที่เรียกว่าค่าคงที่ภายใน (local constant) หรือตัวแปรภายใน (local
  • 27.
    ตัว แปรและค่า คงที่: ขอบเขตของ ตัว แปรและค่า คงที่ ตัวแปรจะถูกกำาหนดค่าเริ่มต้นให้อัตโนมัติ ดังนี้
  • 28.
    ตัว แปรและค่า คงที่: ตัว อย่า ง ขอบเขตของตัว แปร 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 } }
  • 29.
    ตัว แปรและค่า คงที่: ตัว อย่า งแสดงตัว แปรภายในและตัว แปร ของ object public class ScopeExample { private int i=1; public void method1() { int i=4, j=5; this.i = i+j; method2(7); } public void method2(int i) { int j=8; this.i = i+j; } } -------------------------------------------------------------------------------------------------- public class TestScoping { public static void main(String args[]) { ScopeExample scope = new ScopeExample(); scope.method1(); } }
  • 30.
    ตัว ดำา เนินการ ตัวดำาเนินการแบ่งออกเป็น 4 ประเภทคือ  ตัวดำาเนินการทางคณิตศาสตร์ (Arihmetic Operator)  ตัวดำาเนินการแบบสัมพันธ์ (Relational Operator)  ตัวดำาเนินการทางตรรกศาสตร์ (Logical Operator)  ตัวดำาเนินการแบบบิต (Bitwise Operator)
  • 31.
    ตัว ดำา เนินการ : ตัว ดำา เนิน การทางคณิต ศาสตร์ (Arithmetic Operator) ตัวดำาเนินการทางด้านคณิตศาสตร์ ได้แก่เครื่องหมาย ตัว ความหมาย ตัว อย่า ง ดำา เนิน การ - การลบ X–Y + การบวก X+Y * การคูณ X*Y / การหาร X/Y % การหารจะเอาเฉพาะ 11%3 = 3 เศษ 2 ดังนั้น 2 เศษไว้ เป็นผลลัพธ์ -- การลดค่าลงครั้งละ X- -หรือ - -X เหมือนกับ 1 X=X-1
  • 32.
    ตัว ดำา เนินการ : ตัว ดำา เนิน การทางคณิต ศาสตร์ (Arithmetic Operator) นอกจากตัวดำาเนินการบวก ลบ คูณ หาร ธรรมดา แล้ว ยังมีโมดูลัส (modulas) คือการหารเอา เฉพาะเศษ และมีวิธีการรวบรัดการใช้ตัวดำาเนิน การเลขคณิตดังนี้ รวมสัญลักษณ์ + และ = เข้าด้วยกันกลาย เป็น += - และ = เข้าด้วยกันกลายเป็น -=
  • 33.
    ตัว ดำา เนินการ : ตัว อย่า งการรวบรัด การใช้ต ัว ดำา เนิน การ เลขคณิต
  • 34.
    ตัว ดำา เนินการ : ตัว ดำา เนิน การแบบสัม พัน ธ์(Arithmetic Operator) เครื่องหมายที่ใช้ในการเปรียบเทียบและตัดสินใจ ผลการเปรียบเทียบจะให้ค่าเป็น 1 และ เท็จจะให้ ค่าเป็น 0 เครื่อ งห ความหมาย ตัว อย่า ง มาย > มากกว่า A > B (A มากกว่า B) >= มากกว่าหรือ A >= B (A มากกว่า เท่ากับ หรือเท่ากับ B) < น้อยกว่า A < B (A น้อยกว่า B) <= น้อยกว่าหรือ A <= B (A น้อยกว่า เท่ากับ หรือเท่ากับ B) == เท่ากับ A = = B (A เท่ากับ B)
  • 35.
    ตัว ดำา เนินการ : ตัว ดำา เนิน การทางตรรกศาสตร์ (Arithmetic Operator) เครื่องหมายตรรกะมีจุดประสงค์ใช้ในการเปรียบ เทียบเพื่อ ตัดสินใจซึ่ง ผลที่ได้จาก คำา สั่ง && (AND) เป็นการนำาเงื่อนไข 2 เงื่อนไขมาเปรียบ การเปรียบ เทียบกันซึ่งผลลัพธ์ทได้จะเป็นดังนี้ ี่ เทียบจะได้ ผลลัพธ์ 2 อย่าง คือ ถ้าได้ ผลลัพธ์เป็น
  • 36.
    ตัว ดำา เนินการ : ตัว ดำา เนิน การทางตรรกศาสตร์ (Arithmetic Operator) คำา สั่ง | | (OR) เป็นการนำาเงื่อนไข 2 เงื่อนไขมาเปรียบ เทียบกันซึงผลลัพธ์ที่ได้จะเป็นดังนี้ ่ คำา สั่ง ! (NOT) เป็น การทำา นิเ สธซึ่ง ผลลัพ ธ์ท ไ ด้จ ะเป็น ี่ ดัง นี้
  • 37.
    ตัว ดำา เนินการ : ตัว ดำา เนิน การแบบบิต ตัว ดำา เนิน การแบบบิต เป็น ตัว ดำา เนิน การทีใ ช้ก ับ ข้อ มูล ่ ชนิด ตัว เลขจำา นวนเต็ม เพื่อ จัด การกับ ข้อ มูล เชิง บิต หรือ เพือ เลื่อ นบิต โดยมีเ ครื่อ งหมายต่า งๆ ดัง นี้ ่ ตัว อย่า ง int x = 8; System.out.println(x >> 32); // หมายถึงการเลื่อน
  • 38.
    ลำา ดับ ความสำาคัญ ของตัว ดำา เนิน การ ในบางครั้ง นิพ จน์ป ระกอบด้ว ยตัว ดำา เนิน การมากมาย ทำา ให้เ กิด ความยุ่ง ยากในการพิจ ารณาขั้น ตอนการ ทำา งานของตัว ดำา เนิน การ จึง ได้ต ั้ง กฎเกี่ย วกับ ลำา ดับ การทำา งานก่อ นหลัง ของตัว ดำา เนิน การ (Operator) ดัง นี้
  • 39.
    ลำา ดับ ความสำาคัญ ของตัว ดำา เนิน การ ในบางครั้ง นิพ จน์ป ระกอบด้ว ยตัว ดำา เนิน การมากมาย ทำา ให้เ กิด ความยุ่ง ยากในการพิจ ารณาขั้น ตอนการ ทำา งานของตัว ดำา เนิน การ จึง ได้ต ั้ง กฎเกี่ย วกับ ลำา ดับ การทำา งานก่อ นหลัง ของตัว ดำา เนิน การ (Operator) ดัง นี้
  • 40.
    ชนิด ข้อ มูลแบบอ้า งอิง ตัว แปรหรือ ค่า คงทีป ระกาศเป็น ชนิด ข้อ มูล อื่น ๆ ซึง ่ ่ ไม่ใ ช่ช นิด ข้อ มูล แบบพืน ฐาน จะเป็น ชนิด ข้อ มูล แบบ ้ อ้า งอิง ซึ่ง ก็ค ือ object ในจาวาโดยแบ่ง เป็น 2 แบบ คือ  ชนิด ข้อ มูล ทีเ ป็น array ่  ชนิด ข้อ มูล ทีเ ป็น class ่ ตัว อย่า ง String s = new String(“Hello”);