初始数组

数组 【初时堆的概念】
变量的数据类型
基本数据类型 byte short int long float double char boolean
引用数据类型 数组、类(String是类的一种)、接口、枚举…

  1. 理解数组的作用
    变量在使用时它只能使用基本数据类型,存储值只能存储简单的数据/单一的数据如果想同时存储更多的数据,它无法实现,同样关于变量的操作比较简单,我们需要寻找一种能够同时存储更多数据的,并且操作更加丰富的数据类型。

  2. 掌握数组的定义
    数组 一组数据 数据的组合体
    有限的相同类型的变量的组合 就被称为数组
    数组中的变量又被称为分量或者元素
    数组是一种引用数据类型 他的数据是储存在JVM(虚拟机)中的堆中的 基本数据类型一般都是储存在 栈 中的

  3. 掌握数组的基本使用
    与变量组成基本相同
    变量是由 数据类型 变量名 变量值组成的
    数据类型 变量名
    变量名 = 变量值
    数据类型 变量名 = 变量值
    数组也是由 数据类型(还是那些基本数据类型) 数组名(也就是变量名) 数组长度(里面有多少个变量) 数组元素(元素=变量 有多少个变量)
    数组的长度一旦定义就不能更改了
    数组元素(变量)不赋值也有初始值
    byte short int long :0 float double:0.0 boolean:false char:\U0000 一个空格 String等引用数据类型默认值为 null (表示没有引用)
    数组的下标(索引)
    数据类型[] 数组名 = new 数据类型[数组长度] 数据类型[] 数组名 = {元素1,元素2,元素3,…}

获取数组中的所有数据也可以被称为遍历数组(遍历)
for(int i = 0; i < 数组名.length; i++) {
System.out.println(scores[i]);
}

增强for循环(foreach) 迭代器
for(数据类型 数组名:数组名s){
System.out.print(数组名);
}
4. 掌握数组的常用操作
(1)求一个班的成绩总和与平均分
Scanner input = new Scanner(System.in);
// 存储班级成绩(利用数组)
double[] scores = new double[5];
for(int i = 0; i < scores.length; i++) {
System.out.print(“请输入第”+(i+1)+“名同学的成绩:”);
scores[i] = input.nextDouble();
}

// 对班级成绩进行计算求和 求平均分
// 遍历数组 将所有成绩进行累加
double sum = 0;
for(double score : scores) {
// 累加求和
sum += score;
}

// 平均分
double avg = sum / scores.length;
System.out.println(“班级的总成绩为:”+sum);
System.out.println(“班级的平均分为:”+avg);

(2)求最大/小值
使用键盘录入输入5位学生的成绩,然后计算最高分和最低分
Scanner input = new Scanner(System.in);

// 存储成绩
double[] scores = new double[5];
for(int i = 0; i < scores.length; i++) {
System.out.print(“请输入第”+(i+1)+“位学生成绩:”);
scores[i] = input.nextDouble();
}

// 计算最高分 90 98 70 60 10
// 打擂台 找一个守擂的
double max = scores[0]; // 我认为最强的
double min = scores[0];
for(int i = 1; i < scores.length; i++) {
// 打擂台比较 只要发现有比最大值还大的
if(max < scores[i]) {
// 更换变量的值
max = scores[i];
}
if(min > scores[i]) {
min = scores[i];
}
}
System.out.println(“最高分:”+max);
System.out.println(“最低分:”+min);

(3)通过数组进行排序-插入新值保持顺序
// 存储学员成绩
int[] scores = {99,85,82,63,60,0};

// 输入一个新成绩
Scanner input = new Scanner(System.in);
System.out.print(“请输入要插入的成绩:”);
int num = input.nextInt();

// 将它插入成绩序列,并保持降序
// 1.找到可以插入的位置
// 遍历数组 查找是否有比输入的数值小的元素(降序)
int i = 0;
for(; i < scores.length; i++) {
if(num > scores[i]) {
// 扎到要插入的位置 就可以停下来了
break;
}
}
System.out.println(“新成绩未来插入的位置是:”+i);

// 2.插入新值
// 移位 从后往前 将数值进行后移
for(int j = scores.length - 1; j > i; j–) {
scores[j] = scores[j-1];
}
// 将新值进行赋值
scores[i] = num;
System.out.println(“插入新值之后的结果为:”+Arrays.toString(scores));

(4)猜数游戏
// 存储数列的数据
int[] nums = {8,4,2,1,23,344,12};
// 1.循环输出数列的所有值
for(int num : nums) {
System.out.print(num+" “);
}
System.out.println(”\n-------------------------");
// 2.求数列中所有数值的和
int sum = 0;
for(int num : nums) {
// 累加求和
sum += num;
}
System.out.println(“数列的和为:”+sum);
System.out.println("-------------------------");
// 3.猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
Scanner input = new Scanner(System.in);
System.out.println(“请输入一个整数:”);
int inputNum = input.nextInt();
// 遍历数组 查看是否有相同的数值
// 设立标记(日后一个比较不错的思路方案)
// int / boolean
boolean flag = false; // 假定不存在此值

for(int num : nums) {
if(inputNum == num) {
flag = true; // 更改标记
break;
}
}

// 判断标记
if(flag) {
System.out.println(“包含此值!”);
}else {
System.out.println(“不包含此值!”);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值