ݺߣ

ݺߣShare a Scribd company logo
ข้อมูลชนิดอาร์๶รย์และสตริง
อาร์เรย์หนึ่งมิติ มีขนาดเทียบเท่าเมตริกซ์ขนาด Nx1 การ
ประกาศตัวแปรอาร์เรย์ จะใช้เครื่องหมาย [ ] ล้อมค่าตัวเลข
จานวนเต็มเพื่อบอกจานวนหน่วยข้อมูลที่ต้องการได้ในรูป
ชนิดของตัวแปร ชื่อตัวแปร [จานวนสมาชิกที่ต้องการ]
data_type variable_name [ number-of-element ]
เช่น int a[5];
double x, y[10], z[3];
อาร์เรย์หลายมิติ (Multi-Dimensional array) คือ อาร์เรย์ที่มี
สมาชิกเป็นข้อมูลอาร์เรย์ ในหน่วยข้อมูลแต่ละหน่วยของอาร์เรย์ จะเป็น
อาร์เรย์ย่อยๆ ซึ่งอาจกาหนดซ้อนลงไปได้หลายชั้น
การกาหนดอาร์เรย์หลายมิติ จะกระทาในรูป
ชนิดตัวแปร ชื่อตัวแปร[จานวนสมาชิก][จานวนสมาชิก]…;
การประกาศอาร์เรย์หลายตัวทาดังนี้
int [] abc , xyz;
abc = new int [200];
xyz = new int [40[;
พอเขียนรวมเป็น int [] abc = new int [200], xyz = new int[40];
สามารถประกาศตัวแปร Array พร้อมกับกาหนดค่าเริ่มต้น
ให้กับสมาชิก Array ได้โดยมีรูปแบบดังนี้
ชนิดของตัวแปรอาร์เรย์ ชื่ออาร์เรย์[จานวนข้อมูล] = {ค่าคงที่,
ค่าคงที่,…};
Type [ ] var_name = {value1,value2,value3};
เราสามารถใช้คาสั่งวนรอบ For ในการวนรอบรับค่าที่
ป้ อนเข้ามาและใช้ในการคานวณโดยการใช้ตัวแปรในการ
วนรอบ และใช้ตัวแปรเดียวกัน เพื่อกาหนดลาดับของข้อมูลที่
จะใช้ในอาร์เรย์
Element ของอาร์เรย์ ลำดับแรกจะเป็น 0 เสมอ ลาดับของ Element ของ
อาร์เรย์โดยส่วนมากจะเป็นค่าตัวเลขจานวนเต็ม ตัวอย่างเช่น ใช้อาร์เรย์ scores
เราจะเข้าถึง Element แรกได้ดังนี้
scores[0]
และถ้าต้องการจะประมวลผล Element ทั้งหมด ก็สามารถใช้ลูปเข้ามาช่วยได้ดัง
ตัวอย่างด้านล่างนี้
for (i=0;<9;i++)
scores[i]…;
การส่ง Array เข้าไปใน Method จะเป็นการส่งตาแหน่งของ Array
(Reference) เข้าไปให้กับ Parameter ของ Method
อาร์เรย์สามารถเก็บ reference ของ Object ได้ โดยกาหนดให้อาเรย์ เป็น Class
นั้นๆ ในตอนประกาศอาเรย์ มีรูปแบบดังนี้
className [] arrayName = new className[size];
เช่น Student [ ] studentList = new Student[10];
Student [ ] studentList = new Student[3];
studentList[0] = new Student();
studentList[1] = new Student();
studentList[2] = new Student();
• อาร์เรย์ 2 มิติ เป็นตัวแปรชุดที่มีการจัดการข้อมูล Row (แถว) , Column
(หลัก) ซึ่งอยู่ในรูปแบบตาราง ที่มีแสดงตาแหน่ง 2 ตัว
• อาร์เรย์ 2 มิติ คือ array of array กล่าวคือ array 2 มิติ เป็น array ของ
array 1 มิติ นั่นเอง
ตัวอย่างรูปแบบที่ 1 int num[2][3] = {11,12,13,21,22,23};
ตัวอย่างรูปแบบที่ 2 int num[2][3] = {{11,12,13},{21,22,23}};
ตัวอย่างรูปแบบที่ 3 int num[3][3] = {{11,12,13},{21,22,23}};
โดยที่การประกาศตัวแปรทั้ง 3 รูปแบบให้ผลลัพธ์เหมือนกัน คือ
ข้อสังเกต
อาร์เรย์ขนาด 2 มิติขึ้นไป จะไม่ระบุขนาดได้เฉพาะมิติที่ 1 เท่านั้น ส่วนมิติ
อื่นๆ ต้องมีการระบุขนาดด้วยทุกครั้ง
ArrayList เป็นคลาสที่รวบรวมคาสั่งพิเศษที่ช่วยสั่งงานอาร์เรย์ ต่าง
จาก array ปกติที่จะเป็นการกาหนดขนาดของตัวแปรอาร์เรย์คงที่ แต่
ArrayList จะสามารถแก้ไขขนาดได้ เวลาใส่ข้อมูลเข้าไปก็ไม่ต้องกาหนดขนาด
เฉพาะไว้ก่อน
***การเรียกใช้งานต้อง import เข้ามา
import java.util.ArrayList;
method ที่ใช้ในการจัดการข้อมูล ดังนี้
1.add(ตาแหน่งอาร์เรย์,ค่าข้อมุลในอาร์เรย์)
2.remove(ตาแหน่งอาร์เรย์)
3.get(ตาแหน่งอาร์เรย์)
4.indexOf(ข้อมูลอาร์เรย์)
5.ชื่ออาร์เรย์.size()
สตริงเป็นออปเจค (Object) ที่สืบทอดคุณสมบัติมาจากคลาสสตริง (Class String)
ถ้าต้องการสร้างออปเจคจากคลาสสตริง ต้องประกาศดังนี้
String str = new String(“Java”);
หรือ String str = “Java”;
ถ้าเราต้องการให้ str มีค่าว่างต้องประกาศเช่นนี้ String str = null;
การเก็บข้อมูลของสตริงนั้น จะมีการเก็บข้อมูลอยู่ 2 ส่วน ส่วนแรกจะเป็น
ข้อมูลตัวอักษรโดยเก็บเรียงกันไป แบะส่วนที่ 2 จะเก็บจุดสิ้นสุดของสตริง ซึ่งจุ
สิ้นสุดของสตริงจะใช้ Null Characterหรือ ‘0’
**ตัวอย่าง
class string2 {
public static void main (String[] args) {
String one = "Principle ";
String two = "programming";
String three = null;
three = one + two;
System.out.printf("%s%n",three);
}
}
** ผลลัพธ์ที่ได้คือPrinciple programming
โดยใช้ equals( )ซึ่ง เป็น method ตัวนึงที่อยู่ใน String Class โดยจะ
ทาหน้าที่เปรียบเทียบ String 2 ชุดว่ามีสมาชิกหรือข้อความที่เหมือนกันหรือไม่
มีรูปแบบการใช้งานดังนี้
อธิบายโปรแกรม จากโปรแกรมมีการกาหนดตัวแปร s1 และ s2 เป็น String
โดยมีข้อความเหมือนกัน จากนั้นกาหนดเงื่อนไขของ if ว่าให้นา String ทั้ง 2
มา เปรียบเทียบกันว่าเหมือนกันหรือไม่ โดยใช้เงื่อนไข s1.equals(s2) ถ้ามี
ข้อความเหมือนกันจริงก็จะ พิมพ์ข้อความ "s1 equals s2" แต่ถ้าข้อความไม่
เหมือนกันก็จะพิมพ์ข้อความ "s1 not equals s2" ออกมาแทน ให้เราทดสอบ
โดยการไปเปลี่ยนข้อความในตัวแปร s1 หรือ s2 แค่เปลี่ยนตัวอักษรตัวเล็กเป็น
ตัวใหญ่ก็ถือว่าข้อความไม่เหมือนกัน
1.คลำสสตริงบัฟเฟอร์
เป็น class หนึ่งที่ทางานกับ String แต่มีความยืดหยุ่นและใช้งานได้
หลากหลายกว่า String Class
ทั้งนี้ StringBuffer Class จะมี Constructor ให้เลือกใช้ได้
3 Constructor ได้แก่
- StringBuffer() ใช้ในการสร้าง StringBuffer ที่ไม่มีข้อมูลใดๆ และมี
ความยาวสูงสุด 16 ตัวอักษร
- StringBuffer(int length) ใช้ในการสร้าง StringBuffer ที่ไม่มีข้อมูล
ใดๆ แต่ความยาวจะขึ้นอยู่กับค่าของ length ที่ส่งมาให้
- StringBuffer(String str) ใช้ในการสร้าง StringBuffer ที่มีข้อมูลตาม
Argument “str” ที่ส่งมา โดยความยาวก็จะขึ้นอยู่กับความยาวของ str
เท่านั้น
2.คลำสสตริงบิลเดอร์
มีคุณสมบัติคล้ายๆกับ StringBuffer แต่ต่างกันตรงที่ StringBuilder
ไม่เป็น Thread Save จึงทาให้ทางานได้เร็วกว่า StringBuffer การเรียกใช้งาน
ก็เรียกใช้งานได้เหมือนกัน
1.https://sites.google.com/site/arraystring02/
2. http://www.slideshare.net/littletuktalita/5-
61
1. นำย จิตติ ทุมเชียงลำ ชั้น ม.6/1เลขที่ 1
2. นำย สุรพัศ สร้อยสน ชั้น ม.6/1เลขที่ 6
3. นำย กิตติภพ บุญเลิศ ชั้น ม.6/1 เลขที่ 7
4. นำย ศุภณัฐ รุ่งแสง ชั้น ม.6/1 เลขที่ 8
5. นำย สิทธันต์ สุขสุวรรณ ชั้น ม.6/1เลขที่ 9
6. นำย วรำเทพ แต้มเรืองอิฐ ชั้น ม.6/1เลขที่ 10
Thank You For
Watching

More Related Content

ข้อมูลชนิดอาร์๶รย์และสตริง

  • 2. อาร์เรย์หนึ่งมิติ มีขนาดเทียบเท่าเมตริกซ์ขนาด Nx1 การ ประกาศตัวแปรอาร์เรย์ จะใช้เครื่องหมาย [ ] ล้อมค่าตัวเลข จานวนเต็มเพื่อบอกจานวนหน่วยข้อมูลที่ต้องการได้ในรูป ชนิดของตัวแปร ชื่อตัวแปร [จานวนสมาชิกที่ต้องการ] data_type variable_name [ number-of-element ] เช่น int a[5]; double x, y[10], z[3];
  • 3. อาร์เรย์หลายมิติ (Multi-Dimensional array) คือ อาร์เรย์ที่มี สมาชิกเป็นข้อมูลอาร์เรย์ ในหน่วยข้อมูลแต่ละหน่วยของอาร์เรย์ จะเป็น อาร์เรย์ย่อยๆ ซึ่งอาจกาหนดซ้อนลงไปได้หลายชั้น การกาหนดอาร์เรย์หลายมิติ จะกระทาในรูป ชนิดตัวแปร ชื่อตัวแปร[จานวนสมาชิก][จานวนสมาชิก]…; การประกาศอาร์เรย์หลายตัวทาดังนี้ int [] abc , xyz; abc = new int [200]; xyz = new int [40[; พอเขียนรวมเป็น int [] abc = new int [200], xyz = new int[40];
  • 4. สามารถประกาศตัวแปร Array พร้อมกับกาหนดค่าเริ่มต้น ให้กับสมาชิก Array ได้โดยมีรูปแบบดังนี้ ชนิดของตัวแปรอาร์เรย์ ชื่ออาร์เรย์[จานวนข้อมูล] = {ค่าคงที่, ค่าคงที่,…}; Type [ ] var_name = {value1,value2,value3};
  • 5. เราสามารถใช้คาสั่งวนรอบ For ในการวนรอบรับค่าที่ ป้ อนเข้ามาและใช้ในการคานวณโดยการใช้ตัวแปรในการ วนรอบ และใช้ตัวแปรเดียวกัน เพื่อกาหนดลาดับของข้อมูลที่ จะใช้ในอาร์เรย์
  • 6. Element ของอาร์เรย์ ลำดับแรกจะเป็น 0 เสมอ ลาดับของ Element ของ อาร์เรย์โดยส่วนมากจะเป็นค่าตัวเลขจานวนเต็ม ตัวอย่างเช่น ใช้อาร์เรย์ scores เราจะเข้าถึง Element แรกได้ดังนี้ scores[0] และถ้าต้องการจะประมวลผล Element ทั้งหมด ก็สามารถใช้ลูปเข้ามาช่วยได้ดัง ตัวอย่างด้านล่างนี้ for (i=0;<9;i++) scores[i]…;
  • 7. การส่ง Array เข้าไปใน Method จะเป็นการส่งตาแหน่งของ Array (Reference) เข้าไปให้กับ Parameter ของ Method
  • 8. อาร์เรย์สามารถเก็บ reference ของ Object ได้ โดยกาหนดให้อาเรย์ เป็น Class นั้นๆ ในตอนประกาศอาเรย์ มีรูปแบบดังนี้ className [] arrayName = new className[size]; เช่น Student [ ] studentList = new Student[10]; Student [ ] studentList = new Student[3]; studentList[0] = new Student(); studentList[1] = new Student(); studentList[2] = new Student();
  • 9. • อาร์เรย์ 2 มิติ เป็นตัวแปรชุดที่มีการจัดการข้อมูล Row (แถว) , Column (หลัก) ซึ่งอยู่ในรูปแบบตาราง ที่มีแสดงตาแหน่ง 2 ตัว • อาร์เรย์ 2 มิติ คือ array of array กล่าวคือ array 2 มิติ เป็น array ของ array 1 มิติ นั่นเอง
  • 10. ตัวอย่างรูปแบบที่ 1 int num[2][3] = {11,12,13,21,22,23}; ตัวอย่างรูปแบบที่ 2 int num[2][3] = {{11,12,13},{21,22,23}}; ตัวอย่างรูปแบบที่ 3 int num[3][3] = {{11,12,13},{21,22,23}}; โดยที่การประกาศตัวแปรทั้ง 3 รูปแบบให้ผลลัพธ์เหมือนกัน คือ ข้อสังเกต อาร์เรย์ขนาด 2 มิติขึ้นไป จะไม่ระบุขนาดได้เฉพาะมิติที่ 1 เท่านั้น ส่วนมิติ อื่นๆ ต้องมีการระบุขนาดด้วยทุกครั้ง
  • 11. ArrayList เป็นคลาสที่รวบรวมคาสั่งพิเศษที่ช่วยสั่งงานอาร์เรย์ ต่าง จาก array ปกติที่จะเป็นการกาหนดขนาดของตัวแปรอาร์เรย์คงที่ แต่ ArrayList จะสามารถแก้ไขขนาดได้ เวลาใส่ข้อมูลเข้าไปก็ไม่ต้องกาหนดขนาด เฉพาะไว้ก่อน ***การเรียกใช้งานต้อง import เข้ามา import java.util.ArrayList; method ที่ใช้ในการจัดการข้อมูล ดังนี้ 1.add(ตาแหน่งอาร์เรย์,ค่าข้อมุลในอาร์เรย์) 2.remove(ตาแหน่งอาร์เรย์) 3.get(ตาแหน่งอาร์เรย์) 4.indexOf(ข้อมูลอาร์เรย์) 5.ชื่ออาร์เรย์.size()
  • 12. สตริงเป็นออปเจค (Object) ที่สืบทอดคุณสมบัติมาจากคลาสสตริง (Class String) ถ้าต้องการสร้างออปเจคจากคลาสสตริง ต้องประกาศดังนี้ String str = new String(“Java”); หรือ String str = “Java”; ถ้าเราต้องการให้ str มีค่าว่างต้องประกาศเช่นนี้ String str = null; การเก็บข้อมูลของสตริงนั้น จะมีการเก็บข้อมูลอยู่ 2 ส่วน ส่วนแรกจะเป็น ข้อมูลตัวอักษรโดยเก็บเรียงกันไป แบะส่วนที่ 2 จะเก็บจุดสิ้นสุดของสตริง ซึ่งจุ สิ้นสุดของสตริงจะใช้ Null Characterหรือ ‘0’
  • 13. **ตัวอย่าง class string2 { public static void main (String[] args) { String one = "Principle "; String two = "programming"; String three = null; three = one + two; System.out.printf("%s%n",three); } } ** ผลลัพธ์ที่ได้คือPrinciple programming
  • 14. โดยใช้ equals( )ซึ่ง เป็น method ตัวนึงที่อยู่ใน String Class โดยจะ ทาหน้าที่เปรียบเทียบ String 2 ชุดว่ามีสมาชิกหรือข้อความที่เหมือนกันหรือไม่ มีรูปแบบการใช้งานดังนี้
  • 15. อธิบายโปรแกรม จากโปรแกรมมีการกาหนดตัวแปร s1 และ s2 เป็น String โดยมีข้อความเหมือนกัน จากนั้นกาหนดเงื่อนไขของ if ว่าให้นา String ทั้ง 2 มา เปรียบเทียบกันว่าเหมือนกันหรือไม่ โดยใช้เงื่อนไข s1.equals(s2) ถ้ามี ข้อความเหมือนกันจริงก็จะ พิมพ์ข้อความ "s1 equals s2" แต่ถ้าข้อความไม่ เหมือนกันก็จะพิมพ์ข้อความ "s1 not equals s2" ออกมาแทน ให้เราทดสอบ โดยการไปเปลี่ยนข้อความในตัวแปร s1 หรือ s2 แค่เปลี่ยนตัวอักษรตัวเล็กเป็น ตัวใหญ่ก็ถือว่าข้อความไม่เหมือนกัน
  • 16. 1.คลำสสตริงบัฟเฟอร์ เป็น class หนึ่งที่ทางานกับ String แต่มีความยืดหยุ่นและใช้งานได้ หลากหลายกว่า String Class ทั้งนี้ StringBuffer Class จะมี Constructor ให้เลือกใช้ได้ 3 Constructor ได้แก่ - StringBuffer() ใช้ในการสร้าง StringBuffer ที่ไม่มีข้อมูลใดๆ และมี ความยาวสูงสุด 16 ตัวอักษร - StringBuffer(int length) ใช้ในการสร้าง StringBuffer ที่ไม่มีข้อมูล ใดๆ แต่ความยาวจะขึ้นอยู่กับค่าของ length ที่ส่งมาให้ - StringBuffer(String str) ใช้ในการสร้าง StringBuffer ที่มีข้อมูลตาม Argument “str” ที่ส่งมา โดยความยาวก็จะขึ้นอยู่กับความยาวของ str เท่านั้น
  • 17. 2.คลำสสตริงบิลเดอร์ มีคุณสมบัติคล้ายๆกับ StringBuffer แต่ต่างกันตรงที่ StringBuilder ไม่เป็น Thread Save จึงทาให้ทางานได้เร็วกว่า StringBuffer การเรียกใช้งาน ก็เรียกใช้งานได้เหมือนกัน
  • 19. 1. นำย จิตติ ทุมเชียงลำ ชั้น ม.6/1เลขที่ 1 2. นำย สุรพัศ สร้อยสน ชั้น ม.6/1เลขที่ 6 3. นำย กิตติภพ บุญเลิศ ชั้น ม.6/1 เลขที่ 7 4. นำย ศุภณัฐ รุ่งแสง ชั้น ม.6/1 เลขที่ 8 5. นำย สิทธันต์ สุขสุวรรณ ชั้น ม.6/1เลขที่ 9 6. นำย วรำเทพ แต้มเรืองอิฐ ชั้น ม.6/1เลขที่ 10 Thank You For Watching