/**
* 数组是什么?
* 数组就是用来存储一批同种类型数据的内存区域(可以理解成容器)
* 怎么定义数组存储数据?
* 怎么操作数据元素?
* 怎么解决实际问题?
* 数组内存原理?
* 数组使用的注意点?
* */
/**
/**
* 数组定义方式一,访问,注意事项
* 静态初始化数组: 定义数组的时候直接给数组赋值
* 完整格式: 数据类型[] 数组名=new 数据类型[]{元素1,元素2,元素3.....}
* double[] scores=new double[]{89.5,23.4,59.5,32.4};
*简化格式数据类型[] 数组名={元素1,元素2,元素3.....}
* double[] scores={89.5,23.4,59.5,32.4};
* 注意:数组变量名中存储的是数组在内存中的地址,数组是引用类型
* 数组的访问: 数组名称[索引]
* System.out.println(scores[0]);
* 赋值: 数组名称[索引]=值
* scores[0]=100;
* 数组的长度属性:length
* 数组名称.length
* System.out.println(scores.length);
* 注意事项
* 数组类型[]数组名也可以写成数据类型 数组名[]
*double[] scores=new double[]{89.5,23.4,59.5,32.4};
*double scores1 [] =new double[]{89.5,23.4,59.5,32.4};
* 什么类型的数组存放什么类型的数据,否则报错.
* 数组一旦定义出来,程序执行的过程中,长度类型就固定了.
* */
/**
* 动态初始化数组
* 定义数组的时候只确定元素的类型和数组的长度,之后再存入具体数据
* 数据的动态初始化格式
* 数据类型[] 数组名=new 数据类型[长度]
* int [] arr=new int[3]
*赋值:arr[0]=12;
* 两种数组定义时的特点和场景有什么区别呢?
* 当前已经知道存入的元素值,用静态初始化
* 当前还不清楚要存入那些数据,用动态初始化
* 数据类型
*基本数据类型 byte short char int long 默认值 0
* float double 默认值0.0
* boolean 默认值false
* 引用数据类型 类 接口 数组 String 默认值null
* */
数组遍历
int[] ages = {20, 30, 40, 50};
for (int i = 0; i < ages.length; i++) {
System.out.println(ages[i]);
}
求和
在这里插入代码片 * 需求:某部门5名员工的销售额分别是:16,26,36,6,100,请计算出他们部门的总销售
* 分析
* 把这个5个数据拿到程序中去--->使用数组
* int[] ages = {16,26,36,6,100,};
* 2.遍历数组中的每个数据,然后在外面定义求和变量把他们累加起来
public class index {
public static void main(String[] args) {
int[] ages = {16,26,36,6,100,};
int sum=0;
for (int i = 0; i < ages.length; i++) {
sum+=ages[i];
}
System.out.println(sum);
}
}
求数组元素的最大值
public class index {
public static void main(String[] args) {
//定义一组静态初始化的数据,存储一批数组
int[] ages = {16,26,36,6,100,};
//定义一个变量用于存储最大值元素,建议使用第一个元素作为参照物
int max=ages[0] ;//最大值
for (int i = 0; i < ages.length; i++) {
if (ages[i]>max){
max= ages[i];
}
}
System.out.println(max);
}
}
需求:5个1-20之间的随机数,让用户猜测,猜中要提示猜中,还要输出数据在数组中第一次出现的索引,并打印数组的内容出来。
public static void main(String[] args) {
//需求:5个1-20之间的随机数,让用户猜测,猜中要提示猜中,还要猜出数据在数组中第一次出现的索引,并打印数组的内容出来
//定义一个动态初始化数组存储5个随机的1-20之间的数据
int[] ages = new int[5];
//动态的生成5个1-20之间的随机数并存入数组中去
Random r=new Random();
for (int i = 0; i < ages.length; i++) {
ages[i]=r.nextInt(20)+1;
}
//使用一个死循环让用户进行猜测
Scanner sc=new Scanner(System.in);
out:
while(true){
System.out.println("请你输入一个1-20之间的整数进行猜测;");
int guessData=sc.nextInt();
//4.遍历数组中的每个数组数据,看是否有数据与猜测的数据相同,相同代表猜中,给出提示
for (int i = 0; i < ages.length; i++) {
if (ages[i]==guessData){
System.out.println("你已经猜中该数据了");
break out; //结束了整个死循环,代表游戏结束了
}
}
System.out.println("当前猜测的数据在数族中不存在,请重新猜测");
}
//输出数组的全部元素,让用户看到自己确实猜中某个数据
for (int i = 0; i < ages.length; i++) {
System.out.println(ages[i]+"\t");
}
}
/**
* Debug 工具
* IDEA 自带断电调试(排错)工具,可以控制代码从断点开始一行一行的执行,然后观看程序执行的情况,
* Debug工具基本使用步骤
* 1.在需要控制的代码左侧,点击一下,形成断点
* 2.选择使用debug方式启动程序,启动后程序会在断电暂停
* 3,控制diamagnetic一行一行的往下执行
* debug 启动
*
* */