数组
透底(学习路线>数据如何存储):
- 变量
- 数组
- 类和对象
- 对象数组
- 集合 List Set Map……
- IO流 文件操作
- XML文件(解析比较麻烦)
- 数据库(Database)
- **RDB:**MySQL、 Oracle、 PostreSQL、 SQLite……
- **NoSQL:**Redis、 MongoDB、Memcached……
- 数据库的集群
- 数据库水平拆分、垂直拆分
- HBase…大数据 存储
- ……
变量的数据类型
**基本数据类型:**byte short int long float double char boolean
引用数据类型: 数组、类(String是类的一种)、接口、枚举…
1.理解数组的作用
需求:计算一个班级的30名学生的平均成绩。
**发现的问题:**变量在使用时它只能使用基本数据类型,存储值只能存储简单的数据/单一的数据。如果想同时存储更多的数据,它无法实现,同样关于变量的操作比较简单,我们需要寻找一种能够存储更多数据的,并且操作更加丰富的数据类型。
2.掌握数组的定义
**数组:**一组数据、数据的组合
有限个相同类型的变量的组合 ,就被称为是数组。
数组中的变量被称为是数组的分量或者元素。
它是一种引用数据类型,它的数据是存储在JVM中的堆中的。基本数据类型一般都是存储在栈中
3.掌握数组的基本使用
数组:
-
数据类型:还是那些基本数据类型
-
数组名(变量名):和普通变量名规范相同
-
数组的长度(存储了多少个变量)
-
数组的元素(多个变量) 有默认值
byte short int long :0
float double :0.0
char:\U0000一个空格
String等引用数据类型默认值为:null(表示没有引用)
-
数组的下标(索引)
数据类型[] 数组名 = new 数据类型[数组长度];
获取数组中的所有数据: (遍历)
4. 掌握数组的常用操作
求一个班的成绩总和与平均分
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);