1.数组的声明
(1)
d
int a;
int[] nums; //定义int类型的数组 名为nums
int nums2[]; //知道即可
(2)Java中使用new来创建数组
int[] nums; //定义声明int类型的数组 名为nums
nums = new int[10]; //创建一个空间,里面开辟10个小空间 可以存10个int类型的数字
int[] nums = new int[10];
(3)数组的元素通过索引访问,从0开始
赋值 //int 不赋值默认0
获取数组长度 arrays.Length
2。三种初始化
数组本身就是对象,数据元素相当于对象的成员变量 java中对象是在堆中的
/*数组是引用类型,其元素相当于类的实例变量,
所以数组一经分配空间,每个元素就会同实例变量一样被初始化
每个元素默认值为0
*/
//静态初始化,创建并赋值
int[] a = {1,2,,3,4,5}; // a[0]=1
//引用类型
Man[] mans = {new Man(),new Man()};
//动态初始化
int[] b = new int[10];
b[0] = 10;
3.数组边界
(1) 有10个元素 合法区间【0,9】
(2) 数组下边越界异常
ArrayIndexOutOfBoundsException: 最多只有num[9],要求输出num[10]
4.(1)遍历数组增强型for循环即 for-each循环
普通for
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
//打印所有数组元素
for (int i = 0; i < arrays.length;i++){
System.out.println(arrays[i]);
}
//计算所有元素和
int sum =0;
for (int i = 0; i < args.length; i++) {
sum += arrays[i];
}
System.out.println("sum = "+sum);
//查找最大元素
int max = arrays[0];
for (int i = 1; i < arrays.length; i++) {
if(arrays[i]>max){
max = arrays[i];
}
}
System.out.println("max = "+max);
}
array.for
(2)数组做方法入参 数组作为返回值
public static void main(String[] args) {
int[] arrays = {1,2,3,4,5};
printArray(arrays);
System.out.println(" ");
int[] reverse = reverse(arrays); //调用完方法后返回一个数组
printArray(reverse);
}
//反转数组 类型 方法 参数 数组作为返回值
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
//反转
for (int i = 0,j = result.length-1; i < arrays.length; i++,j--) {
result[j] = arrays[i];
}
return result;
}
// 打印数组方法 数组作为方法入参
public static void printArray(int[] arrays){
for (int i = 0; i < arrays.length; i++) {
System.out.print(arrays[i]+" ");
}
}