Java Arrays
Java Arrays
อาร์เรย์ใช้เพื่อเก็บหลายค่าในตัวแปรเดียว แทนที่จะประกาศตัวแปรแยกกันสำหรับแต่ละค่า
ในการประกาศอาร์เรย์ ให้กำหนดประเภทตัวแปรด้วยวงเล็บเหลี่ยม :
String[] cars;
ตอนนี้เราได้ประกาศตัวแปรที่เก็บอาร์เรย์ของสตริงแล้ว ในการแทรกค่าลงไป เราสามารถใช้อาร์เรย์ตามตัวอักษร - วางค่าในรายการที่คั่นด้วยเครื่องหมายจุลภาค ภายในวงเล็บปีกกา:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
ในการสร้างอาร์เรย์ของจำนวนเต็ม คุณสามารถเขียน:
int[] myNum = {10, 20, 30, 40};
เข้าถึงองค์ประกอบของอาร์เรย์
คุณเข้าถึงองค์ประกอบอาร์เรย์โดยอ้างอิงถึงหมายเลขดัชนี
คำสั่งนี้เข้าถึงค่าขององค์ประกอบแรกในรถยนต์:
ตัวอย่าง
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]);
// Outputs Volvo
หมายเหตุ:ดัชนีอาร์เรย์เริ่มต้นด้วย 0: [0] เป็นองค์ประกอบแรก [1] เป็นองค์ประกอบที่สอง เป็นต้น
เปลี่ยนองค์ประกอบอาร์เรย์
หากต้องการเปลี่ยนค่าขององค์ประกอบเฉพาะ ให้อ้างอิงกับหมายเลขดัชนี:
ตัวอย่าง
cars[0] = "Opel";
ตัวอย่าง
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
System.out.println(cars[0]);
// Now outputs Opel instead of Volvo
ความยาวอาร์เรย์
หากต้องการทราบจำนวนองค์ประกอบในอาร์เรย์ ให้ใช้length
คุณสมบัติ:
ตัวอย่าง
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars.length);
// Outputs 4
วนรอบอาร์เรย์
คุณสามารถวนซ้ำองค์ประกอบอาร์เรย์ด้วยการfor
วนซ้ำ และใช้length
คุณสมบัติเพื่อระบุจำนวนครั้งที่ควรเรียกใช้การวนซ้ำ
ตัวอย่างต่อไปนี้จะแสดงผลองค์ประกอบทั้งหมดใน อาร์เรย์รถยนต์ :
ตัวอย่าง
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length; i++) {
System.out.println(cars[i]);
}
วนรอบอาร์เรย์ด้วย For-Each
นอกจากนี้ยังมีลูป " for-each " ซึ่งใช้เพื่อวนซ้ำองค์ประกอบในอาร์เรย์เท่านั้น:
ไวยากรณ์
for (type variable : arrayname) {
...
}
ตัวอย่างต่อไปนี้จะแสดงผลองค์ประกอบทั้งหมดใน อาร์เรย์รถยนต์ โดยใช้ลูป " for-each ":
ตัวอย่าง
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}
ตัวอย่างข้างต้นสามารถอ่านได้ดังนี้: สำหรับแต่ละ String
องค์ประกอบ (เรียกว่า
i - as in
i ndex) ในรถยนต์ให้พิมพ์ค่าของi
หากคุณเปรียบเทียบfor
ลูปและfor-each loop คุณจะเห็นว่าวิธีfor-eachเขียนง่ายกว่า ไม่ต้องใช้ตัวนับ (โดยใช้คุณสมบัติ length) และสามารถอ่านได้ง่ายกว่า
อาร์เรย์หลายมิติ
อาร์เรย์หลายมิติคืออาร์เรย์ของอาร์เรย์
ในการสร้างอาร์เรย์สองมิติ ให้เพิ่มแต่ละอาร์เรย์ภายในชุด วงเล็บปีกกา ของตัวเอง :
ตัวอย่าง
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbersเป็นอาร์เรย์ที่มีสองอาร์เรย์เป็นองค์ประกอบ
ในการเข้าถึงองค์ประกอบของ อาร์เรย์ myNumbersให้ระบุดัชนีสองรายการ: ดัชนีหนึ่งสำหรับอาร์เรย์ และอีกรายการสำหรับองค์ประกอบภายในอาร์เรย์นั้น ตัวอย่างนี้เข้าถึงองค์ประกอบที่สาม (2) ในอาร์เรย์ที่สอง (1) ของ myNumbers:
ตัวอย่าง
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
int x = myNumbers[1][2];
System.out.println(x); // Outputs 7
นอกจากนี้เรายังสามารถใช้ตัวfor loop
อื่นfor loop
เพื่อรับองค์ประกอบของอาร์เรย์สองมิติได้ (เรายังต้องชี้ไปที่ดัชนีทั้งสอง):
ตัวอย่าง
public class Main {
public static void main(String[] args) {
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
for (int i = 0; i < myNumbers.length; ++i) {
for(int j = 0; j < myNumbers[i].length; ++j) {
System.out.println(myNumbers[i][j]);
}
}
}
}