การประกาศอาร์เรย์ Java การสร้าง การเริ่มต้น
วิธีการประกาศอาร์เรย์หนึ่งมิติ:
พิมพ์ var[]; หรือพิมพ์ [] var;
เมื่อประกาศอาร์เรย์ คุณจะไม่สามารถระบุความยาวได้ (จำนวนองค์ประกอบในอาร์เรย์)
ใน Java คำหลักใหม่ถูกใช้เพื่อสร้างวัตถุอาร์เรย์ รูปแบบคือ:
ชื่ออาร์เรย์ = ประเภทองค์ประกอบอาร์เรย์ใหม่ [จำนวนองค์ประกอบอาร์เรย์]
ตัวอย่าง:
TestNew.java:
รหัสโปรแกรม:
TestNew คลาสสาธารณะ { โมฆะสาธารณะหลัก (String args []) { int [] s; int i; s = ใหม่ int [5]; สำหรับ (i = 0; i <5; i ++) { s [i] = i ; } สำหรับ (i = 4 ; i >= 0 ; i--) { System.out.println("" + s[i]) ;การเริ่มต้น:
1. การเริ่มต้นแบบไดนามิก: คำจำกัดความของอาร์เรย์จะดำเนินการแยกจากการดำเนินการจัดสรรพื้นที่และการกำหนดค่าให้กับอาร์เรย์
2. การเริ่มต้นแบบคงที่: จัดสรรพื้นที่และกำหนดค่าให้กับองค์ประกอบอาร์เรย์ในขณะที่กำหนดตัวเลข
3. การเริ่มต้นเริ่มต้น: อาร์เรย์เป็นประเภทอ้างอิง และองค์ประกอบจะเทียบเท่ากับตัวแปรสมาชิกของคลาส ดังนั้น หลังจากที่อาร์เรย์จัดสรรพื้นที่ แต่ละองค์ประกอบจะถูกเตรียมใช้งานตามกฎของตัวแปรสมาชิกด้วย
ตัวอย่าง:
TestD.java (ไดนามิก):
รหัสโปรแกรม:
TestD คลาสสาธารณะ { สาธารณะคงหลัก (String args []) { int a []; a = new int [3]; a [0] = 1; a [2] = 2; วัน[] ; วัน = ใหม่ วันที่[0] = ใหม่ วันที่(2008,4,5) ; วัน[1] = ใหม่ วันที่(2008,2,31) = ใหม่ วันที่ (2008,4,4); } } วันที่คลาส { int ปี, เดือน, วัน; วันที่ (int ปี, int เดือน, int day) { this.year = ปี; this.day = วัน; ;TestS.java (คงที่):
รหัสโปรแกรม:
การทดสอบคลาสสาธารณะ { โมฆะสาธารณะหลัก (String args []) { int a [] = {0,1,2}; เวลา ครั้ง [] = {เวลาใหม่ (19,42,42), เวลาใหม่ (1,23 ,54), เวลาใหม่ (5,3,2)} ; } } เวลาคลาส { int ชั่วโมง, นาที, วินาที ; เวลา (int ชั่วโมง ,int min ,int วินาที) { this.hour = ชั่วโมง ; ; นี้.วินาที = วินาที;TestDefault.java (ค่าเริ่มต้น):
รหัสโปรแกรม:
TestDefault คลาสสาธารณะ { โมฆะสาธารณะหลัก (String args []) { int a [] = new int [5] ; System.out.println ("" + a [3]) ; JAVA พื้นฐานอาร์เรย์หนึ่งมิติและอาร์เรย์หลายมิติ
ในภาษาจาวา อาร์เรย์เป็นประเภทข้อมูลคอมโพสิตที่ง่ายที่สุด อาร์เรย์คือชุดของข้อมูลที่เรียงลำดับ แต่ละองค์ประกอบในอาร์เรย์มีประเภทข้อมูลเดียวกัน สามารถใช้ชื่ออาร์เรย์แบบรวมและตัวห้อยเพื่อระบุองค์ประกอบในอาร์เรย์โดยไม่ซ้ำกัน อาร์เรย์ประกอบด้วยอาร์เรย์หนึ่งมิติและอาร์เรย์หลายมิติ
1. คำจำกัดความของอาร์เรย์หนึ่งมิติ
พิมพ์ arrayName[];
ประเภท (ประเภท) อาจเป็นประเภทข้อมูลใดก็ได้ใน Java รวมถึงประเภทธรรมดาและประเภทคอมโพสิต
ตัวอย่างเช่น:
int intArray[]; วันที่ dateArray[];
2. การเริ่มต้นอาร์เรย์หนึ่งมิติ
(1) การเริ่มต้นแบบคงที่
int intArray[]={1,2,3,4}; StringArray[]={"abc", "อย่างไร", "คุณ"};(2) การเริ่มต้นแบบไดนามิก
1) อาร์เรย์ชนิดธรรมดา
int intArray[]; intArray = ใหม่ int[5];
2) อาร์เรย์ของประเภทคอมโพสิต
String stringArray[ ]; String stringArray = new String[3];/*เปิดพื้นที่อ้างอิง (32 บิต) สำหรับแต่ละองค์ประกอบในอาร์เรย์ */ stringArray[0]= new String("How");//สำหรับ อันแรก สร้างพื้นที่สำหรับองค์ประกอบอาเรย์ stringArray[1]= new String("are");// เปิดพื้นที่สำหรับองค์ประกอบอาเรย์ที่สอง stringArray[2]= new String("you");// สร้างพื้นที่สำหรับอาเรย์ที่สาม องค์ประกอบ3. อ้างอิงถึงองค์ประกอบอาร์เรย์หนึ่งมิติ
องค์ประกอบอาร์เรย์มีการอ้างอิงดังนี้:
ชื่ออาร์เรย์[ดัชนี]
Index คือตัวห้อยอาร์เรย์ซึ่งอาจเป็นค่าคงที่จำนวนเต็มหรือนิพจน์ก็ได้ ตัวห้อยเริ่มต้นจาก 0 แต่ละอาร์เรย์มีความยาวแอตทริบิวต์ที่ระบุความยาว เช่น intArray.length ระบุความยาวของอาร์เรย์ intArray
อาร์เรย์หลายมิติ
ในภาษาจาวา อาร์เรย์หลายมิติถือเป็นอาร์เรย์ของอาร์เรย์
1. คำจำกัดความของอาร์เรย์สองมิติ
พิมพ์ arrayName[ ][ ]; พิมพ์ [ ][ ] arrayName;
2. การเริ่มต้นอาร์เรย์สองมิติ
(1) การเริ่มต้นแบบคงที่
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};ในภาษา Java เนื่องจากอาร์เรย์สองมิติถือเป็นอาร์เรย์ของอาร์เรย์ พื้นที่อาร์เรย์จึงไม่ได้รับการจัดสรรอย่างต่อเนื่อง ดังนั้นขนาดของแต่ละมิติของอาร์เรย์สองมิติจึงไม่จำเป็นต้องเท่ากัน
(2) การเริ่มต้นแบบไดนามิก
1) จัดสรรพื้นที่โดยตรงสำหรับแต่ละมิติในรูปแบบต่อไปนี้:
arrayName = ประเภทใหม่ [arrayLength1] [arrayLength2]; int a [ ][ ] = int ใหม่ [2] [3];
2) เริ่มจากมิติสูงสุด จัดสรรพื้นที่ให้แต่ละมิติ:
arrayName = ประเภทใหม่[arrayLength1][ ]; arrayName[0] = ประเภทใหม่[arrayLength20];
3) ตัวอย่าง: การเริ่มต้นแบบไดนามิกของอาร์เรย์ชนิดข้อมูลแบบง่ายสองมิติมีดังนี้
int a[ ][ ] = int ใหม่ [2] [ ]; a [0] = int ใหม่ [3];
สำหรับอาร์เรย์ของประเภทข้อมูลคอมโพสิตสองมิติ พื้นที่อ้างอิงจะต้องได้รับการจัดสรรสำหรับมิติสูงสุดก่อน จากนั้นจะต้องจัดสรรพื้นที่สำหรับมิติด้านล่างตามลำดับ นอกจากนี้ จะต้องจัดสรรพื้นที่แยกกันสำหรับแต่ละองค์ประกอบอาร์เรย์
ตัวอย่างเช่น:
String s[ ][ ] = new String[2][ ]; s[0]= new String[2];//จัดสรรพื้นที่อ้างอิงสำหรับมิติสูงสุด s[1]= new String[2]; มิติสูงสุด จัดสรรพื้นที่อ้างอิง s[0][0]= new String("Good");// จัดสรรพื้นที่แยกกันสำหรับแต่ละองค์ประกอบอาร์เรย์ s[0][1]= new String("Luck");// สำหรับแต่ละองค์ประกอบ องค์ประกอบอาร์เรย์ องค์ประกอบอาร์เรย์ได้รับการจัดสรรพื้นที่แยกกัน s[1][0]= new String("to");// จัดสรรพื้นที่แยกสำหรับแต่ละองค์ประกอบอาร์เรย์ s[1][1]= new String("You");// จัดสรรพื้นที่แยกต่างหากสำหรับแต่ละองค์ประกอบอาร์เรย์3. อ้างอิงถึงองค์ประกอบอาร์เรย์สองมิติ
สำหรับแต่ละองค์ประกอบในอาร์เรย์สองมิติ วิธีการอ้างอิงคือ: arrayName[index1][index2]
ตัวอย่างเช่น:
หมายเลข[1][0];
4. ตัวอย่างของอาร์เรย์สองมิติ:
[ตัวอย่าง] การคูณเมทริกซ์สองตัว
MatrixMultiply คลาสสาธารณะ { public static void main (String args []) { int i, j, k; int a [] = new int [2] [3]; // การเริ่มต้นแบบไดนามิกของอาร์เรย์สองมิติ int b [] []={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//การเริ่มต้นแบบคงที่
อาร์เรย์สองมิติ
int c[]=new int[2][4]; //การเริ่มต้นแบบไดนามิกของอาร์เรย์สองมิติสำหรับ (i=0;i<2;i++) สำหรับ (j=0; j<3;j++) a[ j]=(i+1)*(j+2); สำหรับ (i=0;i<2;i++){ สำหรับ (j=0;j<4;j++){ c[j]=0; สำหรับ( k=0;k<3;k++) c[j]+=a[k]*b[k][j] } } System.out.println("*****เมทริกซ์ C********");// พิมพ์เครื่องหมาย Matrix C for(i=0;i<2;i++){ for (j=0;j<4;j++) System.out.println(c[j]+" "); System.out.println( ); } } }