数组:
1、长度是确定的,一旦被创建,它的大小就是不可改变的
2、其元素必须是相同类型,不允许出现混合类型
3、数组中的元素是可以是任务数据类型的,包括基础类型和引用类型
4、数据也可以看成是对象,数组中的元素都是在堆中
5、数组边界问题:数组下标越界异常!
java.lang.ArrayIndexOutOfBoundsException
package com.fenghuo.array; public class Demo1 { public static void main(String[] args) { int[] nums;//1.声明数组变量 nums = new int[5];//2.定义数组 // int[] nums = new int[5] 声明加定义 //3.给数组赋值 nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = 5; System.out.println(add(nums)); } public static int add(int[] a){ int sum = 0; for(int i=0;i<a.length;i++) { sum = sum + a[i]; } return sum; } }
数组使用:
For-Each循环(强循环)
package com.fenghuo.array; public class Demo2 { public static void main(String[] args) { int[] nums = new int[5]; nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = 5; for (int x:nums) { System.out.print(x+" "); } } }
数组作方法入参
package com.fenghuo.array; public class Demo1 { public static void main(String[] args) { int[] nums;//1.声明数组变量 nums = new int[5];//2.定义数组 // int[] nums = new int[5] 声明加定义 //3.给数组赋值 nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = 5; System.out.println(add(nums)); } public static int add(int[] a){ int sum = 0; for(int i=0;i<a.length;i++) { sum = sum + a[i]; } return sum; } }
数组作返回值(反转数组)
package com.fenghuo.array; public class Demo3 { public static void main(String[] args) { int[] nums = new int[5]; nums[0] = 0; nums[1] = 1; nums[2] = 2; nums[3] = 3; nums[4] = 4; fanzhuan(nums); for (int x :fanzhuan(nums)) { System.out.print(x+" "); } } public static int[] fanzhuan(int[] nums){ int[] result = new int[nums.length]; for (int i = 0; i < nums.length; i++) { result[i] = nums[nums.length-i-1]; } return result; } }
多维数组:
package com.fenghuo.array; public class Demo4 { public static void main(String[] args) { //声明和定义与赋值多维数组 int[][] nums = new int[2][3]; int[][] nums2 = {{1,2},{3,4},{4,5},{5,6,7}}; for (int i = 0; i < nums2.length ; i++) { for (int j = 0; j <nums2[i].length ; j++) { System.out.print(nums2[i][j]+" "); } } } }