JAVA-基礎-陣列
阿新 • • 發佈:2019-08-05
一、陣列概念
陣列是長度固定內容可變的儲存多個同一型別資料的容器。
二、定義陣列
方式一:
這種方式定義的陣列,只定義了長度而沒有指定初始值,則初始值採用預設值。
數值型別為0,char型為 ‘a’,boolean型為false,引用型別為null。
方式二:
這種方式定義的陣列,指定了陣列的初始值,而陣列的長度等於元素的個數。
方式三:
這種方式定義的陣列,指定了陣列的初始值,而陣列的長度等於元素的個數。
案例:
1 import java.util.Scanner; 2 /** 3 陣列 - 定義 4 */ 5 public class Demo07{ 6 public static void main(String args[]){ 7 //1.定義陣列方式一 8 9 int [] nums1 = new int[5]; 10 int nums2 [] = new int[5]; 11 char [] cs = new char[5]; 12 boolean [] bs = new boolean[5]; 13 String [] strs = new String[5]; 14 System.out.println(nums1[0]); 15 System.out.println(cs[0]); 16 System.out.println(bs[2]); 17 System.out.println(strs[3]); 18 19 20 //2.定義陣列方式二 21 /* 22 int [] nums = new int[]{1,3,5,7,9}; 23 */ 24 25 //3.定義陣列方式三 26 /* 27 int [] nums = {2,4,6,8,10}; 28 */ 29 } 30 }
三、陣列的基本操作
1.獲取陣列中的元素
通過 陣列引用[元素的索引]就可以訪問到陣列中的元素。所謂的索引就是元素在陣列中的位置,索引由0開始,最大的索引是 陣列的長度-1 。
1 //1.獲取陣列中的元素 2 int [] nums = {1,3,5,7,9}; 3 System.out.println(nums[0]); 4 System.out.println(nums[3]); 5 System.out.println(nums[4]);
2.獲取陣列的長度
通過訪問 陣列的 length屬性 可以得到陣列的長度。
1 //2.獲取陣列的長度 2 int [] nums = {1,3,5,7,9}; 3 System.out.println(nums.length);
3.遍歷陣列
1 //3.遍歷陣列 - 普通for 2 int [] nums = {1,3,5,7,9,11,13}; 3 for(int i=0;i<nums.length;i++){ 4 System.out.println(nums[i]); 5 } 6 //4.遍歷陣列 - 增強for迴圈 7 int [] nums = {1,3,5,7,9}; 8 for(int x : nums){ 9 System.out.println(x); 10 }
4.修改陣列中的元素
1 //5.修改陣列中的元素 2 int [] nums = {1,3,5,7,9}; 3 nums[2] = 100; 4 for(int x : nums){ 5 System.out.print(x+" "); 6 }
四、陣列常用應用
a. 獲取陣列中 最大 / 最小 的值
1 //6.獲取陣列中 最大值/最小值 2 int [] nums = {-23,-5,-3,-234,-2}; 3 if(nums.length > 0){ 4 int max = nums[0]; 5 for(int x : nums){ 6 if(x>max){ 7 max = x; 8 } 9 } 10 System.out.println(max); 11 }else{ 12 System.out.println("陣列為空!"); 13 }
b. 查詢陣列中元素所在位置
1 //7.查詢指定元素所在的位置 2 int [] nums = {2,3,65,23,6,3,78,9}; 3 int find = 3; 4 for(int i=0;i<nums.length;i++){ 5 if(find == nums[i]){ 6 System.out.println("數字"+find+"出現在陣列"+i+"位"); 7 } 8 }
c. 反轉陣列
1 //8.反轉陣列 0--4 1--3 2 -- 2 3 -- 1 4 --0 2 int nums [] = {2,3,65,23,6}; 3 int nums2 [] = new int[nums.length]; 4 for(int i=0;i<nums.length;i++){ 5 nums2[nums.length - 1 - i] = nums[i]; 6 } 7 for(int x : nums2){ 8 System.out.println(x); 9 }
完整案例:
1 import java.util.Scanner; 2 /** 3 陣列的應用 4 */ 5 public class Demo08{ 6 public static void main(String args[]){ 7 //1.獲取陣列中的元素 8 /* 9 int [] nums = {1,3,5,7,9}; 10 System.out.println(nums[0]); 11 System.out.println(nums[3]); 12 System.out.println(nums[4]); 13 */ 14 15 //2.獲取陣列的長度 16 /* 17 int [] nums = {1,3,5,7,9}; 18 System.out.println(nums.length); 19 */ 20 21 //3.遍歷陣列 - 普通for迴圈 22 /* 23 int [] nums = {1,3,5,7,9}; 24 for(int i=0;i<nums.length;i++){ 25 System.out.println(nums[i]); 26 } 27 */ 28 //4.遍歷陣列 - 增強for迴圈 29 /* 30 int [] nums = {1,3,5,7,9}; 31 for(int x : nums){ 32 System.out.println(x); 33 } 34 */ 35 //5.修改陣列中的元素 36 /* 37 int [] nums = {1,3,5,7,9}; 38 nums[2] = 100; 39 for(int x : nums){ 40 System.out.print(x+" "); 41 } 42 */ 43 /* 44 //6.獲取陣列中 最大值/最小值 45 int [] nums = {-23,-5,-3,-234,-2}; 46 if(nums.length > 0){ 47 int max = nums[0]; 48 for(int x : nums){ 49 if(x>max){ 50 max = x; 51 } 52 } 53 System.out.println(max); 54 }else{ 55 System.out.println("陣列為空!"); 56 } 57 */ 58 //7.查詢指定元素所在的位置 59 /* 60 int [] nums = {2,3,65,23,6,3,78,9}; 61 int find = 3; 62 for(int i=0;i<nums.length;i++){ 63 if(find == nums[i]){ 64 System.out.println("數字"+find+"出現在陣列"+i+"位"); 65 } 66 } 67 */ 68 //8.反轉陣列 0--4 1--3 2 -- 2 3 -- 1 4 --0 69 /* 70 int nums [] = {2,3,65,23,6}; 71 int nums2 [] = new int[nums.length]; 72 for(int i=0;i<nums.length;i++){ 73 nums2[nums.length - 1 - i] = nums[i]; 74 } 75 for(int x : nums2){ 76 System.out.println(x); 77 } 78 */ 79 } 80 }