Java数组
什么是数组?
当我们想要定义变量时,变量很多,如果我们一个个去定义,太过于麻烦,还要每一个都要命名,数组就是通过定义个组名,然后通过下标来区别组内元素。
数组的定义格式
答:
type arrayName[];
type[] arrayName;
type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。
数组的动态初始化
String[] names = new String[5];
names[0] = "张三";
names[1] = "李四";
names[2] = "王五";
通过上面的方法动态的给数组的元素初始化赋值。
数组元素的访问
//静态初始化
String[] names = new String[]{"张三","李四","王五"};
System.out.println(names[0]);
可以通过索引来获取对应元素的值,索引从0开始到n-1结束。
内存分配
略(后期补充)
数组操作的两个常见小问题
答:ArrayIndexOutOfBoundsException:数组索引越界异常、 NullPointerException:空指针异常
数组遍历
//while循环
String[] names = new String[]{"张三","李四","王五"};
int i=0;
while(i<names.length){
System.out.println(names[i]);
i++;
}
//do while循环
String[] names = new String[]{"张三","李四","王五"};
int i=0;
do{
System.out.println(names[i]);
i++;
}while(i<names.length);
//for循环
String[] names = new String[]{"张三","李四","王五"};
for(int i =0;i<names.length;i++){
System.out.println(names[i]);
}
//增强for循环
String[] names = new String[]{"张三","李四","王五"};
for(String i : names ){
System.out.println(i);
}
最大值
//while循环
int[] arrays = new int[]{10,15,3,30,45};
int max = 0;
int i = 0;
while(i<arrays.length){
if(max<arrays[i]) {
max = arrays[i];
}
i++;
}
System.out.println("max:"+max);
//do while循环
int[] arrays = new int[]{10,15,3,30,45};
int max = 0;
int i = 0;
do{
if(max<arrays[i]) {
max = arrays[i];
}
i++;
}while(i<arrays.length);
System.out.println("max:"+max);
//for循环
int[] arrays = new int[]{10,15,3,30,45};
int max = 0;
for(int i = 0;i<arrays.length;i++) {
if(max<arrays[i]) {
max = arrays[i];
}
}
System.out.println("max:"+max);
//增强for循环
int[] arrays = new int[]{10,15,3,30,45};
int max = 0;
for(Integer i : arrays) {
if(max<i.intValue()) {
max = i.intValue();
}
}
System.out.println("max:"+max);