Arrays
วันนี้เรามาเรียนรู้เกี่ยวกับอาร์เรย์ (Arrays) ใน Java กัน อาร์เรย์เป็นโครงสร้างข้อมูลพื้นฐานที่สำคัญมากในการเขียนโปรแกรม
อาร์เรย์คืออะไร?
อาร์เรย์เป็นเหมือนกล่องที่แบ่งเป็นช่องๆ เท่าๆ กัน แต่ละช่องเก็บข้อมูลประเภทเดียวกันได้ เช่น ตัวเลขทั้งหมด หรือข้อความทั้งหมด
ลองนึกภาพถาดไข่ที่มีช่องสำหรับใส่ไข่ 12 ฟอง นั่นแหละคืออาร์เรย์ในชีวิตจริง! 🥚🥚🥚
การสร้างอาร์เรย์
ในภาษา Java เราสามารถสร้างอาร์เรย์ได้หลายวิธี:
- สร้างอาร์เรย์พร้อมกำหนดค่า:
int[] คะแนน = {85, 90, 78, 88, 76};- สร้างอาร์เรย์ว่างแล้วค่อยใส่ค่าทีหลัง:
String[] วันในสัปดาห์ = new String[7];
วันในสัปดาห์[0] = "จันทร์";
วันในสัปดาห์[1] = "อังคาร";
// ... ใส่ค่าต่อไปจนครบการเข้าถึงและแก้ไขค่าในอาร์เรย์
เราใช้ตำแหน่งของช่อง (index) เพื่อเข้าถึงหรือแก้ไขค่าในอาร์เรย์ โดย index เริ่มจาก 0:
int[] คะแนน = {85, 90, 78, 88, 76};
System.out.println("คะแนนแรก: " + คะแนน[0]); // แสดง 85
System.out.println("คะแนนที่สอง: " + คะแนน[1]); // แสดง 90
คะแนน[2] = 95; // เปลี่ยนคะแนนที่สามเป็น 95
System.out.println("คะแนนที่สามหลังแก้ไข: " + คะแนน[2]); // แสดง 95ความยาวของอาร์เรย์
เราสามารถหาความยาวของอาร์เรย์ได้โดยใช้ .length:
int[] คะแนน = {85, 90, 78, 88, 76};
System.out.println("จำนวนคะแนนทั้งหมด: " + คะแนน.length); // แสดง 5การวนลูปผ่านอาร์เรย์
เราสามารถใช้ลูปเพื่อทำงานกับทุกค่าในอาร์เรย์ได้:
String[] ผลไม้ = {"แอปเปิ้ล", "กล้วย", "ส้ม", "มะม่วง"};
// ใช้ for loop
for (int i = 0; i < ผลไม้.length; i++) {
System.out.println("ผลไม้ชิ้นที่ " + (i+1) + ": " + ผลไม้[i]);
}
// หรือใช้ for-each loop (ง่ายกว่า)
for (String ชื่อผลไม้ : ผลไม้) {
System.out.println(ชื่อผลไม้);
}อาร์เรย์หลายมิติ
Java สนับสนุนอาร์เรย์หลายมิติ เช่น อาร์เรย์ 2 มิติที่เหมือนตารางหมากรุก:
int[][] ตารางคูณ = {
{1, 2, 3},
{2, 4, 6},
{3, 6, 9}
};
System.out.println("2 x 3 = " + ตารางคูณ[1][2]); // แสดง 6ข้อควรระวังและเคล็ดลับ
- ระวัง ArrayIndexOutOfBoundsException เมื่อพยายามเข้าถึง index ที่เกินขนาดของอาร์เรย์
- อาร์เรย์ใน Java มีขนาดคงที่ ไม่สามารถเปลี่ยนขนาดได้หลังจากสร้างแล้ว
- ใช้ Arrays.toString() เพื่อพิมพ์ค่าทั้งหมดในอาร์เรย์:
import java.util.Arrays;
int[] คะแนน = {85, 90, 78, 88, 76};
System.out.println(Arrays.toString(คะแนน));ตัวอย่างการใช้งานจริง
มาลองทำโปรแกรมหาค่าเฉลี่ยของคะแนนสอบกัน:
public class คำนวณเกรด {
public static void main(String[] args) {
int[] คะแนนสอบ = {78, 85, 90, 72, 88, 79};
int ผลรวม = 0;
for (int คะแนน : คะแนนสอบ) {
ผลรวม += คะแนน;
}
double ค่าเฉลี่ย = (double) ผลรวม / คะแนนสอบ.length;
System.out.printf("คะแนนเฉลี่ย: %.2f\n", ค่าเฉลี่ย);
if (ค่าเฉลี่ย >= 80) {
System.out.println("เกรด: A");
} else if (ค่าเฉลี่ย >= 70) {
System.out.println("เกรด: B");
} else if (ค่าเฉลี่ย >= 60) {
System.out.println("เกรด: C");
} else if (ค่าเฉลี่ย >= 50) {
System.out.println("เกรด: D");
} else {
System.out.println("เกรด: F");
}
}
}สรุป
อาร์เรย์เป็นโครงสร้างข้อมูลพื้นฐานที่สำคัญมากใน Java ช่วยให้เราจัดการกับข้อมูลจำนวนมากได้อย่างมีประสิทธิภาพ แม้จะมีข้อจำกัดในเรื่องขนาดที่ไม่สามารถเปลี่ยนแปลงได้ แต่ก็ยังเป็นเครื่องมือที่มีประโยชน์มากในการเขียนโปรแกรม