一.数组的概念
数组是一种容器可以同时存放多个数据值
二.数组的特点
- 数组是一种引用数据类型(还有字符串)
- 数组中的多个数据,类型必须同一
- 数组的长度在程序运行期间不可以变
三.数组的初始化:
在内存中建立一个数组,并向其中富裕一些默认的值
四.常见的初始化方式
- 动态初始化
- 静态初始化
静态初始化的格式:
数据类型 [ ] 数组名称 = new 数据类型 [ ] { 所要放入数组的内容 };
动态初始化的格式:
数据类型 [ ] 数组名称 = new 数据类型 [数组的长度 ];
含义解析
- 右侧的new表示创建数组的动作
- 右侧数据类型:必须和左边的数据类型保持一致
- 右侧[ ]中表示可以保存的数据的数量
**
public class shuzu02 {
public static void main(String[] args) {
//使用动态初始化数组的时候,系统会给数组赋一个默认的值
/*
若为整数类型则默认为 :0
若为浮点类型则默认为: 0.0
若为字符类型则默认为: ‘\u0000’
若为引用类型则默认为: null
若为布尔类型则默认为: flase
*/
//左边为名称 右边为new出来的数组
int [] arrery = new int[3];
System.out.println(arrery);//地址值
System.out.println(arrery[0]);
System.out.println(arrery[1]);
System.out.println(arrery[2]);
}
}
public class ShuZu01 {
public static void main(String[] args) {
//静态数组的定义
//虽然长度没有被给出但是根据{ 、、、、、 }的内容可以自动计算出长度
int [] Mem = new int[]{10,20,30,40};
String [] MemB = new String[]{"hello","gentleman"};
//动态数组的定义
int [] MemA = new int[100];
//静态数组的省略表示
int [] MemC = {10,20,30,40};
//数组的遍历
for (int i = 0; i < Mem.length; i++) {
System.out.println(Mem[i]);}
//普通的直接打印
System.out.println(MemC[2]);
System.out.println(MemB[0]);
//若直接打印数组的地址 会得到相应的地址名称
//[I@1b6d3586 I表示int类型 后面的一串数字是十六进制
System.out.println(Mem);
}
}
数组元素的反转
public class fanzhuan {
public static void main(String[] args) {
int [ ] men = new int[]{10 ,30 ,40,50,60 };
for (int i = 0; i < men.length ; i++) {
System.out.println(men[i]);
}
System.out.println("========================================================");
//为什么用length-1的原因是 数组的编码从0开始
for(int min = 0,max = men.length-1;min<max;min++,max--){
int temp = men[min];
men[min] = men[max];
men[max] = temp;
}
for (int i = 0; i < men.length;i++){
System.out.println(men[i]);
}
}
}
数组的遍历
public class shuzudebianlishuchu {
public static void main(String[] args) {
int [ ] arrery = new int[]{10,20 ,30,40,55555};
int max = arrery[0];
for (int i = 1; i < arrery.length; i++) {
if(max<arrery[i]){
max = arrery[i];
}
}
System.out.println("最大值"+max);
}
}