一.数组的概念
新建数组
//int数组在未赋值时,元素值为0
int[] arry=new int[3];
//String数组在未赋值时,元素值为null
String[] arry1=new String[3];
//char数组在未赋值时,元素值为\u0000
char[] arry2=new char[3];
//float数组在未赋值时,元素值为0.0
float[] arry3=new float[3];
二.数组定义的格式
1.动态初始化
int[] arry=new int[3];
2.静态初始化
静态初始化完整版
int[] arry=new int[]{1,25,60};
静态初始化省略版
int[] arry={25,60,33};
三.访问数组元素进行获取
访问数组元素进行获取
//新建数组
int[] arry={15,25,30};
//获取数组元素,改变相应的索引值
System.out.print("arry[0]");
访问数组元素进行赋值
//新建数组
int[] arry=new int[3];
//数组赋值
arry[0]=3;
四.JAVA的内存划分
java的内存划分为五个部分:栈,堆,方法区,本地方法栈,寄存器
如代码int[] arry=new int[3];在运行时,java内存分配如下图
假设堆中new int[3]的地址为0x777,则将0x777赋给int[] arry,使其指向堆中的new int[3]
五.数组常见问题
1.数组越界java.lang.ArrayIndexOutOfBoundsException
如下图代码
int[] arry=new int[2];
System.out.println(arry[2]);
因为arry数组不存在arry[2],所以出现数组越界异常
2.空指针异常
int[] arry=null;
System.out.println(arry[0]);
六.数组遍历
int[] arry=new int[]{1,2,3,4,5}
for(int i=0;i<=arry.length;i++){
System.out.print("arry[i]")
}
七.数组的相关操作
1.数组中寻找最大值
int[] arry={66,34,59,87,46,25,31};
int max=arry[0];
for(int i=1;i<arry.length;i++){
if(arry[i]>max){
max=arry[i];
}
}
System.out.println(max);
2.只用一个数组,实现数组反转
int[] arry={66,34,59,87,46,25,31};
int max=arry[0];
for(int min=0,Max=arry.length-1;min<Max;min++,Max--){
int temp=0;
temp=arry[min];
arry[min]=arry[Max];
arry[Max]=temp;
}
for(int i=0;i<arry.length;i++){
System.out.print(arry[i]+",");
}
}
代码输出:31,25,46,87,59,34,66,