数组使用注意事项和细节
1.数组是多个相同类型数据的组合,实现对这些数据的统一管理
2.数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。3.数组创建后,如果没有赋值,有默认值
int 0,short 0, byte 0, long 0, float 0.0,double 0.0, char \u0000,boolean false, String null
4.使用数组的步骤1.声明数组并开辟空间2给数组各个元素赋值3使用数组5.数组的下标是尽0开始的。
6.数组下标必须在指定范围内使用,否则报:下标越界异常,比如
int [arr=new int[5];则有效下标为0-4
7.数组属引用类型,数组型数据是对象(object)
二维数组的静态初始化和动态初始化
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//静态初始化
int[]array={1,2,3,4,5,6,7,8};
//动态初始化
double [] arr =new double[5];
//循环输入
Scanner sc=new Scanner(System.in);
for (int i=0;i<arr.length;i++){
System.out.println("请输入第"+(i+1)+"个元素");
arr[i] = sc.nextDouble();
}
//循环输出
for (int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
for (int j=0;j<array.length;j++){
System.out.println(array[j]);
}
}
}
数组应用案例
1.创建一个char类型的26个元素的数组,分别放置'A'-'Z‘。使用for循环访问
所有元素并打印出来。提示:char类型数据运算‘A'+1 ->'B‘ A'+2 ->'C
public class Test {
public static void main(String[] args) {
char[]c=new char[26];
for (int i=0;i< c.length;i++){
c[i]= (char) ('A'+i);
System.out.println(c[i]);
}
}
}
2.请求出一个数组int[]的最大值{4,-1,9,10,23},并得到对应的下标。
public class Test {
public static void main(String[] args) {
int []array={4,-1,9,10,23};
int max=array[0];
int maxIndex=0;
for (int i=0;i< array.length;i++){
if (max<array[i]){
max=array[i];
maxIndex=i;
}
}
System.out.println("数组中的最大值是:"+max+"对应的索引为:"+maxIndex);
}
}
3.请求出一个数组的和和平均值。(养鸡场)
public class Test {
public static void main(String[] args) {
int []array={10,20,30,40,50,60};
int sum=0;
for (int i=0;i< array.length;i++){
sum+=array[i];
}
int avg=sum/array.length;
System.out.println("数组中所有元素的和是:"+sum+"平均值为:"+avg);
}
}
4.数组反转
方法1
public class Test {
public static void main(String[] args) {
//定义一个数组
int []array={10,20,30,40,50,60};
int temp=0;
int len=array.length;//计算数组的长度
for (int i=0;i< array.length/2;i++){
temp=array[array.length-1-i];
array[array.length-1-i]=array[i];
array[i]=temp;
}
System.out.print("[");
for (int i=0;i< array.length;i++){
if (i==array.length-1){
System.out.print(array[i]);
}else {
System.out.print(array[i] + ",");
}
}
System.out.print("]");
}
}
方法2
public class Test {
public static void main(String[] args) {
//定义一个数组
int []array={10,20,30,40,50,60};
//定义两个索引变量 判断条件是初始索引小于等于结束索引
for (int start=0,end=array.length-1;start<=end;start++,end--){
//变量交换
int temp=array[star