数组是一个容器,可以存放多个元素这些元素的类型必须是一致的
1.静态数组
数据类型[] 数组名={元素1,元素2,元素3,.......}
通过数组的下标来引用数组中的元素
默认数组下标从0开始到length-1。如果数组下标不在这个范围内会出现下标越界错误
引用语法:
数组名[下标]
int[] str= {1,23,4,5,6};
System.out.println(str);
执行上面的代码输出的是数组的地址。
因为数组是引用数据类型,引用数据类型在内存中有两个空间,一个堆空间,一个栈空间,地址存放在栈中,数据存放在堆中,栈地址指向堆空间
例 输出数组中的最大值
int[] a={100,50,90,60,80,70};
int max=a[0];
for(int i=0;i<a.length;i++){
if(max < a[i]){
max=a[i];
}
}
System.out.println("最大值是"+max);
2.动态初始化数组
数据类型[] 数组名=new 数据类型[长度];
//String[] str=new String[5];//字符串类型 默认是null //int[] str=new int[5];//整数类型 默认是0 //double[] str=new double[5];//小数类型 默认是0.0 //float[] str=new float[5];//小数类型 默认是0.0 //char[] str=new char[5];//字符类型 默认是NUL boolean[] str=new boolean[5];//布尔类型 默认是false for (int i=0;i<str.length;i++){ System.out.println(str[i]); }
例 班里有5位学生,使用动态录入并赋值的方式计算平均分
public static void main(String[] args) {
int[] score=new int[5];
Scanner sc=new Scanner(System.in);
int sum=0;
for(int i=0;i<score.length;i++){
System.out.println("请输入第"+(i+1)+"个学生的成绩");
score[i]=sc.nextInt();
sum+=score[i];
}
double avg=sum/(score.length);
System.out.println("平均分为"+avg);
}
标签:数组,静态,数据类型,默认,int,str,new,动态
From: https://blog.csdn.net/weixin_51635918/article/details/143572242