Skip to Content

Arrays

วันนี้เรามาเรียนรู้เกี่ยวกับอาร์เรย์ (Arrays) ใน Java กัน อาร์เรย์เป็นโครงสร้างข้อมูลพื้นฐานที่สำคัญมากในการเขียนโปรแกรม

อาร์เรย์คืออะไร?

อาร์เรย์เป็นเหมือนกล่องที่แบ่งเป็นช่องๆ เท่าๆ กัน แต่ละช่องเก็บข้อมูลประเภทเดียวกันได้ เช่น ตัวเลขทั้งหมด หรือข้อความทั้งหมด

ลองนึกภาพถาดไข่ที่มีช่องสำหรับใส่ไข่ 12 ฟอง นั่นแหละคืออาร์เรย์ในชีวิตจริง! 🥚🥚🥚

การสร้างอาร์เรย์

ในภาษา Java เราสามารถสร้างอาร์เรย์ได้หลายวิธี:

  1. สร้างอาร์เรย์พร้อมกำหนดค่า:
int[] คะแนน = {85, 90, 78, 88, 76};
  1. สร้างอาร์เรย์ว่างแล้วค่อยใส่ค่าทีหลัง:
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

ข้อควรระวังและเคล็ดลับ

  1. ระวัง ArrayIndexOutOfBoundsException เมื่อพยายามเข้าถึง index ที่เกินขนาดของอาร์เรย์
  2. อาร์เรย์ใน Java มีขนาดคงที่ ไม่สามารถเปลี่ยนขนาดได้หลังจากสร้างแล้ว
  3. ใช้ 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 ช่วยให้เราจัดการกับข้อมูลจำนวนมากได้อย่างมีประสิทธิภาพ แม้จะมีข้อจำกัดในเรื่องขนาดที่ไม่สามารถเปลี่ยนแปลงได้ แต่ก็ยังเป็นเครื่องมือที่มีประโยชน์มากในการเขียนโปรแกรม

ปรับปรุงล่าสุด