SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
976-140 Object-Oriented Programming
344-202 Introduction to Object-Oriented Programming

             การโปรแกรมเชิงวัตถุ

             2. Java Fundamentals


                       Faculty of Technology and Environment
                  Prince of Songkla University, Phuket Campus
                                                      2/2551
Contents
  keywords, reserved words
  Identifiers and variables
  Primitive data types
  Literals
  Type conversion
  Constants




Object-Oriented Programming 2/2551   2
Java Keywords
    Keywords คือ คาทีถูกกาหนดไว้ในภาษาในการเขียนโปรแกรมให้มี
                      ่
     ความหมายเฉพาะเพื่อให้คอมไพเลอร์เข้าใจและนาไปตีความได้




Object-Oriented Programming 2/2551                              3
Reserved words
  Reserved words (คาสงวน) คือ คาที่มีความหมายในการตีความสาหรับ
   คอมไพเลอร์
  จาวา มี reserved word อีก 3 ตัวคือ
     true false null




Object-Oriented Programming 2/2551                            4
Identifiers
  Identifiers คือ ชื่อที่กาหนดให้แก่ คลาส เมธอด ตัวแปร
  การกาหนดชือต้องเป็นไปตามกฎต่อไปนี้
                 ่
       ประกอบด้วยตัวอักษรภาษาอังกฤษ หรือ _ หรือ $ หรือตัวเลข
       ห้ามเว้นวรรค ห้ามขึ้นต้นด้วยตัวเลข
       ห้ามเป็น keyword หรือ reserved word


     Count    _height              $name             public
     userName main                 x1               balance$
     3person Student-id            identifier       a@hotmail
               Which words are correct identifiers?
Object-Oriented Programming 2/2551                              5
Primitive Data Types
  การเขียนโปรแกรมมีการจัดการกับข้อมูลซึ่งจัดเก็บอยู่ในหน่วยความจา
  การใช้งานข้อมูลต้องมีการประกาศตัวแปรสาหรับเก็บข้อมูล และชนิดของ
   ข้อมูลที่จะเก็บ
  เช่น ต้องการเก็บข้อมูลที่เป็นเลขจานวนเต็ม ก็ต้องประกาศตัวแปรเป็น
   ชนิดข้อมูลแบบจานวนเต็ม
  ประกาศเป็นจานวนเต็ม         เกิดการจองพืนที่ในหน่วยความจา
                                          ้                   สามารถเก็บข้อมูลในหน่วยความจาได้
             number1                                                10
             number2                                                25
              sum                                                   35
Object-Oriented Programming 2/2551                                                     6
Primitive Data Types
    จาวามีชนิดข้อมูลพื้นฐานให้ใช้งาน 8 ชนิด
       Logical : boolean
       Textual : char

       Integral : byte, short, int, long

       Floating-point : float, double




Object-Oriented Programming 2/2551             7
Primitive Data Types
    ข้อมูลพื้นฐานแต่ละชนิดใช้พื้นทีในการเก็บข้อมูลต่างกัน ค่าที่เก็บได้ก็
                                    ่
     ต่างกันด้วย




Object-Oriented Programming 2/2551                                           8
Variable
  ตัวแปร หรือ variable จะใช้ในการเก็บข้อมูลทั้ง input และ output
  จากตัวแปรในคณิตศาสตร์ เช่น sum = x + y
  ในคอมพิวเตอร์ การจะใช้ตัวแปรคือการใช้งานหน่วยความจา
  ตัวแปร จึงมีคุณสมบัติสาคัญคือ
       ชื่อตัวแปร(name)
       ชนิดข้อมูล(type)

       ขนาดหน่วยความจา(size)

       ค่าที่เก็บ(value)




Object-Oriented Programming 2/2551                                  9
Variables declaration
  การประกาศตัวแปร ทาได้โดยการตั้งชื่อตัวแปร และระบุชนิดข้อมูลของตัว
   แปรนั้น
  การใช้งานตัวแปร ต้องมีการประกาศตัวแปรก่อน จากนั้นจึงกาหนดค่าให้
   ตัวแปร แล้วจึงจะสามารถทาการคานวณได้
  Variable declaration syntax
        <data type> <variable name>;
        int x;                 double bigNum;
        short x, y, z;         float number;


Object-Oriented Programming 2/2551                              10
Variables declaration
    ตัวอย่าง ประกาศตัวแปร เช่น          int y;
       เป็นการจัดสรรพื้นที่ในหน่วยความจาให้ตามขนาดชนิดตัวแปร int คือ 32 bits
       โดยเรียกชื่อตาแหน่งของหน่วยความจานี้ว่า y

       ในการประกาศตัวแปร จะยังไม่มีการกาหนดค่าเริ่มต้นให้ จนกว่าจะมีการ
        กาหนดค่าให้ตัวแปร เช่น y = 0 ; จึงจะมีการเก็บค่าที่ตาแหน่ง y เป็น 0
                                y    0

         ค่าที่เก็บใน y สามารถเป็นตัวเลขจานวนเต็มที่มีค่าอยู่ระหว่าง
                 -2147483648 ถึง 21474836487

Object-Oriented Programming 2/2551                                        11
Variables declaration
                                 int age;
                                 float salary;

  age เป็น int ส่วน salary เป็น float
  ใช้เนื้อทีในหน่วยความจา 32 bits เท่ากัน แต่ใช้งานได้ต่างกัน
             ่
       age เก็บข้อมูลได้เฉพาะเลขจานวนเต็ม
       salary เก็บเลขทศนิยมได้




Object-Oriented Programming 2/2551                               12
Assigning Variables
  การกาหนดค่าให้แก่ตัวแปร ทาได้โดยใช้เครื่องหมายเท่ากับ ( = )
  Assignment statement syntax
                   <variable> = <expression>;
  เช่น y=10; ก็คือ กาหนดให้ค่าทีตาแหน่งของหน่วยความจานี้เป็น 10
                                  ่
                            y        10
    <expression> อาจเป็นค่าหรือนิพจน์ที่ต้องการจะนาไปเก็บใน <variable>
         นิพจน์ คือ ประโยคที่ประกอบด้วย operator และ operand
                                          sum = x + (y*5)/7;    x 5
                   sum                                          y 10
Object-Oriented Programming 2/2551                                   13
Assigning Variables
    ก่อนกาหนดค่าให้ตวแปรต้องมีการประกาศตัวแปรก่อน
                     ั
       ประกาศตัวแปร             int x;
       กาหนดค่า                 x = 12;
    หรือกาหนดค่าในคาสั่งประกาศตัวแปร
           int x = 12;
    ระวัง เรื่องการกาหนดค่าให้ชนิดข้อมูลถูกต้อง
       int x; double d = 3.5;
       x = d;           // compile error !!!
                         // ค่าของ d เป็น double กาหนดให้ int ไม่ได้

Object-Oriented Programming 2/2551                                     14
Literal




                                      ในคาสั่ง print เชื่อม
                                     ‚ข้อความ‛ กับตัวแปร
                                       ด้วยเครื่องหมาย +




Object-Oriented Programming 2/2551                            15
Literal
    Literal คือ ค่าข้อมูลที่แน่นอนซึ่งระบุไว้ในโปรแกรม เช่น
         ‘A’, 100, 78.5, true
    ประเภทของ literal
       Integer literal
       Floating-point literal

       Boolean literal

       Character literal

       String literal




Object-Oriented Programming 2/2551                             16
Boolean Literal
    Boolean มี literal แสดงค่าทางตรรกะเพียง 2 ตัว คือ true กับ false




Object-Oriented Programming 2/2551                                      17
Character Literal
  เป็นอักษรตัวเดียว เช่น ‘a’, ‘B’ ซึ่งต้องมี single quote (‘ ’) คลุม
  เป็นอักขระควบคุม (escape sequence) เช่น t, r, n
  xxx หมายถึง ตัวอักษรทีมีรหัส ASCII เท่ากับค่าของเลขฐาน 8 ที่ระบุ
                             ่
         เช่น สั่งพิมพ์ค่า ‘043’ จะได้ผลลัพธ์คือ #
    uxxxx หมายถึง ตัวอักษรที่มีรหัส unicode เท่ากับค่าของเลขฐาน 16 ที่
     ระบุ เช่น
         เช่น สั่งพิมพ์ค่า ‘u0023’ จะได้ #
    1 ตัวอักษร ใช้เนื้อที่หน่วยความจา 2 bytes


Object-Oriented Programming 2/2551                                   18
Character Literal
    Escape sequence character




Object-Oriented Programming 2/2551   19
Character Literal




Object-Oriented Programming 2/2551   20
String Literal
  String เป็นข้อความซึ่งอาจประกอบด้วยตัวอักษรตัวเดียวหรือหลายตัว
  String ต้องคลุมด้วย double quote (‚ ‛)
  เช่น ‚a‛, ‚A string‛, ‚data1 t data2‛, ‚line1 n line2‛




Object-Oriented Programming 2/2551                                  21
Integer literal
    Integer literal สามารถเป็นได้ทั้งเลขฐาน 10 (decimal) , ฐาน 8 (octal), ฐาน 16
     (hexadecimal)
    ปกติ ตัวเลขจานวนเต็ม จะถือว่าเป็น int และฐาน 10
    ถ้าต้องการให้เป็นจานวนเต็มแบบ long ต้องระบุ l หรือ L ต่อท้ายเลขนั้น
    ถ้าต้องการให้เป็นเลขฐาน 8 ให้นาหน้าด้วย 0
    ถ้าต้องการให้เป็นเลขฐาน 16 ให้นาหน้าด้วย 0x หรือ 0X

 Decimal              Long           Octal          Hexadecimal
 15                   15L            017            0xF
 16                   16l            020            0x10
 100                  100L           0144           0x64
Object-Oriented Programming 2/2551                                           22
Integer literal




Object-Oriented Programming 2/2551   23
Floating-point literal
  อาจอยู่ในรูปเลขฐานสิบ เช่น 66.889 หรือรูป exponential เช่น
   6.07e17 (หมายถึง 6.07 x 1017)
  ระบุให้ literal เป็นชนิดข้อมูลแบบ float ให้ใส่ f หรือ F ต่อท้าย
        6.55e12F          122f      4.002F
  การระบุให้ literal เป็นชนิดข้อมูลแบบ double ให้ใส่ d หรือ D ต่อท้าย
        8D 3.123439d
  โดยปกติ ถ้าไม่ระบุ d หรือ f เลขทศนิยมจะเป็น double
  Float เก็บทศนิยมได้ 7 ตาแหน่ง ส่วน double เก็บทศนิยมได้ 15
   ตาแหน่ง
Object-Oriented Programming 2/2551                                       24
Floating-point literal




Object-Oriented Programming 2/2551   25
Precision of numeric data types
    ชนิดข้อมูลที่เป็นตัวเลขมี 6 ตัวคือ
       byte short int long  integer number
       float double         real / floating point number
  ช่วงของค่า (range) ที่จะเก็บในตัวแปรที่มีชนิดต่างกันจะเก็บได้ต่างกัน
  ถ้าช่วงของค่าที่เก็บได้ใหญ่กว่า ก็จะเรียกว่า มี precision สูงกว่า เช่น
       Precision ของ floating point > integer
       Precision ของ double > float

       Precision ของ long > int > short > byte

    ยิ่ง precision สูงกว่า ก็จะใช้หน่วยความจาเยอะกว่า
Object-Oriented Programming 2/2551                                      26
Precision of numeric data types
    ปกติแล้วเราไม่สามารถ assign ค่าที่มี precision สูงกว่าให้ตัวแปรทีมี
                                                                      ่
     precision ต่ากว่า เช่น
       byte b=5; int i = 8888;
                                                      Precision สูง
       b = i;            // compile error !!!
                                                         double
       แต่ i = b;        //compile ผ่าน
                                                          float
                                                          long
                                                           int
                                                          short
                                                          byte
Object-Oriented Programming 2/2551                    Precision ต่า        27
Type conversion - การแปลงชนิดข้อมูล
  การดาเนินการทางคณิตศาสตร์ เช่น X = operand + operand
  ถ้า operand ที่มีชนิดข้อมูลเดียวกัน ผลลัพธ์ที่ได้ก็จะได้ชนิดข้อมูลนั้น
  ถ้า operand ต่างชนิดข้อมูลกัน จะต้องทาการแปลงให้ operand มีชนิด
   เดียวกันก่อน จึงจะดาเนินการได้
  การแปลงชนิดข้อมูลของจาวา มี 2 แบบ คือ
       Implicit type conversion
       Explicit type conversion




Object-Oriented Programming 2/2551                                      28
Implicit type conversion
  Implicit type conversion เป็นการแปลงชนิดข้อมูลที่จาวาทาให้อัตโนมัติ
  การแปลงข้อมูลจะแปลงจากชนิดข้อมูลที่มีความสาคัญต่ากว่าเป็น
   ความสาคัญสูงกว่า เพื่อไม่ให้สูญเสียค่าทีแท้จริงของข้อมูล
                                           ่
  เช่น int a = 5; short b=10;

           a+b-7              จะได้ผลลัพธ์ที่เป็น int คือ 8
           • b ถูกแปลงเป็น int, 7 เป็น literal มองเป็น int
    ถ้า float a = 5f; int b = 10;
         หาค่าและชนิดข้อมูลของผลลัพธ์จาก          a+b-7

Object-Oriented Programming 2/2551                                  29
Explicit type conversion หรือ Type Casting
  Casting การแปลงข้อมูลที่โปรแกรมเมอร์ต้องระบุชนิดข้อมูลที่ต้องการเอง
  Type casting syntax ระบุชนิดข้อมูลที่ตองการแปลงในวงเล็บ
                                         ้
                      (<data type>) <expression>;
    ตัวอย่าง
        short x = (short) 88778;          //23242
        y = (float) x / 3;
        k = a + (double) (x + y * z)


Object-Oriented Programming 2/2551                                 30
Ex. Integral type demo. What the output is?




Object-Oriented Programming 2/2551              31
Constant หรือ ค่าคงที่
  ค่าคงที่ คือตัวแปรที่เมื่อทาการกาหนดค่าแล้วจะมีค่าเป็นค่านั้นไปตลอด
   การทางานของโปรแกรม โดยไม่สามารถเปลี่ยนแปลงได้อีก
  การประกาศค่าคงที่ ให้ระบุคาว่า final ไว้หน้าชนิดข้อมูล

         final <data type> <constant_name> = <value>;
 เช่น
    final double PI = 3.1416;

    ปกตินิยมตั้งชื่อค่าคงที่ด้วยตัวอักษรตัวใหญ่ทั้งหมด

Object-Oriented Programming 2/2551                                  32
Constant หรือ ค่าคงที่
    ตัวอย่างการประกาศค่าคงที่




    Result
                      area = 78.54

Object-Oriented Programming 2/2551   33
แบบฝึกหัด
       จงเขียนโปรแกรมเพื่อหาว่า 26.5 องศาเซลเซียส เท่ากับกี่องศาฟาเรน
        ไฮต์ สูตรคือ
                     F = (9/5)*C + 32;




Object-Oriented Programming 2/2551                                 34

Contenu connexe

Tendances

Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Wongyos Keardsri
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsWongyos Keardsri
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingWongyos Keardsri
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptIMC Institute
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Thanachart Numnonda
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมThanachart Numnonda
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นThanachart Numnonda
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Thanachart Numnonda
 
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHPความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHPKhon Kaen University
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]Khon Kaen University
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Thanachart Numnonda
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : ThreadIMC Institute
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นPp'dan Phuengkun
 

Tendances (20)

Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)Java-Answer Chapter 05-06 (For Print)
Java-Answer Chapter 05-06 (For Print)
 
Java-Answer Chapter 12-13
Java-Answer Chapter 12-13Java-Answer Chapter 12-13
Java-Answer Chapter 12-13
 
Java-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and ObjectsJava-Chapter 12 Classes and Objects
Java-Chapter 12 Classes and Objects
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
Java-Answer Chapter 05-06
Java-Answer Chapter 05-06Java-Answer Chapter 05-06
Java-Answer Chapter 05-06
 
Java-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java ProgrammingJava-Chapter 01 Introduction to Java Programming
Java-Chapter 01 Introduction to Java Programming
 
Java Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented ConceptJava Programming [4/12] : Object Oriented Concept
Java Programming [4/12] : Object Oriented Concept
 
บทที่ 8 Methods
บทที่ 8 Methodsบทที่ 8 Methods
บทที่ 8 Methods
 
METHODS
METHODSMETHODS
METHODS
 
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่นJava Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์
 
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHPความรู้พื้นฐานเกี่ยวกับภาษา PHP
ความรู้พื้นฐานเกี่ยวกับภาษา PHP
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
 
Lesson5
Lesson5Lesson5
Lesson5
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้นคลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
คลาสและการเขียนโปรแกรมเชิงวัตถุเบื้องต้น
 

Similaire à 2.Java fundamentals

งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1Thank Chiro
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
ใบความรู้ที่ 5
ใบความรู้ที่  5ใบความรู้ที่  5
ใบความรู้ที่ 5SubLt Masu
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซีboky_peaw
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานNookky Anapat
 
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming LanguageJava Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming LanguageIMC Institute
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซีPatipat04
 
โปรแกรม ภาษาซี
โปรแกรม ภาษาซีโปรแกรม ภาษาซี
โปรแกรม ภาษาซีfinverok
 

Similaire à 2.Java fundamentals (20)

ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
Work
WorkWork
Work
 
งาน
งานงาน
งาน
 
งานทำ Blog บทที่ 2
งานทำ Blog บทที่ 2งานทำ Blog บทที่ 2
งานทำ Blog บทที่ 2
 
งานนำเสนอ1
งานนำเสนอ1งานนำเสนอ1
งานนำเสนอ1
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
ใบความรู้ที่ 5
ใบความรู้ที่  5ใบความรู้ที่  5
ใบความรู้ที่ 5
 
ตัวแปรกับชนิดของข้อมูล
ตัวแปรกับชนิดของข้อมูลตัวแปรกับชนิดของข้อมูล
ตัวแปรกับชนิดของข้อมูล
 
ภาษาซีเบื้องต้น
ภาษาซีเบื้องต้นภาษาซีเบื้องต้น
ภาษาซีเบื้องต้น
 
Intro c
Intro cIntro c
Intro c
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
ตัวแปรในภาษาซี
ตัวแปรในภาษาซีตัวแปรในภาษาซี
ตัวแปรในภาษาซี
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
Java Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming LanguageJava Programming [2/12] : Overview of Java Programming Language
Java Programming [2/12] : Overview of Java Programming Language
 
โครงสร้างภาษาซี
โครงสร้างภาษาซีโครงสร้างภาษาซี
โครงสร้างภาษาซี
 
3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน3.2 ตัวแปรและคำสงวน
3.2 ตัวแปรและคำสงวน
 
โปรแกรม ภาษาซี
โปรแกรม ภาษาซีโปรแกรม ภาษาซี
โปรแกรม ภาษาซี
 
Know1 3
Know1 3Know1 3
Know1 3
 
02 basic
02 basic02 basic
02 basic
 

Plus de UsableLabs

Vocabulary for portal
Vocabulary for portalVocabulary for portal
Vocabulary for portalUsableLabs
 
การจัดการความรู้
การจัดการความรู้การจัดการความรู้
การจัดการความรู้UsableLabs
 
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภคการส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภคUsableLabs
 
อาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูดอาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูดUsableLabs
 
ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่UsableLabs
 
30 web (blog2book)
30 web (blog2book)30 web (blog2book)
30 web (blog2book)UsableLabs
 
ภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆUsableLabs
 
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำUsableLabs
 
สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability UsableLabs
 
แนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมนแนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมนUsableLabs
 
correct_Portal manual
correct_Portal manual correct_Portal manual
correct_Portal manual UsableLabs
 
เทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษาเทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษาUsableLabs
 
Portal profile
Portal profilePortal profile
Portal profileUsableLabs
 
King's birthday
King's birthdayKing's birthday
King's birthdayUsableLabs
 
Portal manual (Original)
Portal manual (Original)Portal manual (Original)
Portal manual (Original)UsableLabs
 

Plus de UsableLabs (20)

Vocabulary for portal
Vocabulary for portalVocabulary for portal
Vocabulary for portal
 
การจัดการความรู้
การจัดการความรู้การจัดการความรู้
การจัดการความรู้
 
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภคการส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
การส่งเสริมการขายที่มุ่งสู่ผู้บริโภค
 
อาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูดอาหารและโภชนาการ เรื่อง สารกันบูด
อาหารและโภชนาการ เรื่อง สารกันบูด
 
ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่ส่งยิ้ม ส่งรัก รับปีใหม่
ส่งยิ้ม ส่งรัก รับปีใหม่
 
30 web (blog2book)
30 web (blog2book)30 web (blog2book)
30 web (blog2book)
 
ภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆภาพสวยๆ จากคนรักมวลเมฆ
ภาพสวยๆ จากคนรักมวลเมฆ
 
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
10 ข้อผิดพลาดเกี่ยวกับ usability ที่ไม่ควรทำ
 
สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability สร้างเว็บไซต์โดยใช้หลัก Usability
สร้างเว็บไซต์โดยใช้หลัก Usability
 
แนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมนแนะนำวิธีการจดทะเบียนโดเมน
แนะนำวิธีการจดทะเบียนโดเมน
 
Health
HealthHealth
Health
 
Money
MoneyMoney
Money
 
correct_Portal manual
correct_Portal manual correct_Portal manual
correct_Portal manual
 
Lit
LitLit
Lit
 
Blog
BlogBlog
Blog
 
เทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษาเทคโนโลยีและนวัตกรรมการศึกษา
เทคโนโลยีและนวัตกรรมการศึกษา
 
Portal profile
Portal profilePortal profile
Portal profile
 
Card sorting
Card sortingCard sorting
Card sorting
 
King's birthday
King's birthdayKing's birthday
King's birthday
 
Portal manual (Original)
Portal manual (Original)Portal manual (Original)
Portal manual (Original)
 

2.Java fundamentals

  • 1. 976-140 Object-Oriented Programming 344-202 Introduction to Object-Oriented Programming การโปรแกรมเชิงวัตถุ 2. Java Fundamentals Faculty of Technology and Environment Prince of Songkla University, Phuket Campus 2/2551
  • 2. Contents  keywords, reserved words  Identifiers and variables  Primitive data types  Literals  Type conversion  Constants Object-Oriented Programming 2/2551 2
  • 3. Java Keywords  Keywords คือ คาทีถูกกาหนดไว้ในภาษาในการเขียนโปรแกรมให้มี ่ ความหมายเฉพาะเพื่อให้คอมไพเลอร์เข้าใจและนาไปตีความได้ Object-Oriented Programming 2/2551 3
  • 4. Reserved words  Reserved words (คาสงวน) คือ คาที่มีความหมายในการตีความสาหรับ คอมไพเลอร์  จาวา มี reserved word อีก 3 ตัวคือ  true false null Object-Oriented Programming 2/2551 4
  • 5. Identifiers  Identifiers คือ ชื่อที่กาหนดให้แก่ คลาส เมธอด ตัวแปร  การกาหนดชือต้องเป็นไปตามกฎต่อไปนี้ ่  ประกอบด้วยตัวอักษรภาษาอังกฤษ หรือ _ หรือ $ หรือตัวเลข  ห้ามเว้นวรรค ห้ามขึ้นต้นด้วยตัวเลข  ห้ามเป็น keyword หรือ reserved word Count _height $name public userName main x1 balance$ 3person Student-id identifier a@hotmail Which words are correct identifiers? Object-Oriented Programming 2/2551 5
  • 6. Primitive Data Types  การเขียนโปรแกรมมีการจัดการกับข้อมูลซึ่งจัดเก็บอยู่ในหน่วยความจา  การใช้งานข้อมูลต้องมีการประกาศตัวแปรสาหรับเก็บข้อมูล และชนิดของ ข้อมูลที่จะเก็บ  เช่น ต้องการเก็บข้อมูลที่เป็นเลขจานวนเต็ม ก็ต้องประกาศตัวแปรเป็น ชนิดข้อมูลแบบจานวนเต็ม ประกาศเป็นจานวนเต็ม เกิดการจองพืนที่ในหน่วยความจา ้ สามารถเก็บข้อมูลในหน่วยความจาได้ number1 10 number2 25 sum 35 Object-Oriented Programming 2/2551 6
  • 7. Primitive Data Types  จาวามีชนิดข้อมูลพื้นฐานให้ใช้งาน 8 ชนิด  Logical : boolean  Textual : char  Integral : byte, short, int, long  Floating-point : float, double Object-Oriented Programming 2/2551 7
  • 8. Primitive Data Types  ข้อมูลพื้นฐานแต่ละชนิดใช้พื้นทีในการเก็บข้อมูลต่างกัน ค่าที่เก็บได้ก็ ่ ต่างกันด้วย Object-Oriented Programming 2/2551 8
  • 9. Variable  ตัวแปร หรือ variable จะใช้ในการเก็บข้อมูลทั้ง input และ output  จากตัวแปรในคณิตศาสตร์ เช่น sum = x + y  ในคอมพิวเตอร์ การจะใช้ตัวแปรคือการใช้งานหน่วยความจา  ตัวแปร จึงมีคุณสมบัติสาคัญคือ  ชื่อตัวแปร(name)  ชนิดข้อมูล(type)  ขนาดหน่วยความจา(size)  ค่าที่เก็บ(value) Object-Oriented Programming 2/2551 9
  • 10. Variables declaration  การประกาศตัวแปร ทาได้โดยการตั้งชื่อตัวแปร และระบุชนิดข้อมูลของตัว แปรนั้น  การใช้งานตัวแปร ต้องมีการประกาศตัวแปรก่อน จากนั้นจึงกาหนดค่าให้ ตัวแปร แล้วจึงจะสามารถทาการคานวณได้  Variable declaration syntax <data type> <variable name>; int x; double bigNum; short x, y, z; float number; Object-Oriented Programming 2/2551 10
  • 11. Variables declaration  ตัวอย่าง ประกาศตัวแปร เช่น int y;  เป็นการจัดสรรพื้นที่ในหน่วยความจาให้ตามขนาดชนิดตัวแปร int คือ 32 bits  โดยเรียกชื่อตาแหน่งของหน่วยความจานี้ว่า y  ในการประกาศตัวแปร จะยังไม่มีการกาหนดค่าเริ่มต้นให้ จนกว่าจะมีการ กาหนดค่าให้ตัวแปร เช่น y = 0 ; จึงจะมีการเก็บค่าที่ตาแหน่ง y เป็น 0 y 0  ค่าที่เก็บใน y สามารถเป็นตัวเลขจานวนเต็มที่มีค่าอยู่ระหว่าง -2147483648 ถึง 21474836487 Object-Oriented Programming 2/2551 11
  • 12. Variables declaration int age; float salary;  age เป็น int ส่วน salary เป็น float  ใช้เนื้อทีในหน่วยความจา 32 bits เท่ากัน แต่ใช้งานได้ต่างกัน ่  age เก็บข้อมูลได้เฉพาะเลขจานวนเต็ม  salary เก็บเลขทศนิยมได้ Object-Oriented Programming 2/2551 12
  • 13. Assigning Variables  การกาหนดค่าให้แก่ตัวแปร ทาได้โดยใช้เครื่องหมายเท่ากับ ( = )  Assignment statement syntax <variable> = <expression>;  เช่น y=10; ก็คือ กาหนดให้ค่าทีตาแหน่งของหน่วยความจานี้เป็น 10 ่ y 10  <expression> อาจเป็นค่าหรือนิพจน์ที่ต้องการจะนาไปเก็บใน <variable>  นิพจน์ คือ ประโยคที่ประกอบด้วย operator และ operand sum = x + (y*5)/7; x 5 sum y 10 Object-Oriented Programming 2/2551 13
  • 14. Assigning Variables  ก่อนกาหนดค่าให้ตวแปรต้องมีการประกาศตัวแปรก่อน ั  ประกาศตัวแปร int x;  กาหนดค่า x = 12;  หรือกาหนดค่าในคาสั่งประกาศตัวแปร  int x = 12;  ระวัง เรื่องการกาหนดค่าให้ชนิดข้อมูลถูกต้อง  int x; double d = 3.5;  x = d; // compile error !!! // ค่าของ d เป็น double กาหนดให้ int ไม่ได้ Object-Oriented Programming 2/2551 14
  • 15. Literal ในคาสั่ง print เชื่อม ‚ข้อความ‛ กับตัวแปร ด้วยเครื่องหมาย + Object-Oriented Programming 2/2551 15
  • 16. Literal  Literal คือ ค่าข้อมูลที่แน่นอนซึ่งระบุไว้ในโปรแกรม เช่น  ‘A’, 100, 78.5, true  ประเภทของ literal  Integer literal  Floating-point literal  Boolean literal  Character literal  String literal Object-Oriented Programming 2/2551 16
  • 17. Boolean Literal  Boolean มี literal แสดงค่าทางตรรกะเพียง 2 ตัว คือ true กับ false Object-Oriented Programming 2/2551 17
  • 18. Character Literal  เป็นอักษรตัวเดียว เช่น ‘a’, ‘B’ ซึ่งต้องมี single quote (‘ ’) คลุม  เป็นอักขระควบคุม (escape sequence) เช่น t, r, n  xxx หมายถึง ตัวอักษรทีมีรหัส ASCII เท่ากับค่าของเลขฐาน 8 ที่ระบุ ่  เช่น สั่งพิมพ์ค่า ‘043’ จะได้ผลลัพธ์คือ #  uxxxx หมายถึง ตัวอักษรที่มีรหัส unicode เท่ากับค่าของเลขฐาน 16 ที่ ระบุ เช่น  เช่น สั่งพิมพ์ค่า ‘u0023’ จะได้ #  1 ตัวอักษร ใช้เนื้อที่หน่วยความจา 2 bytes Object-Oriented Programming 2/2551 18
  • 19. Character Literal  Escape sequence character Object-Oriented Programming 2/2551 19
  • 21. String Literal  String เป็นข้อความซึ่งอาจประกอบด้วยตัวอักษรตัวเดียวหรือหลายตัว  String ต้องคลุมด้วย double quote (‚ ‛)  เช่น ‚a‛, ‚A string‛, ‚data1 t data2‛, ‚line1 n line2‛ Object-Oriented Programming 2/2551 21
  • 22. Integer literal  Integer literal สามารถเป็นได้ทั้งเลขฐาน 10 (decimal) , ฐาน 8 (octal), ฐาน 16 (hexadecimal)  ปกติ ตัวเลขจานวนเต็ม จะถือว่าเป็น int และฐาน 10  ถ้าต้องการให้เป็นจานวนเต็มแบบ long ต้องระบุ l หรือ L ต่อท้ายเลขนั้น  ถ้าต้องการให้เป็นเลขฐาน 8 ให้นาหน้าด้วย 0  ถ้าต้องการให้เป็นเลขฐาน 16 ให้นาหน้าด้วย 0x หรือ 0X Decimal Long Octal Hexadecimal 15 15L 017 0xF 16 16l 020 0x10 100 100L 0144 0x64 Object-Oriented Programming 2/2551 22
  • 24. Floating-point literal  อาจอยู่ในรูปเลขฐานสิบ เช่น 66.889 หรือรูป exponential เช่น 6.07e17 (หมายถึง 6.07 x 1017)  ระบุให้ literal เป็นชนิดข้อมูลแบบ float ให้ใส่ f หรือ F ต่อท้าย 6.55e12F 122f 4.002F  การระบุให้ literal เป็นชนิดข้อมูลแบบ double ให้ใส่ d หรือ D ต่อท้าย 8D 3.123439d  โดยปกติ ถ้าไม่ระบุ d หรือ f เลขทศนิยมจะเป็น double  Float เก็บทศนิยมได้ 7 ตาแหน่ง ส่วน double เก็บทศนิยมได้ 15 ตาแหน่ง Object-Oriented Programming 2/2551 24
  • 26. Precision of numeric data types  ชนิดข้อมูลที่เป็นตัวเลขมี 6 ตัวคือ  byte short int long  integer number  float double  real / floating point number  ช่วงของค่า (range) ที่จะเก็บในตัวแปรที่มีชนิดต่างกันจะเก็บได้ต่างกัน  ถ้าช่วงของค่าที่เก็บได้ใหญ่กว่า ก็จะเรียกว่า มี precision สูงกว่า เช่น  Precision ของ floating point > integer  Precision ของ double > float  Precision ของ long > int > short > byte  ยิ่ง precision สูงกว่า ก็จะใช้หน่วยความจาเยอะกว่า Object-Oriented Programming 2/2551 26
  • 27. Precision of numeric data types  ปกติแล้วเราไม่สามารถ assign ค่าที่มี precision สูงกว่าให้ตัวแปรทีมี ่ precision ต่ากว่า เช่น  byte b=5; int i = 8888; Precision สูง  b = i; // compile error !!! double  แต่ i = b; //compile ผ่าน float long int short byte Object-Oriented Programming 2/2551 Precision ต่า 27
  • 28. Type conversion - การแปลงชนิดข้อมูล  การดาเนินการทางคณิตศาสตร์ เช่น X = operand + operand  ถ้า operand ที่มีชนิดข้อมูลเดียวกัน ผลลัพธ์ที่ได้ก็จะได้ชนิดข้อมูลนั้น  ถ้า operand ต่างชนิดข้อมูลกัน จะต้องทาการแปลงให้ operand มีชนิด เดียวกันก่อน จึงจะดาเนินการได้  การแปลงชนิดข้อมูลของจาวา มี 2 แบบ คือ  Implicit type conversion  Explicit type conversion Object-Oriented Programming 2/2551 28
  • 29. Implicit type conversion  Implicit type conversion เป็นการแปลงชนิดข้อมูลที่จาวาทาให้อัตโนมัติ  การแปลงข้อมูลจะแปลงจากชนิดข้อมูลที่มีความสาคัญต่ากว่าเป็น ความสาคัญสูงกว่า เพื่อไม่ให้สูญเสียค่าทีแท้จริงของข้อมูล ่  เช่น int a = 5; short b=10;  a+b-7 จะได้ผลลัพธ์ที่เป็น int คือ 8 • b ถูกแปลงเป็น int, 7 เป็น literal มองเป็น int  ถ้า float a = 5f; int b = 10;  หาค่าและชนิดข้อมูลของผลลัพธ์จาก a+b-7 Object-Oriented Programming 2/2551 29
  • 30. Explicit type conversion หรือ Type Casting  Casting การแปลงข้อมูลที่โปรแกรมเมอร์ต้องระบุชนิดข้อมูลที่ต้องการเอง  Type casting syntax ระบุชนิดข้อมูลที่ตองการแปลงในวงเล็บ ้ (<data type>) <expression>;  ตัวอย่าง short x = (short) 88778; //23242 y = (float) x / 3; k = a + (double) (x + y * z) Object-Oriented Programming 2/2551 30
  • 31. Ex. Integral type demo. What the output is? Object-Oriented Programming 2/2551 31
  • 32. Constant หรือ ค่าคงที่  ค่าคงที่ คือตัวแปรที่เมื่อทาการกาหนดค่าแล้วจะมีค่าเป็นค่านั้นไปตลอด การทางานของโปรแกรม โดยไม่สามารถเปลี่ยนแปลงได้อีก  การประกาศค่าคงที่ ให้ระบุคาว่า final ไว้หน้าชนิดข้อมูล final <data type> <constant_name> = <value>; เช่น final double PI = 3.1416;  ปกตินิยมตั้งชื่อค่าคงที่ด้วยตัวอักษรตัวใหญ่ทั้งหมด Object-Oriented Programming 2/2551 32
  • 33. Constant หรือ ค่าคงที่  ตัวอย่างการประกาศค่าคงที่  Result area = 78.54 Object-Oriented Programming 2/2551 33
  • 34. แบบฝึกหัด  จงเขียนโปรแกรมเพื่อหาว่า 26.5 องศาเซลเซียส เท่ากับกี่องศาฟาเรน ไฮต์ สูตรคือ F = (9/5)*C + 32; Object-Oriented Programming 2/2551 34