Java数组
数组声明创建
package com.zhang.array;
public class ArrayDemo01 {
public static void main(String[] args) {
int[] nums; //声明数组 首选方法!
int nums2[]; //声明数组
int[] num3 = new int[5];//创建数组
nums = new int[10];//创建一个数组 数组长度为10
nums[0]=1;
nums[1]=2;
nums[2]=3;
nums[3]=4;
nums[4]=5;
nums[5]=6;
nums[6]=7;
nums[7]=8;
nums[8]=9;
//不赋值为该类型的默认值
System.out.println(nums[9]);
}
}
内存分析
三种初始化
package com.zhang.array;
public class ArrayDemo03 {
public static void main(String[] args) {
// 静态初始化
int[] a= {1,2,3,4,5};
System.out.println("a[0]="+a[0]);
// 动态初始化,包含默认初始化
int[] b = new int[5];
b[0]=5;
b[4]=10;
System.out.println("b[3]="+b[3]);
System.out.println("b[4]="+b[4]);
}
}
数组的四个基本特点
数组边界
数组的使用
package com.zhang.array;
public class ArrayDemo04 {
public static void main(String[] args) {
int[] array = new int[5];
for (int i = 0;i< array.length;i++) // 给数组赋值
array[i]=i+1;
//遍历数组
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
System.out.println("\n================");
// 求数组所有元素的和
int sum=0;
for (int i = 0; i < array.length; i++) {
sum+=array[i];
}
System.out.println(sum);
System.out.println("================");
// 查找数组中最大的元素
int max=array[0];
array[2]=6;
for (int i = 1; i < array.length; i++) {
if(array[i]>max)
max=array[i];
}
System.out.println(max);
}
}
package com.zhang.array;
public class ArrayDemo05 {
public static void main(String[] args) {
int[] array = new int[5];
for (int i = 0;i< array.length;i++) // 给数组赋值
array[i]=i+1;
//增强for循环遍历数组
for (int num:array) {//num为依次获取的数组的元素,array是数组
System.out.print(num+" ");//无法获取数组的下标
}
System.out.println("\n==================");
printArray(array);
System.out.println("\n==================");
int [] result=reverse(array);
printArray(result);
}
//数组做为方法的参数
public static void printArray(int[] array){
for (int num:array) {
System.out.print(num+" ");
}
}
//数组做为方法的返回值
public static int[] reverse(int[] array){
int[] result=new int[array.length];
for (int i=0,g= result.length-1;i<array.length;i++,g--)
result[g]=array[i];
return result;
}
}