数组【难点-引用数据类型】
-
变量
-
数组
-
类和对象
-
对象数组
-
集合List Set…
-
LO流 文件操作
-
XML文件(解释比较麻烦)
-
数据库(Database)
- RDB:MySQL、Oracle、PostgreSQL、SQLlite…
- NoSQL:Redis、MongoDB、Memcached…
-
数据库的集群
-
数据库水平拆分 垂直拆分
-
HBase 大数据 存储
变量数据类型
基本数据类型byte short int long float double char boolean
int age = 10 ;
引用数据类型 :数组,类(String是类一种) 接口 枚举
1.理解数组的作用
需求计算一个班级的30名学生成绩
发现问题 :变量在使用时它只能使用数据类型,存储只能存储简单的数据/单一的,如果想在同时存储更多的数据,他是无法实现,同样关于变量的操作比较简单,我们需要寻找一种能够同时存储更多数据的 并且操作更加丰富的数据类型,
2掌握数组的定义
数组:一组数据 数据的组合
有限个相同类型的变量集合
就被称为数组。
数组中的变量被称为是数组的分量或元素
它是一种引用数据类型,它的数据是存储在JVM中的堆的。基本数据类型一般都是存储在栈
中。
3.掌握数组的基本使用
变量:
- 数据类型
- 变量名
- 变量值
数据类型 变量名;
变量名 = 变量值;
数据类型 变量名=变量值;
数组:
- 数据类型:还是那些基本书数据类型
- 数据名:和普通变量名相同
- 数组的长度:(存储了多个变量)一个数据定义了长度就无法更改
- 数组的元素(多个变量)数组元素不赋值也会有默认值
// 定义数组
double[] scores = {90,80,70,77,66};
//便利数组
for(int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
增强便利
double[] scores = {90,80,70,77,66};
// 增强for循环(foreach) 迭代器
for(double score : scores) {
System.out.println(score);
}
4.掌握数组的常用操作
练习题
-
求一个班的成绩总和于平均分数:
使用Scanner来做 -
求最大和最小值:(输入5名同学的分数计算最高分和最低分)
使用Scanner来做 -
通过数组进行排序插入新值并保持顺序
求一组蹙额元的成绩{99,85,82,63,60}将其排列 在增加新的成绩并保持降序 -
猜数
求一列数组 循环输出计算所以数值的和
从键盘输入一i个数据 判断数列总是否包含这个数
// 存储数列的数据
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("不包含此值!");
}
5.作业
略!…
注:
1.声明数组:必须使用 int[ ] a;这种形式的声明。
2.数组定义好之后,不赋值也是有默认值的,不同的类型,默认值不同。
3.赋值:(向分配的格子里放数据,,下标别超过数组长度,不然出现“数组越界异常)
4.分配空间。(告诉计算机分配几个连续的空间,此长度必须指定且指定后不可变)
5.数组可以存储 n 个值,不需要为了存储 n 个值去定义变量了。
6.数组的数据操作更加灵活,length 属性和一会儿体验到的用法。
7.数组在未来学习”方法”时,”方法”的参数使用数组可以减少形参的数量。