一,基本概念
理解:一组数据的容器
应用场景:存储多个数据的时候可以考虑使用数组
概念: 数组是引用数据类型;数组中的数据称为元素;元素都有编号,称之为 下标/索引;下标从0开始;数组一旦初始化成功,长度不可改变,意味 着数组只有修改和查询(操作容器一般是增删改查这四个功能);
二,数组的声明
//声明数组:
// 数据类型[] 数组名/标识符
int[] arr score;
三,数组的初始化
1.静态初始化:
程序员指定数据,长度由系统自动分配;
//静态初始化一:
String[] names =new String[]{"周杰伦","陈奕迅","林俊杰"};
//静态初始化二:先声明,再初始化
String[] names;
names = new String[]{"周杰伦","陈奕迅","林俊杰"};
//静态初始化三:简写的一种方法
String[] names={"周杰伦","陈奕迅","林俊杰"};
1.通过下标获取元素---查询功能
String str =name[1];
System.out.println(str);//陈奕迅
2.通过下标设置元素 ---修改功能
String str1 = names[1]="王力宏";
System.out.println(str1);//王力宏
3.获取元素的个数---查询功能
int len = names.length;
System.out.println(len);//3
4.遍历元素---for循环/foreach
//for循环
for(int i =0;i<names.length;i++){
System.out.println(names[i]);
}
//foreach/增强for循环
for(Strng element:names){//(循环依次取出元素并赋值给element)
System.out.println(element);
}
for VS foreach:
循环中使用到下标时用for,没用到下标时用foreach
2.动态初始化
程序员指定长度,数据由系统自动分配
注意: 整数数据类型默认值:0; ps: int [] is =new int[5];--->底层为:[0,0,0,0,0]
浮点数数据类型默认值:0.0
字符类数据类型默认值:' ' (空格)
布尔类型数据默认值:false
引用数据类型默认值:null (空) ps: String ss = new String[5]; ---> [null,null,null,null,null]
注意:不管是int[] 还是double[] ,只要是数组都是引用数据类型;int[] 是引用 数据类型,但该数组里的元素是基本数据类型
//动态初始化一
Sting[] names = new String[5]; //5表示5个连续的空间
//动态初始化二:先声明,再初始化
String[] names;
names = new String[5];
1.通过下标设置元素--修改功能
names[0] ="周杰伦";
names[1] ="陈奕迅";
names[2] ="林俊杰";
其他功能与静态初始化一致
三,案例
创建五个长度的int数组,元素由用户输入,然后获取数组中的最大值,并输出
import.java.util.Scanner
public class Test01{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int[] arr = new int[5];
for(int i=0;i<arr.length;i++){
System.out.println("请输入第"+(i+1)+"个数");
int num =scan.nextInt();
arr[i] =num;
}
//假设第一个数字最大
int max =arr[0];
for(int element:arr){
if(max<element){
max=element;
}
}
System.out.println("最大值为:"+max);
}
}