57_初识Java_数组的引入_学习
需求:录入今日多笔消费金额,求今日消费总额,求今日消费金额的平均数
import java.util.Scanner;
public class LearnArray01{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int orderNum=3;
double money=0;
double sum=0;
for(int i=1;i<=orderNum;i++){
System.out.print("请录入今日第"+i+"笔消费的金额: ");
money=sc.nextDouble();
sum+=money;
}
System.out.println("今日"+orderNum+"笔消费的总金额为:"+sum);
System.out.println("今日"+orderNum+"笔消费金额的平均数为:"+sum/orderNum);
}
}
需求升级:录入今日多笔消费金额,求今日消费总额,求今日消费金额的平均数
并能查询第几笔消费的金额
数组
数组的作用
数组用来存储相同类型的数据
1、数组声明
int[] arr;
int[] arr2=null;
2、数组创建
arr=new int[3];
//编译期声明和创建会被合为一句: int[] arr=new int[3];
3、数组赋值
数组类型默认值:
1)、基本数据类型的数组:
byte[] ---> 0
short[] ---> 0
int[] ---> 0
long[] ---> 0
float[] ---> 0.0
double[] ---> 0.0
char[] ---> '\u0000'
boolean[] ---> false
2)、引用数据类型的数组: 默认初始值null
String[] ---> null
- 对数组超界赋值,可以通过编译,但是运行时会报错(数组索引下标越界异常)
java.lang.ArrayIndexOutOfBoundsException: 3
4、数组使用
public class LearnArray02{
public static void main(String[] args){
//1、声明(定义数组),只声明不操作相当于没定义
//int[] arr;
//int[] arr2=null;//空,赋值null和什么都没有赋值 不一样的效果
//2、创建
//arr=new int[3];//给数组开辟了一个长度为3的空间
//编译期声明和创建会被合为一句: int[] arr=new int[3];
int[] arr=new int[3];
//3、赋值
arr[0]=1;
arr[1]=6;
arr[2]=9;
//arr[3]=10;//数组索引越界异常
//4、使用
System.out.println(arr[2]);
System.out.println(arr[0]+222);
//通过数组一个属性length获取其长度
System.out.println(arr.length);
}
}
import java.util.Scanner;
public class LearnArray01{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int orderNum=3;
double money=0;
double sum=0;
double orderArr[]=new double[orderNum];
int arrIndex=0;
for(int i=1;i<=orderNum;i++){
System.out.print("请录入今日第"+i+"笔消费的金额: ");
money=sc.nextDouble();
orderArr[arrIndex]=money;
arrIndex++;
sum+=money;
}
System.out.println("今日"+orderNum+"笔消费的总金额为:"+sum);
System.out.println("今日"+orderNum+"笔消费金额的平均数为:"+sum/orderNum);
int searchIndex=0;
for(;;){
System.out.print("\n请输入要查询第几笔消费(输入800退出): ");
searchIndex=sc.nextInt();
if(searchIndex==800){
break;
}
arrIndex=searchIndex-1;
if(arrIndex>=0&&arrIndex<orderArr.length){
System.out.print("\n今日第"+searchIndex+"笔消费的金额为: "+orderArr[arrIndex]);
}else{
System.out.println("该笔消费不存在");
}
}
System.out.println("感谢您的使用,再见!");
}
}