ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
บทที่ 8 อาร์เรย์
2
ข้อมูลชนิดอาร์เรย์ จากการเขียนโปรแกรมที่ผ่านมา ตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้ 1 ค่า เช่น ถ้าต้องการเก็บข้อมูลคะแนนของนักศึกษาคนหนึ่งที่มีวิชาเรียนทั้งหมด 9 วิชา จะต้องประกาศตัวแปรจำนวน 9 ตัว ดังนี้ สามารถรวมกลุ่มข้อมูลประเภทเดียวกันได้ ---> ข้อมูลชนิดอาร์เรย์ String name; int x0, x1, x2, x3, x4, x5, x6, x7, x8;
3
ความหมายของอาร์เรย์ อาร์เรย์ (Array) เป็นการเก็บข้อมูลชนิดเดียวกันไว้ในตัวเองได้มากกว่า 1 ค่า มิติของอาร์เรย์ การเก็บข้อมูลแบบเป็นชุดๆ ในอาร์เรย์ มีมุมมองของการเก็บ หรือมิติ (dimension) ได้หลายรูปแบบ จากตัวอย่างเป็นการเก็บอาร์เรย์ 1 มิติ เราก็สามารถมีมิติของอาร์เรย์รูปเป็น 2 มิติ (เหมือนรูปแบบของตาราง) หรือ 3 มิติ (เหมือนรูปแบบของกล่อง) ชื่อตัวแปรชนิดอาร์เรย์ อินเด็กซ์หรือสับคริปต์ แต่ละอีลีเมนต์หรือเซลล์
4
ความหมายของอาร์เรย์ มิติของอาร์เรย์ ตัวแปรแบบ 3 มิติเก็บคล้ายๆ กับกล่องซ้อนๆ กัน อินเด็กซ์ ต้องเป็นข้อมูลประเภทจำนวนเต็มเท่านั้น เริ่มจาก 0 ถึง size-1
5
อินเด็กซ์ของอาร์เรย์
อินเด็กซ์ของอาร์เรย์ 1 มิติ อินเด็กซ์อาร์เรย์ 2 มิติ
6
การใช้งานอาร์เรย์หนึ่งมิติ
การประกาศอาร์เรย์หนึ่งมิติ สามารถประกาศได้ 2 รูปแบบ คือ รูปแบบที่ 1 : ประกาศตัวแปรก่อนแล้วสร้างอาร์เรย์ รูปแบบที่ 2 ประกาศตัวแปรพร้อมกับสร้างอาร์เรย์ ชนิดของข้อมูล ชื่ออาร์เรย์ [ ] ; หรือ ชนิดของข้อมูล [ ] ชื่ออาร์เรย์; ชื่ออาร์เรย์ = new ชนิดของข้อมูล [ขนาดของอาร์เรย์] ; ชนิดของข้อมูล ชื่ออาร์เรย์ [ ] = new ชนิดของข้อมูล [ขนาดของอาร์เรย์] ; หรือ ชนิดของข้อมูล [ ] ชื่ออาร์เรย์ = new ชนิดของข้อมูล [ขนาดของอาร์เรย์] ;
7
การแทนค่าข้อมูลลงในอาร์เรย์
รูปแบบที่ 1 : แทนค่าข้อมูลลงในตำแหน่งของอาร์เรย์โดยตรง รูปแบบที่ 2 : แทนค่าข้อมูลลงในอาร์เรย์แต่ละตำแหน่งด้วยคำสั่งเดียว การเรียกใช้อาร์เรย์ ทดลองเขียนโปรแกรม ชื่ออาร์เรย์ [อินเด็กซ์] = ค่าของข้อมูล ชนิดของข้อมูล ชื่ออาร์เรย์ [] = {ค่าข้อมูล 1, ค่าข้อมูล 2, ค่าข้อมูล 3,....., ค่าข้อมูล n }; ชื่ออาร์เรย์ [อินเด็กซ์];
8
โปรแกรม1 num[0] = 0 num[0] + num[1] = 1 num[2] + num[3] = 5
public class test_array1 { public static void main(String[] args) { int num[]; num = new int[4]; num[1] = 1; num[2] = 2; num[3] = 3; System.out.println("num[0] = "+num[0]); System.out.println("num[0] + num[1] = "+(num[0] + num[1])); System.out.println("num[2] + num[3] = "+(num[2] + num[3])); System.out.println("num[1+2] = "+(num[1+2])); System.out.println("num[2]+2 = "+(num[2]+2)); } int num[] = new int[4]; num[0] = 0 num[0] + num[1] = 1 num[2] + num[3] = 5 num[1+2] = 3 num[2]+2 = 4
9
โปรแกรม 2 ประกาศและกำหนดค่า
public class test_array2 { public static void main(String[] args) { int num[] = {0,1,2,3}; System.out.println("num[0] = "+num[0]); System.out.println("num[0] + num[1] = "+(num[0] + num[1])); System.out.println("num[2] + num[3] = "+(num[2] + num[3])); System.out.println("num[1+2] = "+(num[1+2])); System.out.println("num[2]+2 = "+(num[2]+2)); } ประกาศและกำหนดค่า
10
อาร์เรย์ 2 มิติ ตัวแปรอาร์เรย์ที่เก็บข้อมูลได้มากกว่าหนึ่งแถว โดยถ้าเป็นตัวแปรอาร์เรย์ที่เก็บข้อมูลได้ 2 ชั้น จะเรียกว่าตัวแปรอาร์เรย์ 2 มิติ ซึ่งสามารถเปรียบเทียบได้กับตารางที่มีทั้งแถว และคอลัมน์ โดยเริ่มนับหัวแถวและหัวคอลัมน์เริ่มจาก 0
11
อาร์เรย์ 2 มิติ รูปแบบการประกาศอาร์เรย์ 2 มิติ
การแทนค่าข้อมูลลงในตำแหน่งของอาร์เรย์โดยตรง แทนค่าข้อมูลทุกค่าลงในอาร์เรย์แต่ละตำแหน่งด้วยคำสั่งเดียว ชนิดของข้อมูล ชื่ออาร์เรย์ [ ][ ] = new ชนิดของข้อมูล [จำนวนแถว][จำนวนคอลัมน์] ; ชื่ออาร์เรย์ [ตำแหน่งของแถว][ตำแหน่งของคอลัมน์] = ค่าของข้อมูล ; ชนิดของข้อมูล ชื่ออาร์เรย์ [][]= {{ค่าข้อมูล[0][0], ค่าข้อมูล [0][1], ....., ค่าข้อมูล [0][j] }, {ค่าข้อมูล[1][0], ค่าข้อมูล [1][1], ....., ค่าข้อมูล [1][j] }, ….. {ค่าข้อมูล[i][0], ค่าข้อมูล [i][1], ....., ค่าข้อมูล [i][j] }, };
12
อาร์เรย์ 2 มิติ การเรียกใช้อาร์เรย์ 2 มิติ รูปแบบการเรียกใช้อาร์เรย์
การเรียกใช้อาร์เรย์ 2 มิติ รูปแบบการเรียกใช้อาร์เรย์ ทดลองเขียนโปรแกรม ชื่ออาร์เรย์ [ตำแหน่งของแถว][ตำแหน่งของคอลัมน์] ;
13
โปรแกรม 3 1 0 0 0 1 0 0 0 1 public class test_array3 {
public static void main(String[] args) { int num[][] = {{1,0,0},{0,1,0},{0,0,1}}; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) System.out.print(num[i][j]+"\t"); System.out.println(); }
14
โปรแกรม 4 จงเขียนโปรแกรมเพื่อรับค่าคะแนน ซึ่งประกอบด้วย score1 score2 และ score3 ของนักศึกษาจำนวน 5 คน จากแป้นพิมพ์ แล้วแสดงผลลัพธ์ดังต่อไปนี้ออกทางจอภาพ หมายเหตุ total คือผลรวมของ score1 score2 และ score3 student score1 score2 score3 total 1 … 2 3 4 5
15
import java.util.Scanner;
public class test_array4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int score[][] = new int[5][3]; int total_row []= new int[5]; int sum=0; // Input Score from user for(int i=0;i<5;i++) { System.out.println("Enter score of student_"+(i+1)); for(int j=0;j<3;j++) { System.out.print("Enter score "+j+":"); score[i][j] =input.nextInt(); sum+=score[i][j]; } total_row[i]=sum; sum=0; // Show table of Score System.out.println("\nstudent\tscore1\tscore2\tscore3\total"); { System.out.print(" "+(i+1)+" \t"); System.out.print(" "+score[i][j]+" \t"); System.out.print(" "+total_row[i]+" \t"); System.out.println(); } }
16
import java.util.Scanner; public class test_array4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int score[][] = new int[5][3]; int total_row []= new int[5]; int sum=0; // Input Score from user for(int i=0;i<5;i++) { System.out.println("Enter score of student_"+(i+1)); for(int j=0;j<3;j++) { System.out.print("Enter score "+j+":"); score[i][j] =input.nextInt(); sum+=score[i][j]; } total_row[i]=sum; sum=0;
17
ก่อนจบบท ในบทนี้เราได้เรียนรู้การใช้งานอาร์เรย์ ซึ่งเป็นตัวแปรที่สามารถเก็บข้อมูลได้เป็นชุด ซึ่งแตกต่างจากเดิมที่ตัวแปรหนึ่งตัวเก็บค่าได้ค่าเดียว โดยข้อมูลในอาร์เรย์จะต้องเป็นชนิดเดียวกัน ในการจัดการอาร์เรย์นั้นเราต้องทราบว่าอาร์เรย์นั้นเป็น 1 มิติ, 2 มิติ หรือหลายมิติ รวมทั้งมีขนาดเท่าใด และเราจะใช้อินเด็กซ์เพื่อเข้าถึงสมาชิกแต่ตัวของอาร์เรย์ โดยมีการใช้ for statement มาช่วยในการเข้าถึงสมาชิกของอาร์เรย์
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.