SlideShare a Scribd company logo
1 of 28
Download to read offline
โครงสร้างภาษาจาวา
▪ 1.โครงสร้างภาษาจาวา
▪ public class ชื่อคลาส
▪ {
▪ public static void main(String[] agrs)
▪ {
▪ ประโยคคาสั่งต่าง ๆ ของโปรแกรม;
▪ …………………………………………..;
▪ }
▪ }
โครงสร้างภาษาจาวา (ต่อ)
▪ ตัวอย่างโปรแกรมภาษาจาวา
▪ ไฟล์ Example.java
▪ class Example
▪ {
▪ public static void main(String[] args)
▪ {
▪ String dataname = “Java Language“;
▪ System.out.println(“My name is OAK“);
▪ System.out.println(“OAK is a “ + dataname +“. “);
▪ }
▪ }
โครงสร้างภาษาจาวา (ต่อ)
▪ หมายเหตุ
▪ Compile : javac Example.java จะได้ไฟล์ Example.class
▪ Run : java Example
▪ Output : My name is OAK
▪ OAK is a Java Language
▪ คาอธิบาย
▪ – method main( ) จะเป็น method หลักที่ใช้ในการ run program ดังนั้นการกระทาต่าง
ๆ ที่ต้องการให้เกิดขึ้น ในการ run program จะต้องทาการเขียนคาสั่งไว้ใน method นี้
▪ – การแสดงผลทางจอภาพ (Console Output) ใช้ method ชื่อ “println” ซึ่งอยู่ใน
System.out คาสั่งนี้จะรับข้อมูลที่เป็น String เพื่อนามาแสดงผลทางจอภาพ
เมธอดแสดงผลทางจอภาพพื้นฐาน
▪ ในตัวอย่างต่อไปนี้ จะเป็นตัวอย่างการใช้ method print และ println โดย method print จะแสดงผล
method ต่อไปจะยังอยู่ในบรรทัดเดิม และ method println จะทาให้การแสดงผลใน method ต่อไปแสดงผล
ขึ้นบรรทัดใหม่
-ตัวอย่าง example1.java
public class example1 {
public static void main(String[] args) {
System.out.println(“Hello World.”);
System.out.print(“Hello World. “);
System.out.print(“My”);
System.out.print(” name”);
System.out.print(” is”);
System.out.print(” JAVA.”);
}
}
-เมื่อรันโปรแกรมจะได้ output ของโปรแกรมดังนี้
ชนิดของข้อมูลตัวแปรและค่าคงที่
ชนิดของข้อมูล ตัวแปรและค่าคงที่
ค่าคงตัว (literal) คือข้อมูลที่เราป้อนให้กับคอมพิวเตอร์ เพื่อให้คอมพิวเตอร์นาไปใช้ในการคานวณ
ตามที่เราต้องการ ค่าคงตัวในภาษาจาวามี 5 ชนิดหลักๆ ได้แก่
1.ค่าคงตัวจานวนเต็ม(integer)
ค่าคงตัวจานวนเต็มในภาษาจาวามี 2 แบบคือ
1.1ค่าคงตัวจานวนเต็มปกติ
รูปแบบการเขียน ใช้ตัวเลขจานวนเต็มธรรมดา ค่าคงตัวชนิดนี้เป็นได้ทั้งค่า บวก และ ลบ และมีค่า
ได้ระหว่าง -214783648 ถึง + 214783647
1.2ค่าคงตัวจานวนเต็มแบบยาว(long integer)
ค่าคงตัวจานวนเต็มแบบยาวมีค่าได้ระหว่าง -223372036854775808 ถึง
9223372036854775807 การเขียนค่าคงตัวจานวนเต็มแบบยาว ใช้ L หรือ l ต่อท้าย
ชนิดของข้อมูลตัวแปรและค่าคงที่ (ต่อ)
2.ค่าคงตัวทศนิยม(floating-point) ค่าคงตัวทศนิยมในภาษาจาวามี 2 แบบคือ
-ค่าคงตัวทศนิยมปกติ(floating-point)
-ค่าคงตัวทศนิยมแบบยาว(double)
ตัวเลขทศนิยมต้องมีจุดเสมอ แม้ว่าทศนิยมตัวนั้นจะมีค่าเท่ากับจานวนเต็ม เช่น 5
ต้องเขียนว่า 5.0 เพราะจาวาจะใช้ จุด ในการแยกแยะระหว่างทศนิยมกับจานวน
เต็ม การเขียนเลขทศนิยมปกติจะใช้ F หรือ f ต่อท้าย ส่วนการเขียนค่าคงตัว
ทศนิยมแบบยาวจะใช้ D หรือ d ตามหลัง โดยค่าคงตัวชนิดนี้จะมีค่าตั้งแต่ -4.0
x 10-324 ถึง 1.7 x 10308 เรายังสามารถเขียนค่าคงตัวทศนิยมในรูปแบบ
ของเลขยกกาลัง(exponential) ได้โดยใช้สัญลักษณ์ e เช่น 1.7e308 หมายถึง
1.7 x 10308
ชนิดของข้อมูลตัวแปรและค่าคงที่ (ต่อ)
3.ค่าคงตัวตรรก (logical literal)
ค่าคงตัวตรรก คือค่าความจริงทางตรรกศาสตร์ ซึ่งเป็นไปได้ 2 กรณีเท่านั้นคือ true และ false
โดยทั้งสองคาต้องเขียนด้วยตัวพิมพ์เล็กเท่านั้น
4.ค่าคงตัวตัวอักษร(character)
ค่าคงตัวตัวอักษร ได้แก่ ตัวอักษร , ตัวเลข , เครื่องหมาย , และสัญลักษณ์ต่างๆ เราใช้
เครื่องหมายคาพูดเดี่ยว ‘ (single quote) ล้อมตัวอักษรนั้นเวลาเขียน เช่น ‘a’ , ‘A’ , ‘0’ ,
‘$’ เป็นต้น
ชนิดของข้อมูลตัวแปรและค่าคงที่ (ต่อ)
ชนิดของข้อมูล (Data Type)
ชนิดข้อมูลในภาษาจาวาแบ่งเป็นสองประเภทใหญ่ๆ คือ
1.ชนิดข้อมูลแบบพื้นฐาน (primitive data type)หมายถึงชนิดข้อมูลที่สามารถเก็บข้อมูลที่เป็น
ข้อมูลทั่วไปหรือข้อมูลพื้นฐาน มีทั้งหมด 8 ตัว ได้แก่ boolean, char, byte, short, int, long,
float,double
2.ชนิดข้อมูลแบบอ้างอิง (reference data type)มีความแตกต่างกับชนิดข้อมูลพื้นฐาน ที่ว่าชนิด
ข้อมูลชนิดนี้อยู่ในรูปแบบหนึ่ง ซึ่งการเข้าถึง(ใช้งาน)ข้อมูลเป็นการอ้างถึง มากกว่าการเข้าถึงข้อมูล
โดยตรง เก็บข้อมูลไว้ 2 ส่วน คือ
– Execution Stack เก็บค่าอ้างอิงที่ชี้ไปยัง Heap memory
– Heap Memory เก็บข้อมูลที่เรียกว่าออปเจ็ค ที่สร้างขึ้นมาจากคลาส
ตัวดาเนินการทางคณิตศาสตร์
4.ตัวดาเนินการทางคณิตศาสตร์
ในการเขียนโปรแกรมทุกๆ โปรแกรม ต้องมีการคานวนเข้ามาเกี่ยวข้องด้วยเสมอ
แล้วสิ่งที่ใช้คานวนนั้นก็คือตัวดาเนินการทางคณิตศาสตร์ที่เรารู้จักกันนั่นเอง ตัว
ดาเนินการทางคณิตศาสตร์ในภาษา PHP ก็เหมือนกับภาษาอื่นๆ สาหรับท่านที่
เขียนโปรแกรมได้แล้ว อาจจะข้ามตรงนี้ไปเลยก็ได้ครับ เพราะเหมือนเอาของเก่ามา
เล่าใหม่ เล่ากี่ที กี่ที มันก็ไม่ต่างไปจากเดิมเท่าไหร่หรอกครับ แต่สาหรับท่านที่กาลัง
เริ่มเขียนโปรแกรมแล้ว จุดนี้ ถือเป็นสิ่งที่ต้องรู้และต้องเข้าใจด้วย ไม่เช่นนั้นแล้ว
อาจจะเขียนโปรแกรมเพื่อที่จะใช้งานจริงๆ ไม่ได้เลย
ตัวดาเนินการกาหนดค่า
การกาหนดค่าให้ตัวแปร ใช้เครื่องหมาย = (เท่ากับ) ในการกาหนดค่า วิธีการจา
ง่ายๆ ก็คือ สิ่งที่ทาด้านขวา (เช่นการคานวน หรือ ข้อความ) จะถูกส่งไปยังด้านซ้าย
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ตัวดาเนินการเชิงคณิตศาสตร์
▪ เป็นเครื่องหมายทางคณิตศาสตร์ทั่วๆ ไป ที่เราคุ้นเคยกันดีอยู่แล้ว คือ บวก (+) ลบ (-) คูณ (*)
หาร (/) แต่จะมีตัวพิเศษเพิ่มขึ้นมาอีกตัวหนึ่งคือ หารเอาเศษ (%) ลองดูตัวอย่างกันครับ
▪ $a + $b - $a บวก $b
▪ $a – $b - $a ลบ $b
▪ $a * $b - $a คูณ $b
▪ $a / $b - $a หาร $b
▪ $a % $b - $a หาร $b แต่เอาเศษ
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ <?php
▪ $a = 5;
▪ $b = 2;
▪ $a + $b; // ผลลัพธ์ 7
▪ $a - $b; // ผลลัพธ์ 3
▪ $a * $b; // ผลลัพธ์
10
▪ $a / $b; // ผลลัพธ์ 2
▪ $a % $b; // ผลลัพธ์ 1
▪ ?>
-ตรง $a / $b นั้น เป็นแค่ทางทฤษฎี แต่ในภาษา PHP
นั้น เนื่องจากการประกาศตัวแปรไม่มีการบอกว่าเป็น
ชนิดไหน
จึงทาให้ผลลัพธ์จากการหารนั้น เป็นจานวนทศนิยมไป
ด้วย
สาหรับการหารเอาเศษ ข้อสังเกตง่ายๆ ว่าผลลัพธ์ถูก
หรือไม่คือ ค่าที่ได้ จะเป็นเลขตั้งแต่ 0 ไปจนถึงตัวหาร
ลบด้วย 1
เช่น หารด้วย 8 เศษที่ได้จะมีตั้งแต่ 0 จนถึง 7 เท่านั้น
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ตัวดาเนินการ
ทางคณิตศาสตร์
สามารถคานวน
และกาหนดค่า
ให้ตัวแปรได้เลย
โปรแกรมจะทา
การคานวน
ผลลัพธ์ให้เสร็จ
เสียก่อน แล้วจึง
กาหนดค่าให้กับ
ตัวแปรนั้นๆ ลอง
ดูตัวอย่างกัน
ครับ
1.<?php
2. $a = 5;
3. $b = 2;
4. $c = 3 + 4; // ทาการคานวน 3 + 4 ก่อน และค่อย
กาหนดค่าให้ $c
5. $d = $a + $b; // ทาการคานวนก่อนเช่นกัน
6.
7. $a = $a + 5; // นาค่าในตัวแปร $a ไปบวกกับ 5 และ
กาหนดค่าที่ได้ให้ตัวแปร $a
8. $b = $b + $c; // นาค่าในตัวแปร $b ไปบวกกับค่าของ
$c และกาหนดค่าที่ได้ให้ตัวแปร 9. $b
10. ?>
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ จากตัวอย่าง จะเห็นว่า เราสามารถทาการคานวน
และกาหนดค่าได้ในครั้งเดียว ลองสังเกตุตรงที่ การ
นาตัวแปรไปคานวน และกาหนดค่าให้ตัวมันเอง
เราสามารถเขียนย่อลงได้ เพื่อให้โปรแกรมสั้นลง
และทางานได้เร็วขึ้น ดังนี้
▪ $a = $a + $b;
▪ $a += $b;
▪ $a = $a – $b;
▪ $a -= $b;
▪ $a = $a * $b;
▪ $a *= $b;
▪ $a = $a / $b;
▪ $a /= $b;
▪ $a = $a % $b;
▪ $a %= $b;
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ทั้งสองแบบ ได้ผลลัพท์ที่เหมือนกัน
เขียนโปรแกรมใหม่ๆ อาจจะ งง
กันพอสมควร แต่ถ้าทาไปนานๆ
แล้วจะคล่องเอง อันนี้ก็ต้อง
พยายามกันเยอะๆ หน่อยนะครับ
ที่สาคัญ การเขียนแบบย่อ
โปรแกรมจะทางานได้เร็วกว่าครับ
เพราะทาการ get operand 1
ครั้ง get operator 2 ครั้ง แต่ถ้า
หากเขียนแบบเต็มจะ get
operand 2 ครั้ง get operator 3
ครั้ง ไว้เรามาเขียนโปรแกรมหา
ความแตกต่างในโอกาสต่อไปนะ
ครับ (แน่นอน ต้องภาษา C เท่านั้น
▪ การคานวนต้องคานึงถึงระดับ
ความสาคัญของเครื่องหมาย เพื่ออะไร?
งั้นลองดูตัวอย่างกันเลย
▪ <?php
▪ echo 2 + 3 * 5;
▪ ?>
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ตัวเพิ่มค่า (Increment) ลดค่า (Decrement)
▪ ตัวเพิ่มค่า เขียนโดยใช้เครื่องหมาย บวกสองตัวต่อกัน (++) ใช้สาหรับเพิ่มค่าตัวแปรทีละ 1 ส่วนตัวลดค่า เขียนโดย
ใช้เครื่องหมายลบสองตัวต่อกัน (–) ใช้สาหรับลดค่าตัวแปรทีละ 1
▪ <?php
▪ // ตัวอย่างการเพิ่มค่าทีละ 1
▪ $a = 1;
▪ $a = $a + 1;
▪ $a += 1;
▪ // สามารถใช้คาสั่งเพิ่มค่าได้ดังนี้
▪ $a++;
▪ ?>
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ใน CPU ทุกตัว จะมีคาสั่ง ADD และ INC อยู่ด้วย ซึ่งคาสั่ง INC จะใช้ CPU Time น้อยกว่าคาสั่ง ADD
อยู่แล้ว
▪ สมมุติ... ใน CPU แบบ CISC (ตระกูล X86) แต่ละคาสั่ง จะใช้ CPU Time (Clock Cycle) ไม่เท่ากัน
▪ ให้ INC = 1 clock ADD = 2 clock ถ้ามีการวนลูปสัก 1 ล้านรอบ ก็มีความต่างกันถึง 1 ล้าน Clock
▪ ตัวเพิ่มค่า ละลดค่า สามารถเขียนได้ 2 ตาแหน่งคือ หน้าตัวแปร และ หลังตัวแปร
▪ ++$a , $a++ เพิ่มค่าทีละ 1
▪ –$a, $a– ลดค่าทีละ 1
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ถ้าหากเราวางเครื่องหมายไว้หน้าตัวแปร ก็จะทาการเพิ่มตัวแปรนั้นก่อน จึงจะทาคาสั่งอื่นๆ ที่อยู่ในบรรทัด
นั้น แต่ถ้าหากวางเครื่องหมายไว้หลังตัวแปร จะทาคาสั่งอื่นๆ ให้หมดก่อน ลองดูตัวอย่างตามนี้นะครับ
▪ <?php
▪ $a = 1;
▪ echo $a++; // ผลลัพท์ 1 เนื่องจากทาคาสั่ง echo ก่อน จึงทาการเพิ่มค่า
▪ $a = 1;
▪ echo ++$a; // ผลลัพท์ 2 เนื่องจากทาการเพิ่มค่าก่อน แล้วจึงทาคาสั่ง echo
▪ $a = 1;
▪ echo 1 + $a++; // ผลลัพท์ 2 เนื่องจากทาการบวก 1 และ echo ก่อนจึงทาการเพิ่มค่า
▪ $a = 1;
▪ echo 1 + ++$a; // ผลลัพท์ 3 เนื่องจากทาการเพิ่มค่าก่อน และบวก 1 แล้วจึงทาคาสั่ง echo
▪ ?>
▪ จะเห็นว่า การวางเครื่องหมายด้านหน้า หรือด้านหลัง ให้ผลลัพท์ที่แตกต่างกันอย่างมาก หลายๆ ท่านที่ผม
เคยคุยด้วย ก็เคยตกม้าตายเพราะตาแหน่งของเครื่องหมาย ดังนั้นก็ให้ระมัดระวังในการเขียน
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ ตัวเชื่อมข้อความ
▪ ในภาษา PHP การกาหนดตัวแปรเป็นข้อความ (String) สามารถทาได้ 2 แบบคือใช้เครื่องหมาย Singe Quote
(‘) หรือ Double Quote (“) ถ้าต้องการนาข้อความหลายๆ ข้อความมาต่อกัน สามารถใช้เครื่องหมายจุด (.)
เพื่อทาให้ตัวแปรเชื่อมต่อกัน หรือจะใช้เครื่องหมายจุด เพื่อเชื่อมข้อความกับตัวแปรก็ได้ ลองดูตัวอย่าง
▪ <?php
▪ $a = "Hello" . "World";
▪ $b = "Hello";
▪ $b = $b . "World";
▪ $c = "http:/www.cmdevhub.com";
▪ $c.= "โปรแกรมที่ไม่มีบักคือโปรแกรมที่ยังไม่ได้เขียน"; // ท่องเอาไว้ครับ อิอิ
▪ $total = 100;
▪ echo "Total Price = " . $total;
▪ ?>
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
ตัวเปรียบเทียบ
ตัวเปรียบเทียบในทุกๆ ภาษา จะเปรียบเทียบตัวซ้าย เทียบกับตัวขวา และได้ผลลัพท์เป็น จริง (true) หรือ เท็จ (false) เท่านั้น
ในภาษา PHP ก็มีวิธีการเปรียบเทียบเหมือนกับภาษาอื่นๆ เหมือนกัน ผลลัพท์ที่ได้ก็มีแต่ จริง และ เท็จ เท่านั้น เหมือนกัน ตัว
เปรียบเทียบ จะใช้ในการกาหนดทิศทางของโปรแกรม
$a < $b น้อยกว่า
คืนค่าเป็นจริง ถ้า $a น้อยกว่า $b $a > $b
มากกว่า คืนค่าเป็นจริง ถ้า $a มากกว่ากว่า $b
$a <= $b น้อยกว่า หรือ เท่ากับ
คืนค่าเป็นจริง ถ้า $a น้อยกว่า หรือ เท่ากับ $b
$a >= $b มากกว่า หรือ เท่ากับ
คืนค่าเป็นจริง ถ้า $a มากกว่า หรือ เท่ากับ $b
$a == $b เท่ากับ
คืนค่าเป็นจริง ถ้า $a เท่ากับ $b
$a != $b ไม่เท่ากับ
คืนค่าเป็นจริง ถ้า $a ไม่เท่ากับ $b
$a === $b เท่ากับทั้งหมด
คืนค่าเป็นจริง ถ้า $a เท่ากับ $b และ ต้องเป็นชนิดข้อมูลเดียวกัน
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
▪ <?php
▪ $a = 1;
▪ $b = 2;
▪ $c = "1";
▪ $a < $b; // true
▪ $a > $b; // false
▪ $a <= $b; // true
▪ $a <= $c; // true
▪ $a >= $b; // true
▪ $a >= $c; // true
▪ $a == $b; // false
▪ $a == $c; // true
▪ $a === $b; // false
▪ $a === $c; // false
▪ ?>
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
ตัวดาเนินการทางตรรกศาสตร์
ในการเปรียบเทียบค่า เราสามารถเปรียบเทียบได้หลายๆ ค่า
พร้อมกัน โดยใช้ตัวเปรียบเทียบทางตรรกศาสตร์มาช่วยหา
คาตอบสุดท้ายของการเปรียบเทียบ ตัวเปรียบเทียบ จะมีเพียง 4
ตัวคือ and , or , not , xor
and หรือ &&
ได้ค่าจริง เมื่อเป็นจริงทั้งหมด
or หรือ ||
ได้ค่าเท็จ เมื่อเป็นเท็จทั้งหมด
not หรือ !
กลับค่า จากจริงเป็นเท็จ และ เท็จเป็นจริง
xor
ตัวเปรียบเทียบ เหมือนกัน ได้ค่าเท็จ ต่างกันได้จริง
ตัวดาเนินการทางคณิตศาสตร์ (ต่อ)
ถ้าเขียนเป็นตาราง จะได้ค่าตามนี้ (ผมให้ 0 = false และ 1 = true)
$a
$b
$a && $b
$a || $b
$a xor $b
!$a
and เป็นจริงเมื่อเป็นจริงทั้งหมด นอกนั้นเป็นเท็จ
or เป็นเท็จเมื่อเป็นเท็จทั้งหมด นอกนั้นเป็นจริง
xor เหมือนกันเป็นเท็จ ต่างกันเป็นจริง
not จริงเป็นเท็จ เท็จเป็นจริง
คลาสตริง
การสร้าง String
String เป็น Class หนึ่งใน Package ของภาษาจาวาชื่อ java.lang ทาหน้าที่ใน การเก็บข้อมูลที่เป็น “ชุดของ
ตัวอักษร” ซึ่งปกติชนิดของข้อมูลของภาษาจาวาก็มี ชนิดเป็น character แต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น
ดังนั้นจึงลาบากในการ นามาใช้กับข้อมูลที่มากกว่า 1 ตัวอักษร หรือที่เรียกว่า “String” ดังนั้น ภาษาจาวา
จึงได้สร้าง Class สาเร็จรูปมาให้สามารถเรียกใช้ได้ทันที เรียกว่า “String” ทั้งหมดคือที่มาของคาว่า String Class
การสร้าง Object เพื่อใช้กับ String ได้ 6 รูปแบบคือ
รูปแบบที่ 1
String ชื่อObject = new String(ข้อความ);
ตัวอย่างการใช้งาน
String message = new String (“Welcome to Java”);
คาอธิบาย
message เป็น String Object
“Welcome to Java” เป็นข้อความที่เก็บใน String Object ชื่อ “message”
คลาสตริง (ต่อ)
รูปแบบที่ 2
String ชื่อObject = ข้อความ;
ตัวอย่างการใช้งาน
String message = “Welcome to
Java”;
รูปแบบที่ 3
String (char chars[]);
เป็นการสร้าง String ที่นา Array ชื่อ
Chars มาเป็นข้อมูลใน String
ตัวอย่างการใช้งาน
char chars[]={‘a’, ’b’, ’c’};
String message = new String(chars);
ผลที่ได้ก็คือ message จะเก็บค่า abc
รูปแบบที่ 4
String (char chars[], int startIndex, int numChars);
เป็นการเก็บข้อมูลเพียงบางส่วนของ Array ไว้ใน String
โดยที่
- startIndex คือกาหนดตาแหน่งเริ่มต้นใน array ที่
ต้องการเก็บ
- numChars คือกาหนดจานวนตัวอักษรที่ต้องการเก็บ
โดยนับจาก ตาแหน่งที่ระบุใน startIndex
ตัวอย่างการใช้งาน
char chars[]={‘a’, ’b’, ’c’, ‘d’, ‘e’, ‘f’};
String message = new String(chars, 2, 3);
ผลที่ได้ก็คือ message จะเก็บค่า cde
คลาสตริง (ต่อ)รูปแบบที่ 5
String (ชื่อStringเดิม);
เป็นการสร้าง String ใหม่โดยใช้โครงสร้างของ String เดิม
ผลที่ได้ก็คือ String ใหม่จะมีข้อมูลเดียวกับ String เดิมที่ใช้
เป็นต้นแบบใน การสร้าง
ตัวอย่างการใช้งาน
char c[]={‘j’, ’a’, ’v’, ‘a’};
String message = new String(c);
ผลที่ได้ก็คือ message เก็บค่า java
รูปแบบที่ 6
เป็นการเก็บ Array ของรหัส ASCII ไว้ใน String
- String (byte asciiChars[]);
ตัวอย่างการใช้งาน
byte ascii[]={65,66,67,68,69,70};
String message = new String(ascii);
ผลที่ได้ก็คือ message จะเก็บค่า ABCDEF
- String (byte asciiChars[], int startIndex, int
numChars);
เป็นการเก็บข้อมูลเพียงบางส่วนของ Array ไว้ใน
String โดยที่
startIndex คือกาหนดตาแหน่งเริ่มต้นใน array
ที่ต้องการเก็บ
numChars คือกาหนดจานวนตัวอักษรที่ต้องการ
เก็บโดยนับจาก ตาแหน่งที่ระบุใน startIndex
ตัวอย่างการใช้งาน
byte ascii[]={65,66,67,68,69,70};
String message = new String(ascii, 2, 3);
ผลที่ได้ก็คือ message จะเก็บค่า CDE
เมธอดรับข้อมูลพื้นฐาน
การรับข้อมูลทางคีย์บอร์ดในภาษาจาวา
จะต้องสร้างออบเจ็กต์ของคลาส Scanner
ขึ้นมาโดยจะต้องประกาศตัวแปรออบเจ็กต์
ก่อน เช่น
Scanner keyboard;
ประกาศตัวแปรออบเจ็กต์ชื่อ keyboard
อยู่ในคลาส Scanner จากนั้นต้องสร้าง
ออบเจ็กต์มาโดยใช้คีย์เวิร์ด new มีรูปแบบ
ดังนี้
ตัวแปรออบเจ็กต์ = new ชื่อคลาส
(อาร์กิวเมนต์);
ดังนั้นถ้าจะให้ตัวแปร keyboard รับค่าทาง
แป้นพิมพ์จะต้องสร้างออบเจ็กต์ขึ้นมาโดย
ให้มีอาร์กิวเมนต์เป็น System.in ดังนี้
keyboard = new Scanner(System.in);
ในคลาส Scanner นั้นมีเมธอดสาหรับอ่านข้อมูลประเภทต่างๆ
หลายประเภทดังนี้
เมธอด - การทางาน
nextByte() - รับข้อมูลเลขจานวนเต็มชนิด Byte ทางแป้นพิมพ์
nextDouble() - รับข้อมูลเลขทศนิยมชนิด Double ทาง
แป้นพิมพ์
nextFloat() - รับข้อมูลเลขทศนิยมชนิด Float ทางแป้นพิมพ์
nextInt() - รับข้อมูลเลขจานวนเต็มชนิด Int ทางแป้นพิมพ์
nextLine() - รับข้อมูลแบบสตริงทางแป้นพิมพ์
nextLong() - รับข้อมูลตัวเลขชนิด Long ทางแป้นพิมพ์
nextShort() - รับข้อมูลตัวเลขชนิด Short ทางแป้นพิมพ์
ผู้จัดทา
1. นางสาววรกานต์ วิเชนสวัสดิ์ เลขที่ 19 ชั้น ม.6/2
2. นางสาวกานต์สินี สังเมียน เลขที่ 23 ชั้น ม.6/2
3. นางสาวสุวลักษณ์ พุทธมนต์ เลขที่ 26 ชั้น ม.6/2
4. นางสาวบุษกร เรืองโรจน์ เลขที่ 28 ชั้น ม.6/2
5. นางสาวกันยา เปล่งคา เลขที่ 29 ชั้น ม.6/2

More Related Content

What's hot

Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Thanachart Numnonda
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานNookky Anapat
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเทวัญ ภูพานทอง
 
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2Tay Atcharawan
 
ตัวแปร การกำหนดค่าและชนิดข้อมูล
ตัวแปร การกำหนดค่าและชนิดข้อมูลตัวแปร การกำหนดค่าและชนิดข้อมูล
ตัวแปร การกำหนดค่าและชนิดข้อมูลKornnicha Wonglai
 
Introduction to XML.
Introduction to XML.Introduction to XML.
Introduction to XML.Aey Unthika
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานJa Phenpitcha
 
การสร้างตัวแปรใน javascript
การสร้างตัวแปรใน javascriptการสร้างตัวแปรใน javascript
การสร้างตัวแปรใน javascriptOk Nakhon Asingilo
 
คลาสและโปรแกรม
คลาสและโปรแกรมคลาสและโปรแกรม
คลาสและโปรแกรมN'Name Phuthiphong
 
Java Programming [11/12] : Input and Output Classes
Java Programming [11/12] : Input and Output ClassesJava Programming [11/12] : Input and Output Classes
Java Programming [11/12] : Input and Output ClassesIMC Institute
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 
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
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรKomkai Pawuttanon
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : ThreadIMC Institute
 

What's hot (20)

Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
Java Programming: การเขียนโปรแกรมภาษาจาวาเชิงอ็อบเจกต์
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
 
Dw ch05 basic_php
Dw ch05 basic_phpDw ch05 basic_php
Dw ch05 basic_php
 
C slide
C slideC slide
C slide
 
ภาษา C#
ภาษา C#ภาษา C#
ภาษา C#
 
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2การเขียนคำสังควบคุมขั้นพื้นฐาน 2
การเขียนคำสังควบคุมขั้นพื้นฐาน 2
 
Intro c
Intro cIntro c
Intro c
 
ตัวแปร การกำหนดค่าและชนิดข้อมูล
ตัวแปร การกำหนดค่าและชนิดข้อมูลตัวแปร การกำหนดค่าและชนิดข้อมูล
ตัวแปร การกำหนดค่าและชนิดข้อมูล
 
Introduction to XML.
Introduction to XML.Introduction to XML.
Introduction to XML.
 
power point.
power point.power point.
power point.
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
การสร้างตัวแปรใน javascript
การสร้างตัวแปรใน javascriptการสร้างตัวแปรใน javascript
การสร้างตัวแปรใน javascript
 
คลาสและโปรแกรม
คลาสและโปรแกรมคลาสและโปรแกรม
คลาสและโปรแกรม
 
Java Programming [11/12] : Input and Output Classes
Java Programming [11/12] : Input and Output ClassesJava Programming [11/12] : Input and Output Classes
Java Programming [11/12] : Input and Output Classes
 
บทที่ 6
บทที่ 6บทที่ 6
บทที่ 6
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
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
 
บทที่ 2 ตัวแปร
บทที่ 2 ตัวแปรบทที่ 2 ตัวแปร
บทที่ 2 ตัวแปร
 
Java Programming [12/12] : Thread
Java Programming [12/12] : ThreadJava Programming [12/12] : Thread
Java Programming [12/12] : Thread
 

Similar to บทที่ 2 พื้นฐานภาษาจาวา

รายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.comรายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.comKnow Mastikate
 
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
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอchupong roddee
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซีmansuang1978
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาJK133
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]Khon Kaen University
 
Chapter 1 : ทบทวนภาษาจาวา
Chapter 1 : ทบทวนภาษาจาวาChapter 1 : ทบทวนภาษาจาวา
Chapter 1 : ทบทวนภาษาจาวาAkkradet Keawyoo
 
การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถามkruthanyaporn
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นDararat Worasut
 
KMUTNB - Internet Programming 7/7
KMUTNB - Internet Programming 7/7KMUTNB - Internet Programming 7/7
KMUTNB - Internet Programming 7/7phuphax
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05Jenchoke Tachagomain
 

Similar to บทที่ 2 พื้นฐานภาษาจาวา (20)

รายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.comรายงาน PHP - Know2pro.com
รายงาน PHP - Know2pro.com
 
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
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอ
 
Pbl2
Pbl2Pbl2
Pbl2
 
Lab Computer Programming 1
Lab Computer Programming 1Lab Computer Programming 1
Lab Computer Programming 1
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
ค่าตัวแปรและตัวดำเนินการ [Web-Programming]
 
Chapter 1 : ทบทวนภาษาจาวา
Chapter 1 : ทบทวนภาษาจาวาChapter 1 : ทบทวนภาษาจาวา
Chapter 1 : ทบทวนภาษาจาวา
 
Php week 2
Php week 2Php week 2
Php week 2
 
การสร้างแบบสอบถาม
 การสร้างแบบสอบถาม การสร้างแบบสอบถาม
การสร้างแบบสอบถาม
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
Php mysql
Php mysqlPhp mysql
Php mysql
 
Basic
BasicBasic
Basic
 
Work
WorkWork
Work
 
งาน
งานงาน
งาน
 
KMUTNB - Internet Programming 7/7
KMUTNB - Internet Programming 7/7KMUTNB - Internet Programming 7/7
KMUTNB - Internet Programming 7/7
 
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
การพัฒนาเอกสารออนไลน์ขั้นสูง Lect 05
 

More from Kukkik Kanya

ตัวแปรชุด
ตัวแปรชุดตัวแปรชุด
ตัวแปรชุดKukkik Kanya
 
ชื่อโครงการ
ชื่อโครงการ ชื่อโครงการ
ชื่อโครงการ Kukkik Kanya
 
ปัญหารการศึกษา
ปัญหารการศึกษาปัญหารการศึกษา
ปัญหารการศึกษาKukkik Kanya
 
ข่าวไอที
ข่าวไอทีข่าวไอที
ข่าวไอทีKukkik Kanya
 
บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์
บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์
บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์Kukkik Kanya
 
ข่าว It-บุษกร-28
ข่าว It-บุษกร-28ข่าว It-บุษกร-28
ข่าว It-บุษกร-28Kukkik Kanya
 
เฉลยกลโกง Analogfilm
เฉลยกลโกง Analogfilmเฉลยกลโกง Analogfilm
เฉลยกลโกง AnalogfilmKukkik Kanya
 
แบบสำรวจการชื่นชอบดอกไม้
แบบสำรวจการชื่นชอบดอกไม้แบบสำรวจการชื่นชอบดอกไม้
แบบสำรวจการชื่นชอบดอกไม้Kukkik Kanya
 

More from Kukkik Kanya (11)

ตัวแปรชุด
ตัวแปรชุดตัวแปรชุด
ตัวแปรชุด
 
ชื่อโครงการ
ชื่อโครงการ ชื่อโครงการ
ชื่อโครงการ
 
IT New
IT NewIT New
IT New
 
IT New
IT NewIT New
IT New
 
IT New
IT NewIT New
IT New
 
ปัญหารการศึกษา
ปัญหารการศึกษาปัญหารการศึกษา
ปัญหารการศึกษา
 
ข่าวไอที
ข่าวไอทีข่าวไอที
ข่าวไอที
 
บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์
บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์
บทที่ 1 ระบบการสื่อสารข้อมูลเครือข่ายคอมพิวเตอร์
 
ข่าว It-บุษกร-28
ข่าว It-บุษกร-28ข่าว It-บุษกร-28
ข่าว It-บุษกร-28
 
เฉลยกลโกง Analogfilm
เฉลยกลโกง Analogfilmเฉลยกลโกง Analogfilm
เฉลยกลโกง Analogfilm
 
แบบสำรวจการชื่นชอบดอกไม้
แบบสำรวจการชื่นชอบดอกไม้แบบสำรวจการชื่นชอบดอกไม้
แบบสำรวจการชื่นชอบดอกไม้
 

บทที่ 2 พื้นฐานภาษาจาวา

  • 1.
  • 2. โครงสร้างภาษาจาวา ▪ 1.โครงสร้างภาษาจาวา ▪ public class ชื่อคลาส ▪ { ▪ public static void main(String[] agrs) ▪ { ▪ ประโยคคาสั่งต่าง ๆ ของโปรแกรม; ▪ …………………………………………..; ▪ } ▪ }
  • 3. โครงสร้างภาษาจาวา (ต่อ) ▪ ตัวอย่างโปรแกรมภาษาจาวา ▪ ไฟล์ Example.java ▪ class Example ▪ { ▪ public static void main(String[] args) ▪ { ▪ String dataname = “Java Language“; ▪ System.out.println(“My name is OAK“); ▪ System.out.println(“OAK is a “ + dataname +“. “); ▪ } ▪ }
  • 4. โครงสร้างภาษาจาวา (ต่อ) ▪ หมายเหตุ ▪ Compile : javac Example.java จะได้ไฟล์ Example.class ▪ Run : java Example ▪ Output : My name is OAK ▪ OAK is a Java Language ▪ คาอธิบาย ▪ – method main( ) จะเป็น method หลักที่ใช้ในการ run program ดังนั้นการกระทาต่าง ๆ ที่ต้องการให้เกิดขึ้น ในการ run program จะต้องทาการเขียนคาสั่งไว้ใน method นี้ ▪ – การแสดงผลทางจอภาพ (Console Output) ใช้ method ชื่อ “println” ซึ่งอยู่ใน System.out คาสั่งนี้จะรับข้อมูลที่เป็น String เพื่อนามาแสดงผลทางจอภาพ
  • 5. เมธอดแสดงผลทางจอภาพพื้นฐาน ▪ ในตัวอย่างต่อไปนี้ จะเป็นตัวอย่างการใช้ method print และ println โดย method print จะแสดงผล method ต่อไปจะยังอยู่ในบรรทัดเดิม และ method println จะทาให้การแสดงผลใน method ต่อไปแสดงผล ขึ้นบรรทัดใหม่ -ตัวอย่าง example1.java public class example1 { public static void main(String[] args) { System.out.println(“Hello World.”); System.out.print(“Hello World. “); System.out.print(“My”); System.out.print(” name”); System.out.print(” is”); System.out.print(” JAVA.”); } } -เมื่อรันโปรแกรมจะได้ output ของโปรแกรมดังนี้
  • 6. ชนิดของข้อมูลตัวแปรและค่าคงที่ ชนิดของข้อมูล ตัวแปรและค่าคงที่ ค่าคงตัว (literal) คือข้อมูลที่เราป้อนให้กับคอมพิวเตอร์ เพื่อให้คอมพิวเตอร์นาไปใช้ในการคานวณ ตามที่เราต้องการ ค่าคงตัวในภาษาจาวามี 5 ชนิดหลักๆ ได้แก่ 1.ค่าคงตัวจานวนเต็ม(integer) ค่าคงตัวจานวนเต็มในภาษาจาวามี 2 แบบคือ 1.1ค่าคงตัวจานวนเต็มปกติ รูปแบบการเขียน ใช้ตัวเลขจานวนเต็มธรรมดา ค่าคงตัวชนิดนี้เป็นได้ทั้งค่า บวก และ ลบ และมีค่า ได้ระหว่าง -214783648 ถึง + 214783647 1.2ค่าคงตัวจานวนเต็มแบบยาว(long integer) ค่าคงตัวจานวนเต็มแบบยาวมีค่าได้ระหว่าง -223372036854775808 ถึง 9223372036854775807 การเขียนค่าคงตัวจานวนเต็มแบบยาว ใช้ L หรือ l ต่อท้าย
  • 7. ชนิดของข้อมูลตัวแปรและค่าคงที่ (ต่อ) 2.ค่าคงตัวทศนิยม(floating-point) ค่าคงตัวทศนิยมในภาษาจาวามี 2 แบบคือ -ค่าคงตัวทศนิยมปกติ(floating-point) -ค่าคงตัวทศนิยมแบบยาว(double) ตัวเลขทศนิยมต้องมีจุดเสมอ แม้ว่าทศนิยมตัวนั้นจะมีค่าเท่ากับจานวนเต็ม เช่น 5 ต้องเขียนว่า 5.0 เพราะจาวาจะใช้ จุด ในการแยกแยะระหว่างทศนิยมกับจานวน เต็ม การเขียนเลขทศนิยมปกติจะใช้ F หรือ f ต่อท้าย ส่วนการเขียนค่าคงตัว ทศนิยมแบบยาวจะใช้ D หรือ d ตามหลัง โดยค่าคงตัวชนิดนี้จะมีค่าตั้งแต่ -4.0 x 10-324 ถึง 1.7 x 10308 เรายังสามารถเขียนค่าคงตัวทศนิยมในรูปแบบ ของเลขยกกาลัง(exponential) ได้โดยใช้สัญลักษณ์ e เช่น 1.7e308 หมายถึง 1.7 x 10308
  • 8. ชนิดของข้อมูลตัวแปรและค่าคงที่ (ต่อ) 3.ค่าคงตัวตรรก (logical literal) ค่าคงตัวตรรก คือค่าความจริงทางตรรกศาสตร์ ซึ่งเป็นไปได้ 2 กรณีเท่านั้นคือ true และ false โดยทั้งสองคาต้องเขียนด้วยตัวพิมพ์เล็กเท่านั้น 4.ค่าคงตัวตัวอักษร(character) ค่าคงตัวตัวอักษร ได้แก่ ตัวอักษร , ตัวเลข , เครื่องหมาย , และสัญลักษณ์ต่างๆ เราใช้ เครื่องหมายคาพูดเดี่ยว ‘ (single quote) ล้อมตัวอักษรนั้นเวลาเขียน เช่น ‘a’ , ‘A’ , ‘0’ , ‘$’ เป็นต้น
  • 9. ชนิดของข้อมูลตัวแปรและค่าคงที่ (ต่อ) ชนิดของข้อมูล (Data Type) ชนิดข้อมูลในภาษาจาวาแบ่งเป็นสองประเภทใหญ่ๆ คือ 1.ชนิดข้อมูลแบบพื้นฐาน (primitive data type)หมายถึงชนิดข้อมูลที่สามารถเก็บข้อมูลที่เป็น ข้อมูลทั่วไปหรือข้อมูลพื้นฐาน มีทั้งหมด 8 ตัว ได้แก่ boolean, char, byte, short, int, long, float,double 2.ชนิดข้อมูลแบบอ้างอิง (reference data type)มีความแตกต่างกับชนิดข้อมูลพื้นฐาน ที่ว่าชนิด ข้อมูลชนิดนี้อยู่ในรูปแบบหนึ่ง ซึ่งการเข้าถึง(ใช้งาน)ข้อมูลเป็นการอ้างถึง มากกว่าการเข้าถึงข้อมูล โดยตรง เก็บข้อมูลไว้ 2 ส่วน คือ – Execution Stack เก็บค่าอ้างอิงที่ชี้ไปยัง Heap memory – Heap Memory เก็บข้อมูลที่เรียกว่าออปเจ็ค ที่สร้างขึ้นมาจากคลาส
  • 10. ตัวดาเนินการทางคณิตศาสตร์ 4.ตัวดาเนินการทางคณิตศาสตร์ ในการเขียนโปรแกรมทุกๆ โปรแกรม ต้องมีการคานวนเข้ามาเกี่ยวข้องด้วยเสมอ แล้วสิ่งที่ใช้คานวนนั้นก็คือตัวดาเนินการทางคณิตศาสตร์ที่เรารู้จักกันนั่นเอง ตัว ดาเนินการทางคณิตศาสตร์ในภาษา PHP ก็เหมือนกับภาษาอื่นๆ สาหรับท่านที่ เขียนโปรแกรมได้แล้ว อาจจะข้ามตรงนี้ไปเลยก็ได้ครับ เพราะเหมือนเอาของเก่ามา เล่าใหม่ เล่ากี่ที กี่ที มันก็ไม่ต่างไปจากเดิมเท่าไหร่หรอกครับ แต่สาหรับท่านที่กาลัง เริ่มเขียนโปรแกรมแล้ว จุดนี้ ถือเป็นสิ่งที่ต้องรู้และต้องเข้าใจด้วย ไม่เช่นนั้นแล้ว อาจจะเขียนโปรแกรมเพื่อที่จะใช้งานจริงๆ ไม่ได้เลย ตัวดาเนินการกาหนดค่า การกาหนดค่าให้ตัวแปร ใช้เครื่องหมาย = (เท่ากับ) ในการกาหนดค่า วิธีการจา ง่ายๆ ก็คือ สิ่งที่ทาด้านขวา (เช่นการคานวน หรือ ข้อความ) จะถูกส่งไปยังด้านซ้าย
  • 11. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ตัวดาเนินการเชิงคณิตศาสตร์ ▪ เป็นเครื่องหมายทางคณิตศาสตร์ทั่วๆ ไป ที่เราคุ้นเคยกันดีอยู่แล้ว คือ บวก (+) ลบ (-) คูณ (*) หาร (/) แต่จะมีตัวพิเศษเพิ่มขึ้นมาอีกตัวหนึ่งคือ หารเอาเศษ (%) ลองดูตัวอย่างกันครับ ▪ $a + $b - $a บวก $b ▪ $a – $b - $a ลบ $b ▪ $a * $b - $a คูณ $b ▪ $a / $b - $a หาร $b ▪ $a % $b - $a หาร $b แต่เอาเศษ
  • 12. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ <?php ▪ $a = 5; ▪ $b = 2; ▪ $a + $b; // ผลลัพธ์ 7 ▪ $a - $b; // ผลลัพธ์ 3 ▪ $a * $b; // ผลลัพธ์ 10 ▪ $a / $b; // ผลลัพธ์ 2 ▪ $a % $b; // ผลลัพธ์ 1 ▪ ?> -ตรง $a / $b นั้น เป็นแค่ทางทฤษฎี แต่ในภาษา PHP นั้น เนื่องจากการประกาศตัวแปรไม่มีการบอกว่าเป็น ชนิดไหน จึงทาให้ผลลัพธ์จากการหารนั้น เป็นจานวนทศนิยมไป ด้วย สาหรับการหารเอาเศษ ข้อสังเกตง่ายๆ ว่าผลลัพธ์ถูก หรือไม่คือ ค่าที่ได้ จะเป็นเลขตั้งแต่ 0 ไปจนถึงตัวหาร ลบด้วย 1 เช่น หารด้วย 8 เศษที่ได้จะมีตั้งแต่ 0 จนถึง 7 เท่านั้น
  • 13. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ตัวดาเนินการ ทางคณิตศาสตร์ สามารถคานวน และกาหนดค่า ให้ตัวแปรได้เลย โปรแกรมจะทา การคานวน ผลลัพธ์ให้เสร็จ เสียก่อน แล้วจึง กาหนดค่าให้กับ ตัวแปรนั้นๆ ลอง ดูตัวอย่างกัน ครับ 1.<?php 2. $a = 5; 3. $b = 2; 4. $c = 3 + 4; // ทาการคานวน 3 + 4 ก่อน และค่อย กาหนดค่าให้ $c 5. $d = $a + $b; // ทาการคานวนก่อนเช่นกัน 6. 7. $a = $a + 5; // นาค่าในตัวแปร $a ไปบวกกับ 5 และ กาหนดค่าที่ได้ให้ตัวแปร $a 8. $b = $b + $c; // นาค่าในตัวแปร $b ไปบวกกับค่าของ $c และกาหนดค่าที่ได้ให้ตัวแปร 9. $b 10. ?>
  • 14. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ จากตัวอย่าง จะเห็นว่า เราสามารถทาการคานวน และกาหนดค่าได้ในครั้งเดียว ลองสังเกตุตรงที่ การ นาตัวแปรไปคานวน และกาหนดค่าให้ตัวมันเอง เราสามารถเขียนย่อลงได้ เพื่อให้โปรแกรมสั้นลง และทางานได้เร็วขึ้น ดังนี้ ▪ $a = $a + $b; ▪ $a += $b; ▪ $a = $a – $b; ▪ $a -= $b; ▪ $a = $a * $b; ▪ $a *= $b; ▪ $a = $a / $b; ▪ $a /= $b; ▪ $a = $a % $b; ▪ $a %= $b;
  • 15. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ทั้งสองแบบ ได้ผลลัพท์ที่เหมือนกัน เขียนโปรแกรมใหม่ๆ อาจจะ งง กันพอสมควร แต่ถ้าทาไปนานๆ แล้วจะคล่องเอง อันนี้ก็ต้อง พยายามกันเยอะๆ หน่อยนะครับ ที่สาคัญ การเขียนแบบย่อ โปรแกรมจะทางานได้เร็วกว่าครับ เพราะทาการ get operand 1 ครั้ง get operator 2 ครั้ง แต่ถ้า หากเขียนแบบเต็มจะ get operand 2 ครั้ง get operator 3 ครั้ง ไว้เรามาเขียนโปรแกรมหา ความแตกต่างในโอกาสต่อไปนะ ครับ (แน่นอน ต้องภาษา C เท่านั้น ▪ การคานวนต้องคานึงถึงระดับ ความสาคัญของเครื่องหมาย เพื่ออะไร? งั้นลองดูตัวอย่างกันเลย ▪ <?php ▪ echo 2 + 3 * 5; ▪ ?>
  • 16. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ตัวเพิ่มค่า (Increment) ลดค่า (Decrement) ▪ ตัวเพิ่มค่า เขียนโดยใช้เครื่องหมาย บวกสองตัวต่อกัน (++) ใช้สาหรับเพิ่มค่าตัวแปรทีละ 1 ส่วนตัวลดค่า เขียนโดย ใช้เครื่องหมายลบสองตัวต่อกัน (–) ใช้สาหรับลดค่าตัวแปรทีละ 1 ▪ <?php ▪ // ตัวอย่างการเพิ่มค่าทีละ 1 ▪ $a = 1; ▪ $a = $a + 1; ▪ $a += 1; ▪ // สามารถใช้คาสั่งเพิ่มค่าได้ดังนี้ ▪ $a++; ▪ ?>
  • 17. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ใน CPU ทุกตัว จะมีคาสั่ง ADD และ INC อยู่ด้วย ซึ่งคาสั่ง INC จะใช้ CPU Time น้อยกว่าคาสั่ง ADD อยู่แล้ว ▪ สมมุติ... ใน CPU แบบ CISC (ตระกูล X86) แต่ละคาสั่ง จะใช้ CPU Time (Clock Cycle) ไม่เท่ากัน ▪ ให้ INC = 1 clock ADD = 2 clock ถ้ามีการวนลูปสัก 1 ล้านรอบ ก็มีความต่างกันถึง 1 ล้าน Clock ▪ ตัวเพิ่มค่า ละลดค่า สามารถเขียนได้ 2 ตาแหน่งคือ หน้าตัวแปร และ หลังตัวแปร ▪ ++$a , $a++ เพิ่มค่าทีละ 1 ▪ –$a, $a– ลดค่าทีละ 1
  • 18. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ถ้าหากเราวางเครื่องหมายไว้หน้าตัวแปร ก็จะทาการเพิ่มตัวแปรนั้นก่อน จึงจะทาคาสั่งอื่นๆ ที่อยู่ในบรรทัด นั้น แต่ถ้าหากวางเครื่องหมายไว้หลังตัวแปร จะทาคาสั่งอื่นๆ ให้หมดก่อน ลองดูตัวอย่างตามนี้นะครับ ▪ <?php ▪ $a = 1; ▪ echo $a++; // ผลลัพท์ 1 เนื่องจากทาคาสั่ง echo ก่อน จึงทาการเพิ่มค่า ▪ $a = 1; ▪ echo ++$a; // ผลลัพท์ 2 เนื่องจากทาการเพิ่มค่าก่อน แล้วจึงทาคาสั่ง echo ▪ $a = 1; ▪ echo 1 + $a++; // ผลลัพท์ 2 เนื่องจากทาการบวก 1 และ echo ก่อนจึงทาการเพิ่มค่า ▪ $a = 1; ▪ echo 1 + ++$a; // ผลลัพท์ 3 เนื่องจากทาการเพิ่มค่าก่อน และบวก 1 แล้วจึงทาคาสั่ง echo ▪ ?> ▪ จะเห็นว่า การวางเครื่องหมายด้านหน้า หรือด้านหลัง ให้ผลลัพท์ที่แตกต่างกันอย่างมาก หลายๆ ท่านที่ผม เคยคุยด้วย ก็เคยตกม้าตายเพราะตาแหน่งของเครื่องหมาย ดังนั้นก็ให้ระมัดระวังในการเขียน
  • 19. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ ตัวเชื่อมข้อความ ▪ ในภาษา PHP การกาหนดตัวแปรเป็นข้อความ (String) สามารถทาได้ 2 แบบคือใช้เครื่องหมาย Singe Quote (‘) หรือ Double Quote (“) ถ้าต้องการนาข้อความหลายๆ ข้อความมาต่อกัน สามารถใช้เครื่องหมายจุด (.) เพื่อทาให้ตัวแปรเชื่อมต่อกัน หรือจะใช้เครื่องหมายจุด เพื่อเชื่อมข้อความกับตัวแปรก็ได้ ลองดูตัวอย่าง ▪ <?php ▪ $a = "Hello" . "World"; ▪ $b = "Hello"; ▪ $b = $b . "World"; ▪ $c = "http:/www.cmdevhub.com"; ▪ $c.= "โปรแกรมที่ไม่มีบักคือโปรแกรมที่ยังไม่ได้เขียน"; // ท่องเอาไว้ครับ อิอิ ▪ $total = 100; ▪ echo "Total Price = " . $total; ▪ ?>
  • 20. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ตัวเปรียบเทียบ ตัวเปรียบเทียบในทุกๆ ภาษา จะเปรียบเทียบตัวซ้าย เทียบกับตัวขวา และได้ผลลัพท์เป็น จริง (true) หรือ เท็จ (false) เท่านั้น ในภาษา PHP ก็มีวิธีการเปรียบเทียบเหมือนกับภาษาอื่นๆ เหมือนกัน ผลลัพท์ที่ได้ก็มีแต่ จริง และ เท็จ เท่านั้น เหมือนกัน ตัว เปรียบเทียบ จะใช้ในการกาหนดทิศทางของโปรแกรม $a < $b น้อยกว่า คืนค่าเป็นจริง ถ้า $a น้อยกว่า $b $a > $b มากกว่า คืนค่าเป็นจริง ถ้า $a มากกว่ากว่า $b $a <= $b น้อยกว่า หรือ เท่ากับ คืนค่าเป็นจริง ถ้า $a น้อยกว่า หรือ เท่ากับ $b $a >= $b มากกว่า หรือ เท่ากับ คืนค่าเป็นจริง ถ้า $a มากกว่า หรือ เท่ากับ $b $a == $b เท่ากับ คืนค่าเป็นจริง ถ้า $a เท่ากับ $b $a != $b ไม่เท่ากับ คืนค่าเป็นจริง ถ้า $a ไม่เท่ากับ $b $a === $b เท่ากับทั้งหมด คืนค่าเป็นจริง ถ้า $a เท่ากับ $b และ ต้องเป็นชนิดข้อมูลเดียวกัน
  • 21. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ▪ <?php ▪ $a = 1; ▪ $b = 2; ▪ $c = "1"; ▪ $a < $b; // true ▪ $a > $b; // false ▪ $a <= $b; // true ▪ $a <= $c; // true ▪ $a >= $b; // true ▪ $a >= $c; // true ▪ $a == $b; // false ▪ $a == $c; // true ▪ $a === $b; // false ▪ $a === $c; // false ▪ ?>
  • 22. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ตัวดาเนินการทางตรรกศาสตร์ ในการเปรียบเทียบค่า เราสามารถเปรียบเทียบได้หลายๆ ค่า พร้อมกัน โดยใช้ตัวเปรียบเทียบทางตรรกศาสตร์มาช่วยหา คาตอบสุดท้ายของการเปรียบเทียบ ตัวเปรียบเทียบ จะมีเพียง 4 ตัวคือ and , or , not , xor and หรือ && ได้ค่าจริง เมื่อเป็นจริงทั้งหมด or หรือ || ได้ค่าเท็จ เมื่อเป็นเท็จทั้งหมด not หรือ ! กลับค่า จากจริงเป็นเท็จ และ เท็จเป็นจริง xor ตัวเปรียบเทียบ เหมือนกัน ได้ค่าเท็จ ต่างกันได้จริง
  • 23. ตัวดาเนินการทางคณิตศาสตร์ (ต่อ) ถ้าเขียนเป็นตาราง จะได้ค่าตามนี้ (ผมให้ 0 = false และ 1 = true) $a $b $a && $b $a || $b $a xor $b !$a and เป็นจริงเมื่อเป็นจริงทั้งหมด นอกนั้นเป็นเท็จ or เป็นเท็จเมื่อเป็นเท็จทั้งหมด นอกนั้นเป็นจริง xor เหมือนกันเป็นเท็จ ต่างกันเป็นจริง not จริงเป็นเท็จ เท็จเป็นจริง
  • 24. คลาสตริง การสร้าง String String เป็น Class หนึ่งใน Package ของภาษาจาวาชื่อ java.lang ทาหน้าที่ใน การเก็บข้อมูลที่เป็น “ชุดของ ตัวอักษร” ซึ่งปกติชนิดของข้อมูลของภาษาจาวาก็มี ชนิดเป็น character แต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น ดังนั้นจึงลาบากในการ นามาใช้กับข้อมูลที่มากกว่า 1 ตัวอักษร หรือที่เรียกว่า “String” ดังนั้น ภาษาจาวา จึงได้สร้าง Class สาเร็จรูปมาให้สามารถเรียกใช้ได้ทันที เรียกว่า “String” ทั้งหมดคือที่มาของคาว่า String Class การสร้าง Object เพื่อใช้กับ String ได้ 6 รูปแบบคือ รูปแบบที่ 1 String ชื่อObject = new String(ข้อความ); ตัวอย่างการใช้งาน String message = new String (“Welcome to Java”); คาอธิบาย message เป็น String Object “Welcome to Java” เป็นข้อความที่เก็บใน String Object ชื่อ “message”
  • 25. คลาสตริง (ต่อ) รูปแบบที่ 2 String ชื่อObject = ข้อความ; ตัวอย่างการใช้งาน String message = “Welcome to Java”; รูปแบบที่ 3 String (char chars[]); เป็นการสร้าง String ที่นา Array ชื่อ Chars มาเป็นข้อมูลใน String ตัวอย่างการใช้งาน char chars[]={‘a’, ’b’, ’c’}; String message = new String(chars); ผลที่ได้ก็คือ message จะเก็บค่า abc รูปแบบที่ 4 String (char chars[], int startIndex, int numChars); เป็นการเก็บข้อมูลเพียงบางส่วนของ Array ไว้ใน String โดยที่ - startIndex คือกาหนดตาแหน่งเริ่มต้นใน array ที่ ต้องการเก็บ - numChars คือกาหนดจานวนตัวอักษรที่ต้องการเก็บ โดยนับจาก ตาแหน่งที่ระบุใน startIndex ตัวอย่างการใช้งาน char chars[]={‘a’, ’b’, ’c’, ‘d’, ‘e’, ‘f’}; String message = new String(chars, 2, 3); ผลที่ได้ก็คือ message จะเก็บค่า cde
  • 26. คลาสตริง (ต่อ)รูปแบบที่ 5 String (ชื่อStringเดิม); เป็นการสร้าง String ใหม่โดยใช้โครงสร้างของ String เดิม ผลที่ได้ก็คือ String ใหม่จะมีข้อมูลเดียวกับ String เดิมที่ใช้ เป็นต้นแบบใน การสร้าง ตัวอย่างการใช้งาน char c[]={‘j’, ’a’, ’v’, ‘a’}; String message = new String(c); ผลที่ได้ก็คือ message เก็บค่า java รูปแบบที่ 6 เป็นการเก็บ Array ของรหัส ASCII ไว้ใน String - String (byte asciiChars[]); ตัวอย่างการใช้งาน byte ascii[]={65,66,67,68,69,70}; String message = new String(ascii); ผลที่ได้ก็คือ message จะเก็บค่า ABCDEF - String (byte asciiChars[], int startIndex, int numChars); เป็นการเก็บข้อมูลเพียงบางส่วนของ Array ไว้ใน String โดยที่ startIndex คือกาหนดตาแหน่งเริ่มต้นใน array ที่ต้องการเก็บ numChars คือกาหนดจานวนตัวอักษรที่ต้องการ เก็บโดยนับจาก ตาแหน่งที่ระบุใน startIndex ตัวอย่างการใช้งาน byte ascii[]={65,66,67,68,69,70}; String message = new String(ascii, 2, 3); ผลที่ได้ก็คือ message จะเก็บค่า CDE
  • 27. เมธอดรับข้อมูลพื้นฐาน การรับข้อมูลทางคีย์บอร์ดในภาษาจาวา จะต้องสร้างออบเจ็กต์ของคลาส Scanner ขึ้นมาโดยจะต้องประกาศตัวแปรออบเจ็กต์ ก่อน เช่น Scanner keyboard; ประกาศตัวแปรออบเจ็กต์ชื่อ keyboard อยู่ในคลาส Scanner จากนั้นต้องสร้าง ออบเจ็กต์มาโดยใช้คีย์เวิร์ด new มีรูปแบบ ดังนี้ ตัวแปรออบเจ็กต์ = new ชื่อคลาส (อาร์กิวเมนต์); ดังนั้นถ้าจะให้ตัวแปร keyboard รับค่าทาง แป้นพิมพ์จะต้องสร้างออบเจ็กต์ขึ้นมาโดย ให้มีอาร์กิวเมนต์เป็น System.in ดังนี้ keyboard = new Scanner(System.in); ในคลาส Scanner นั้นมีเมธอดสาหรับอ่านข้อมูลประเภทต่างๆ หลายประเภทดังนี้ เมธอด - การทางาน nextByte() - รับข้อมูลเลขจานวนเต็มชนิด Byte ทางแป้นพิมพ์ nextDouble() - รับข้อมูลเลขทศนิยมชนิด Double ทาง แป้นพิมพ์ nextFloat() - รับข้อมูลเลขทศนิยมชนิด Float ทางแป้นพิมพ์ nextInt() - รับข้อมูลเลขจานวนเต็มชนิด Int ทางแป้นพิมพ์ nextLine() - รับข้อมูลแบบสตริงทางแป้นพิมพ์ nextLong() - รับข้อมูลตัวเลขชนิด Long ทางแป้นพิมพ์ nextShort() - รับข้อมูลตัวเลขชนิด Short ทางแป้นพิมพ์
  • 28. ผู้จัดทา 1. นางสาววรกานต์ วิเชนสวัสดิ์ เลขที่ 19 ชั้น ม.6/2 2. นางสาวกานต์สินี สังเมียน เลขที่ 23 ชั้น ม.6/2 3. นางสาวสุวลักษณ์ พุทธมนต์ เลขที่ 26 ชั้น ม.6/2 4. นางสาวบุษกร เรืองโรจน์ เลขที่ 28 ชั้น ม.6/2 5. นางสาวกันยา เปล่งคา เลขที่ 29 ชั้น ม.6/2