อาร์เรย์1. บทที่ 5 ข้อมูลอาร์เรย์แลลสตรรง
ตมาชก
1.นายพีรเดช ว่องวิบูลย์ เลขที่ 1
2.นายสหรัฐ พัฒนะศิริ เลขที่ 2
3.นางสาวชนิสรา จงพัฒนสินสุข เลขที่ 13
4.นางสาวธนัญญา ชลปรีชา เลขที่ 14
5.นางสาวปาริชาติ ธรรมรงค์ เลขที่ 15
6.นางสาวภัณฑิรา เอกทุ่งบัว เลขที่ 29
ชั้นมัธยมศึกษาปีที่ 6/1
เตนอ
คุณครูทรงศักดิ์ โพธิ์เอี่ยม
เป็นส่วนหนึ่งของวิชาการเขียนโปรแกรมประยุกต์ (ง30213)
ภาคเรียนที่ 2ปีการศึกษา 2557
โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี
2. บทที่ 5 ข้อมูลอาร์เรย์แลลสตรรง
อาร์เรย์ (Array)
อาร์เรย์ (Array) เป็นตัวแปรชุดให้สาหรับเก็บข้อมูลที่มีความสัมพันธ์กัน
โดยจะเก็บไว้ในชื่อเดียวกันสมาชิกแต่ละตัวของ Array จะเรียกว่า Element หรือ Cell
ตัวเลขที่ใช้ระบุตาแหน่งสมาชิกของ Array เรียกว่า Index หรือ Subscript
รัวอย่าง
Array X ที่มี 5 Element
ซึ่งจะเริ่มต้นตั้งแต่ Index 0 ถึง 4
3. รัวแลปรอาร์เรย์ 1 มร
อาร์เรย์หนึ่งมร มีโครงสร้างเทียบเท่าเมตริกซ์ขนาด nx1การประกาศตัวแปรอาร์เรย์
จะใช้เครื่องหมาย [ ] ล้อมค่าตัวเลขจานวนเต็ม เพื่อบอกจานวนหน่วยข้อมูลที่ต้องการได้ในรูป
ชนดของรัวแลปร ชื่อรัวแลปร[จานวนตมาชกที่ร้องการ]
data_typevariable_name[ number-of-elements ]
เช่น int a[5];
double x, y[10], z[3];
4. รัวแลปรอาร์เรย์หลายรัว
อาร์เรย์หลายมร (Multi-dimensional array) คือ อาร์เรย์ที่มีสมาชิกเป็นข้อมูลอาร์เรย์
นั่นคือ ในหน่วยข้อมูลแต่ละหน่วยของอาร์เรย์ จะเป็นอาร์เรย์ย่อยๆ ซึ่งอาจจะ
กาหนดซ้อนลงไปได้หลายชั้น
การกาหนดอาร์เรย์หลายมร จสกรสทาในรูป
ชนิดตัวแปร ชื่อตัวแปร[จานวนสมาชิก][จานวนสมาชิก]….;
การปรสกาศอาร์เรย์หลายรัวทาได้ดังนี้
int [] abc , xyz;
abc= new int[500];
xyz = new int[10];
หรือเขียนรวมกันได้ดังนี้
int[] abc = new int[500], xyz = new int[10];
6. การปรสมวลผลอาร์เรย์ในรูปแลบบ for
Element ของอาร์เรย์ ลาดับแลรกจสเป็ น 0 เตมอ ลาดับของ Element ของอาร์เรย์
โดยส่วนมากจะเป็นค่าตัวเลขจานวนเต็ม ตัวอย่างเช่น ใช้อาร์เรย์ scores เราจะ
เข้าถึง Element แรกได้ดังนี้
scores[0]
และถ้าต้องการจะประมวลผล Element ทั้งหมด ก็สามารถใช้ลูปเข้ามาช่วยได้ดัตัว
อย่างด้านล่างนี้
for (i=0;<9;i++)
scores[i]…;
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 มร /การกาหนดค่าเร่มร้น
• อาร์เรย์ 2 มิติ เป็นตัวแปรชุดที่มีการจัดการข้อมูล Row (แถว) , Column (หลัก) ซึ่งอยู่
ในรูปแบบตาราง ที่มีแสดงตาแหน่ง 2 ตัว
• อาร์เรย์ 2 มิติ คือ array of array กล่าวคือ array 2 มิติ เป็น array ของ array 1 มิติ
นั่นเอง
10. รัวแลปรอาร์เรย์ 2 มร /การกาหนดค่าเร่มร้น (ร่อ)
การประกาศตัวแปรอาร์เรย์ 2 มิติ
•แบบที่ 1 แบบระบุขนาดไม่กาหนดค่าเริ่มต้น
data_type array_name[row_size][column_size];
• ตัวอย่าง
int score[2][10];
char id[2][10];
**สร้างตัวแปรที่มี 2 แถว 10 หลักสาหรับเก็บตัวเลขจานวนเต็ม
การกาหนดค่าเริ่มต้นให้กับอาร์เรย์ 2 มิติ
ตัวอย่างรูปแบบที่ 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. รัวแลปรอาเรย์2 มร /การกาหนดค่าเร่มร้น (ร่อ)
โดยที่การประกาศตัวแปรทั้ง 3 รูปแบบให้ผลลัพธ์เหมือนกัน คือ
ข้อสังเกต
อาร์เรย์ขนาด 2 มิติขึ้นไป จะไม่ระบุขนาดได้เฉพาะมิติที่ 1 เท่านั้น ส่วนมิติอื่นๆ
ต้องมีการระบุขนาดด้วยทุกครั้ง
12. คลาต ArrayList
ArrayList เป็นคลาสที่รวบรวมคาสั่งพิเศษที่ช่วยสั่งงานอาร์เรย์ ต่างจาก array ปกติที่
จะเป็นการกาหนดขนาดของตัวแปรอาร์เรย์คงที่ แต่ ArrayList จะสามารถแก้ไขขนาดได้
เวลาใส่ข้อมูลเข้าไปก็ไม่ต้องกาหนดขนาดเฉพาะไว้ก่อน
***การเรียกใช้งานต้อง import เข้ามา
import java.util.ArrayList;
methodที่ใช้ในการจัดการข้อมูล ดังนี้
1.add(ตาแหน่งอาร์เรย์,ค่าข้อมุลในอาร์เรย์)
2.remove(ตาแหน่งอาร์เรย์)
3.get(ตาแหน่งอาร์เรย์)
4.indexOf(ข้อมูลอาร์เรย์)
5.ชื่ออาร์เรย์.size()
13. ตรรง(String)
ตรรงเป็ นออปเจค (Object) ที่สืบทอดคุณสมบัติมาจากคลาสสตริง (Class String) ถ้า
ต้องการสร้างออปเจคจากคลาสสตริง ต้องประกาศดังนี้
String str = new String(“Java”);
หรือ String str = “Java”;
ถ้าเราต้องการให้ str มีค่าว่างต้องประกาศเช่นนี้ String str = null;
การเก็บข้อมูลของสตริงนั้น จะมีการเก็บข้อมูลอยู่ 2 ส่วน ส่วนแรกจะเป็นข้อมูลตัวอักษรโดยเก็บ
เรียงกันไป แบะส่วนที่ 2 จะเก็บจุดสิ้นสุดของสตริง ซึ่งจุสิ้นสุดของสตริงจะใช้ Null Character
หรือ ‘0’
14. **ตัวอย่าง
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
ตรรง(String) (ร่อ)
16. การเปรียบเทียบตรรง(String) (ร่อ)
อธิบายโปรแกรม
จากโปรแกรมมีการกาหนดตัวแปร s1 และ s2 เป็น String โดยมีข้อความเหมือนกัน จากนั้น
กาหนดเงื่อนไขของ if ว่าให้นา String ทั้ง 2 มา เปรียบเทียบกันว่าเหมือนกันหรือไม่ โดยใช้
เงื่อนไข s1.equals(s2) ถ้ามีข้อความเหมือนกันจริงก็จะ พิมพ์ข้อความ "s1 equals s2" แต่
ถ้าข้อความไม่เหมือนกันก็จะพิมพ์ข้อความ "s1 not equals s2" ออกมาแทน ให้เราทดสอบ
โดยการไปเปลี่ยนข้อความในตัวแปร s1 หรือ s2 แค่เปลี่ยนตัวอักษรตัวเล็กเป็นตัวใหญ่ก็ถือ
ว่าข้อความไม่เหมือนกัน
17. คลาตตรรงบัฟเฟอร์แลลสตรรงบลเรอร์
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 เท่านั้น