数组的概述
为什么使用数组
定义30个学生存储学生信息
学生的成绩排序
学生1 学生2 学生3 学生4 .。。。。。。学生30
stu1…………………………………………………………………stu30
数组是相同类型的数据按照顺序组成的一种引用数据类型
数据类型:
1、 基本数据类型
2、 引用数据类型
1、 类
2、 接口
3、 数组
学习的内容:
1、 一维数组
2、 声明
3、 创建
4、 初始化
5、 元素的引用
6、 长度
7、 数组的应用
数组的语法格式
数据类型[] 数组名;
命名规则:数组名也是标识符,满足标识符的命名规则,而且如果一个单词就都是小写字母。如果是多个单词组成,从第二个单词开始,首字母都大写
变量的声明的语法格式
数据类型 变量名;
数组的声明
数据类型[] 数组名; Java定义的方式
数据类型 数组名[]; 也是可以的,但是C语言里面用的是第二种方式
int[] myIntArray; 整型数组
int myIntArray[];
char[] ch; 字符数组
String[] strArray;字符串数组 对象数组
数组的创建
语法格式1:先声明后创建
数据类型[] 数组名;
数组名 = new 数据类型[数组长度];
int[] arr;
arr = new int[10];
创建一个长度为10的整型数组
举例子:int[] arr = new int[];错的,因为必须声明数组的长度
double[] demo = new double[5]; 对的
语法格式2:声明的同时创建数组
数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[10];
创建一个长度为10的整型数组
数组在内存中 的存储时如何进行的?
首先整型的数组的默认值都是0;数组名指向数组的第一个元素
局部变量和数组的默认值问题
1、 之前和大家说过的局部变量方法的内部,他是没有默认值的
2、 而数组是有默认值的,数组是对象
数组的初始化
声明数组的同时给数组赋值,叫做数组的初始化
int[] arr = {1,2,3,4,5,6,7};
数组的长度就初始化所给数组元素的个数
数组的引用
语法格式:
数组名[下标]
注意:下标是从0开始的
例子:
int[] a = {1,2,3,4,5,6,7,8,9,10};
1 2 3 4 5 6 7 8 9 10
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
如果取值的下标索引越界了,前面还是输出的但是后面胡报错
1、 我们编写代码保存的过程就是javac的编译过程,并没有报错。
2、 但是执行run as 时候报错,这是运行时报的错叫做运行时异常
案例:求数组元素的累加和
案例:求数组元素的最大值
增强型for循环
又叫foreach循环
int[] arr1 = {1,2,3,4,5};//int n
for(int n:arr1){
System.out.println(n);
}
如何将2个变量值进行互换
int a = 3,b = 5;
int temp;
temp=a;a = b;b=temp;
上述这个互换值问题得这个代码一定要记住了,笔试面试经常问。
冒泡排序
案例:实现对一组整数按照由小到大得顺序进行排序
34 53 12 32 56 17
我们需要将相邻得2个数进行比较,将最大的值放置到最后,次大得值放置到倒数第二个,以此类推。
第一趟:34 12 32 53 17 56 5次
第二趟:12 32 34 17 53 56 4
第三趟:12 32 17 34 53 56 3
第四趟:12 17 32 34 53 56
第五趟:12 17 32 34 53 56
排序:
输入 遍历 计算数组