Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language Chapter 6 Array
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Introducing Arrays Array เป็นตัวแปรชุดที่สามารถเก็บค่าคัวแปร ที่มีชนิดเดียวดันได้เป็นจำนวนมากได้
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved การประกาศตัวแปร Array F datatype[] arrayRefVar; ตัวอย่าง : double[] myList; datatype arrayRefVar[]; // This style is allowed, but not preferred ตัวอย่าง : double myList[];
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved การสร้างตัวแปร Arrays arrayRefVar = new datatype[arraySize]; Example: myList = new double[10]; ตัวอย่าง เช่น จากตัวอย่างการสร้างตัวแปรอาเรย์ ด้านบน myList[0] // เป็นการอ้างอิงถึงสมาชิกตัวแรกของตัว แปร array. myList[9] // เป็นการอ้างอิงถึงสมาชิกตัวสุดท้ายของ ตัวแปร array.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved การประกาศตัวแปรพร้อมการสร้างตัว แปร Array F datatype[] arrayRefVar = new datatype[arraySize]; double[] myList = new double[10]; F datatype arrayRefVar[] = new datatype[arraySize]; double myList[] = new double[10];
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved การหาขนาดของตัวแปร Array เมื่อสร้างตัวแปรอาเรย์ขึ้นท่แล้ว, ขนาดของตัวแปรจะ คงที่ คือไม่สามารถจะเปลี่ยนแปลงขนาดของตัวแปร ในภายหลังได้ วิธีการหาขนาดของตัวแปร ทำได้ดังนี้ arrayRefVar.length ยกตัวอย่าง เช่น, myList.length // จากตัวอย่าที่แล้ว returns 10
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Indexed Variables การสมาชิกของตัวแปรอาเรย์เข้าถึงได้โดยใช้ index โดย index ของตัวแปรจะเริ่มจาก 0 ถึง arrayRefVar.length-1. ตามตัวอย่าง Slide 5, ตัวแปร myList จะมีค่า double จำนวน 10 ค่า และ index เริ่ม จาก 0 ถึง 9. การเข้าถึงในแต่ละสมาชิกตัวแปรอาเรย์ สามารถใช้ รูปแบบในการเข้าถึงได้ดังนี้ รูปแบบ : arrayRefVar[index]; Example myList[0] references the first element in the array. myList[9] references the last element in the array.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved กำหนดค่าในตัวแปรอาเรย์ double[] myList = {1.9, 2.9, 3.4, 3.5}; สามารถกำหนดค่าในตัวแปรได้อีกแบบหนึงคือ double[] myList = new double[4]; myList[0] = 1.9; myList[1] = 2.9; myList[2] = 3.4; myList[3] = 3.5;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = values[i] + values[i-1]; } values[0] = values[1] + values[4]; } Declare array variable values, create an array, and assign its reference to values animation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = values[i] + values[i-1]; } values[0] = values[1] + values[4]; } i becomes 1 animation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = values[i] + values[i-1]; } values[0] = values[1] + values[4]; } i (=1) is less than 5 animation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; } values[0] = values[1] + values[4]; } After this line is executed, value[1] is 1 animation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = values[i] + values[i-1]; } values[0] = values[1] + values[4]; } After i++, i becomes 2 animation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = values[i] + values[i-1]; } values[0] = values[1] + values[4]; } i (= 2) is less than 5 animation
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Trace Program with Arrays public class Test { public static void main(String[] args) { int[] values = new int[5]; for (int i = 1; i < 5; i++) { values[i] = i + values[i-1]; } values[0] = values[1] + values[4]; } After this line is executed, values[2] is 3 (2 + 1) animation