แสดงบทความที่มีป้ายกำกับ การเขียนโปรแกรมภาษาจาวา แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ การเขียนโปรแกรมภาษาจาวา แสดงบทความทั้งหมด

วันเสาร์ที่ 26 มีนาคม พ.ศ. 2554

สเตจเม็นต์และโอเปอร์เรเตอร์(Statement & Operator)





การเขียนโปรแกรมภาษาจาวาสเตจเม็นต์และโอเปอร์เรเตอร์(Statement & Operator)

1. สเตจเม็นต์(Statement)
ในซอร์สโค้ดของโปรแกรมแต่ละสเตจเม็นต์ปิดท้ายด้วยเครื่องหมาย ; ดังนั้นโปรแกรมสามารถเขียนสเตจเม็นต์ได้มากกว่าหนึ่งสเตจเม็นต์ในหนึ่งบรรทัดของซอร์สโค้ด หรือสามารถเขียนสเตจเม็นต์โดยมีความยาวมากกว่าหนึ่งบรรทัดก็สามารถทำได้
int i;
System.out.print("Hello");
2. คอมเม็นต์(Comment)
คอมเม็นต์มีหลักและรูปแบบการเขียนอยู่สองวิธี กล่าวคือ
วิธีที่ 1 คอมเม็นต์ส่วนท้ายบรรทัด (สำหรับข้อความยาวไม่เกินหนึ่งบรรทัด)
คอมเม็นต์แบบนี้ใช้กับข้อความที่มีความยาวไม่มากนัก คือสามารถเขียนได้ภายในหนึ่งบรรทัดของซอร์สโค้ด คอมเม็นต์วิธีนี้สามารถเขียนรวมอยู่กับสเตจเม็นต์ในบรรทัดเดียวกันได้
แต่ตัวคอมเม็นต์จำเป็นต้องอยู่ที่ท้ายบรรทัดเท่านั้น
// ข้อความ
วิธีที่ 2 คอมเม็นต์ส่วนข้อความ (สำหรับข้อความยาวหลายบรรทัด) คอมเม็นต์แบบนี้ถูกใช้สำหรับการเขียนข้อความ
ที่มีความยาวมากๆ ซึ่งสามารถเขียนข้อความได้มากกว่าหนึ่งบรรทัด แต่ก็สามารถใช้กับข้อความสั่นๆได้ด้วยเช่นกัน การเขียนคอมเม็นต์ใช้สัญลักษณ์สองส่วน ประกอบด้วยตัวเปิดข้อความ /* และตัวปิดข้อความ */
รูปแบบ
/* ข้อความ
*/
3. ตัวดำเนินการ(Operator)
3.1 ตัวดำเนินการทางคณิตศาสตร์ประเภทการคำนวณ (Arithmetic Operators)
จัดเป็นตัวดำเนินการที่สามารคำนวณผลลัพธ์ทางคณิตศาสตร์ โดยใช้เครื่องหมายทางคณิตศาสตร์
มาเป็นตัวกำหนดวิธีการคำนวณ



ตัวดำเนินการ
ความหมาย
ตัวอย่างการใช้งาน
ผลลัพธ์
+
การบวก
10+5
15
-
การลบ
10-5
5
*
การคูณ
10*5
50
/
การหาร (ได้ผลหาร)
10/5
2
%
การหาร (ได้เศษจากการหาร)
10%5
0

class TriangleArea
{        public static void main(String arg[])
        {       float area;
                int base = Integer.parseInt(arg[0]);
                int height = Integer.parseInt(arg[1]);
                area = 1/2 * base * height;
                System.out.println("Area of Triangle is : " + area);
        }
}
ประเภทการคำนวณและให้ค่า (Arithmetic Assignment Operators)
เป็นตัวดำเนินการที่ใช้สำหรับทำให้เกิดการคำนวณจากข้อมูลในตัวแปร และยังผลให้ผลลัพธ์จากการคำนวณไปเก็บไว้ยังตัวแปรนั้นๆ ดังนั้นตัวดำเนินการประเภทนี้จึงต้องมีตัวแปรมารอรับผลลัพธ์อยู่ด้วย



ตัวดำเนินการ
ความหมาย
ตัวอย่าง
เปรียบได้กับ
ผลลัพธ์(เมื่อ a =10)
+=
การบวกa +=5a = a + 5
15
-=
การลบa -=5a = a - 5
5
*=
การคูณa *=5a = a * 5
50
/=
การหาร (ได้ผลหาร)a /=5a = a / 5
2
%=
การหาร (ได้เศษจากการหาร)a %=5a = a % 5
0
ประเภทการคำนวณเพิ่มค่าและลดค่าข้อมูล (Increment/Decrement Arithmetic Operators)
มีตัวดำเนินการประเภทหนึ่งถูกกำหนดไว้เพื่อจุดประสงค์ในการเพิ่มค่าหนึ่งจำนวน หรือลงค่าหนึ่งจำนวนของข้อมูลภายในตัวแปร หรือใช้สำหรับทำให้ตัวแปรมีคุณลักษณะเป็นตัวนับ (Counter)



ตัวดำเนินการ
ความหมาย
ตัวอย่าง
ผลลัพธ์(เมื่อ a =10)
ผลลัพธ์
หลังคำสั่ง
++Variableเพิ่มค่าหนึ่งค่าก่อนการเข้าถึงSystem.out.print(++a)
11
11
Variable++เพิ่มค่าหนึ่งค่าหลังการเข้าถึงSystem.out.print(a++)
10
11
- -Variableลดค่าหนึ่งค่าก่อนการเข้าถึงSystem.out.print(- -a)
9
9
Variable- -ลดค่าหนึ่งค่าหลังการเข้าถึงSystem.out.print(a- -)
10
9

class IncreasementYourNumber {
       public static void main(String arg[])
       {        int a = Integer.parseInt(arg[0]);              System.out.println("Your Number is " + (a++) + " Increase to " + a );       }}

3.2 ตัวดำเนินการข้อมูลเชิงบิต (Bitwise Operators)ตัวดำเนินการประเภทนี้มีแนวความคิดมาจากการคำนวณข้อมูลที่เก็บในรูปของบิต เพื่อให้ผลลัพธ์ในการคำนวณออกเป็นข้อมูลบิต (บิตเป็นหน่วยที่เล็กที่สุดข้อข้อมูลในคอมพิวเตอร์ บิตทำให้เกิดข้อมูลตัวเลขจำนวนเต็ม[32 บิต] ทำให้เกินข้อมูลตัวอักษร[16 บิต] และอื่นๆ) ส่วนใหญ่แล้วตัวดำเนินการประเภทนี้นิยมใช้กับการคำนวณที่สลับซับซ้อน หรือการคำนวณเชิงคณิตศาสตร์ชั้นสูง



ตัวดำเนินการ
ความหมาย
ตัวอย่าง
ผลลัพธ์ของ a
(เมื่อ a =1101; b = 1001)
~NOT (1 เป็น 0; 0 เป็น 1)~a0010
&ANDa & b1001
|ORa | b1101
<<ขยับบิตทางซ้ายa << 20100
>>ขยับบิตทางขวาa >> 20011
>>>ขยับบิตทางขวา
(สำหรับข้อมูล unsign)
a >>> 2
3.2 ตัวดำเนินการข้อความตรรกะ(Boolean Operators)
ตัวดำเนินการเปรียบเทียบ
ลักษณะของตัวดำเนินการแบบนี้ผลลัพธ์จะได้เป็นข้อมูลทางตรรกะ คือความจริงหรือความเท็จ ดังนั้นจึงนิยมใช้ตัวดำเนินการสำหรับการเปรียบเทียบกันระหว่างข้อมูลสองจำนวน




ตัวดำเนินการ
ความหมาย
ตัวอย่าง
ผลลัพธ์(เมื่อ a =10; b = 15)
==
ค่าเท่ากันหรือไม่a == bFalse (เท็จ)
!=
ค่าไม่เท่ากันหรือไม่a != bTrue (จริง)
>
ค่ามากกว่าหรือไม่a > bFalse (เท็จ)
>=
ค่ามากกว่าหรือเท่ากันหรือไม่a >= bFalse (เท็จ)
<
ค่าน้อยกว่าหรือไม่a < bTrue (จริง)
<=
ค่าน้อยกว่าหรือเท่ากันหรือไม่a <= bTrue (จริง)

class TrueOrFalse{     public static void main(String args[])      {    System.out.println(true);            System.out.println(true==false);                        System.out.println(3.00==3);            System.out.println("a"!="A");
            int a = 120, b = 300;            System.out.println(a > b);            System.out.println(a/b < 0);      }}

ตัวดำเนินการข้อมูลตรรกะเป็นตัวดำเนินการซึ่งถูกใช้สำหรับดำเนินการกับค่าทางตรรกะ ถึงแม้ว่าค่าทางตรรกะจะมีแค่ค่า true กับ false ก็ตาม โปรแกรมสามารถนำค่าเหล่านั้นมาคำนวณได้ ซึ่งผลลัพธ์จากการประมวลผลจะได้เป็นค่าทางตรรกะ



ตัวดำเนินการ
ความหมาย
ตัวอย่าง
ผลลัพธ์(เมื่อ a =10; b = 15)
!
กลับค่าทางตรรกะ!(a == b)true (จริง)
&&
AND ค่าทางตรรกะ(5>=a) && (5<= b)false (เท็จ)
||
OR ค่าทางตรรกะ(15==a) || (15== b)true (จริง)

ที่มาจาก:http://www.itmelody.com/tu/java2.html

ลักษณะโครงสร้าง และรูปแบบการเขียนโปรแกรมภาษาจาวา

ลักษณะโครงสร้าง และรูปแบบการเขียนโปรแกรมภาษาจาวา

1. โครงสร้างของคลาส
โปรแกรมที่สร้างจากภาษาจาวา ต้องสามารถสร้างออปเจ็คหรือคลาสให้ได้อย่างน้อยหนึ่งตัว โดยมีรูปแบบโครงสร้างดังนี้

class Class_Name

{    Data_Member

     Mothod_Member

}
class คือคีย์เวิร์ดสำหรับกำหนดคลาส
Class_Name คือชื่อคลาส
Data_Member ดาต้าในคลาส
Method_Member เมธรอดในคลาส
สัญลักษณ์ { } คือของเขตของคลาส
2. กฎการตั้งชื่อ(Identify)
ใช้ตั้งชื่อคลาส ชื่อดาต้า ชื่อเมธรอด และชื่อตัวแปร
  • ประกอบด้วยตัวอักษร และหรือตัวเลข โดยตัวอักษรให้ใช้ตัวอักษรภาษาอังกฤษไม่ว่าตัวเลขหรือตัวใหญ่ รวมถึงสัญลักษณ์พิเศษ _ หรือ $ เช่น age, name2, int2float, _name, Currency$ เป็นต้น
  • ความยาวตัวอักษรไม่ควรเกิน 65535 ตัวอักษร
  • ไม่ควรมีตัวเลขเป็นตัวแรก เช่น 101database, 2name ถือว่าไม่สามารถใช้ตั้งชื่อได้
  • ตัวอักษรตัวเล็กและตัวใหญ่มีความแตกต่างกัน ดังนั้น Count, count และ CoUnT ทั้งสามตัวอ่านเหมือนกัน แต่ถือว่าเป็นคนละตัวกัน
  • ต้องไม่ตรงกับคีย์เวิร์ดใดในภาษาจาวาดังต่อไปนี้


    abstract double int strictfp ** boolean
    else interface super break extends
    long switch byte final native
    synchronized case finally new this
    catch float package throw char
    for private throws class goto *
    protected transient const * if public
    try continue implements return void
    default import short volatile do
    instanceof static while
    * แสดงคีย์เวิร์ดที่ไม่มีใช้ใน JDK เวอร์ชัน 1.2 ขึ้นไป
    ** แสดงคีย์เวิร์ดที่เพิ่มเข้ามาตั้งแต่ JDK เวอร์ชัน 1.2 ขึ้นไป
    3. ดาต้า(Data Member)
    รูปแบบ
    [Access_Level] [final] [static] Data_Type Data_Name
    ดาต้าคือส่วนประกอบส่วนหนึ่งของคลาส ถูกกำหนดเพื่อใช้สำหรับเก็บข้อมูล เช่นคลาส Pen มีดาต้า Color ไว้เก็บข้อมูลสี
    Access_Level ระดับการเข้าถึง ประกอบด้วยคีย์เวิร์ด 3 ตัวคือ public, private และ protected
    • คีย์เวิร์ด public เป็นระดับการเข้าถึงข้อมูลที่ไม่มีข้อจำกัดใดๆ
    • คีย์เวิร์ด private เป็นระดับการเข้าถึงข้อมูล สำหรับการใช้งานภายในคลาสเท่านั้น
    • คีย์เวิร์ด protected เป็นระดับการเข้าถึงข้อมูลภายในคลาส และสำหรับคลาสที่สืบทอดมา (Inherit) แต่ต้องอยู่ในเพ็กเกจ (package) เดียวกัน
    • ถ้าไม่ระบุคีย์เวิร์ด เป็นระดับการเข้าถึงข้อมูลภายในคลาส และอยู่เพ็กเกจเดียวกัน
    final เป็นคีย์เวิร์ดตัวหนึ่งซึ่งใช้บอกว่าดาต้าตัวนั้นใช้สำหรับเก็บข้อมูล โดยที่ข้อมูลจะไม่สามารถทำการเปลี่ยนแปลงได้ไม่ว่าในกรณีใดๆ ปกติจะใส่คีย์เวิร์ดนี้ไว้เมื่อต้องการให้ดาต้าเก็บข้อมูลที่เป็นข้อมูลที่คงที่ (Constant) ตลอดการทำงานของโปรแกรม
    static เป็นคีย์เวิร์ด สำหรับใช้บอกถึงคุณลักษณะพิเศษในการใช้งาน เมื่อมีการกำหนดให้ดาต้าใดๆนำหน้าด้วยคีย์เวิร์ด static แล้ว ดาต้าตัวนั้นจะมีคุณลักษณะดังนี้ 
    • ดาต้า จะถูกโหลดลงในหน่วยความจำและพร้อมที่จะถูกใช้งานในทันทีเมื่อมีการอ้างถึง ตามข้อกำหนดของระดับการเข้าถึง (Access Level)
    • ดาต้า จะอยู่ในหน่วยความจำเพียงตัวเดียว ไม่ว่าคลาสจะถูกสร้างเพื่อเป็นออปเจ็คกี่ตัวก็ตาม ดังนั้นจึงสามารถใช้ดาต้าเป็นที่เก็บข้อมูลรวมของกลุ่มคลาสเดียวกันได้


    class SimpleClass
    {
    int data1;
    }

    4. เมธรอด(Method Member)
    รูปแบบ
    [Access_Level] [final] [static] Return_Type Method_Name ( Argument_List )
    {     Statement       }
    • Argument_List คือช่องทางสำหรับการผ่านข้อมูลเพื่อส่งให้กับเมธรอดใช้ในการทำงาน 
    • Statement คือคำสั่ง คีย์เวิร์ดควบคุมการทำงาน เอ็กเพลสชั่นใดๆ เพื่อกำหนดหลักการและวิธีการประมวลผลภายในเมธรอด
    • สัญลักษณ์ { และ } เป็นเครื่องหมายบ่งบองขอบเขตของเมธรอด


    class SimpleClass
    { void method1()
    {           }
                                                                      }

    ที่มาจาก:http://www.itmelody.com/tu/java2.html