day07 学习内容
一、数组
用于批量保存一类数据,是引用数据类型之一
- 索引值从0开始
- 必须指明长度
//变量的格式:数据类型 变量名 = 值;
int a = 0;
int a;
a = 10;
1、一维数组的声明和使用
int[] arr;
String[] names;
Person[] persons;
2、为数组初始化
①静态初始化:初始化操作和赋值操作同时进行
arr = new int[]{1,2,3,4,5};
②动态初始化:初始化操作和赋值操作分开进行
names = new String[5];
names[0] = "张三";
names[1] = "李四";
persons = new Person[5];
persons[0] = new Person();
persons[1] = new Person("张三", 18);
3、数组的遍历
①使用普通 for 循环遍历
②增强 for 循环
for(数组中元素的数据类型 变量名 : 需要遍历的数组){
}
//普通
for(int i = 0;i<persons.length;i++){ //数组的属性:数组长度 length
persons[i];
}
//增强 不擅长改值(基础数据类型)
for(Person p : persons){
p.say(); //tips:方法每次被调用,就会开辟一块栈帧
}
4、数组的特点
①数组无论静态初始化还是动态初始化必须指明长度
②数组中每个元素都有索引值(下角标、下标),索引值从0开始,到数组的长度-1
③获取数组长度的属性:length
5、数组的常见异常
int[] arr = new int[3];
arr[4] = 22; //数组越界异常:ArrayIndexOfBoundsException
Person[] persons = new Person[3];//{null, null, null}
persons[0].say();//null.say() 会引发空指针异常:NullPointerException
6、数组的默认值
基本数据类型
引用数据类型
7、二维数组
1)声明一个二维数组
int[][] array;
2)二维数组的初始化
①静态初始化
array = new int[][]{{1,2,3},{4,5,6},{7,8}};
②动态初始化
//二维数组长度必须给
方式一:
array = new int[2][3];//{{5,0,0}, {0,0,0}}
array[0][0] = 5;
方式二:
array = new int[5][];//{null, {0,11,0}, null, null, null}
array[1] = new int[3];
array[1][1] = 11;
3)遍历二维数组
for(int i = 0; i < array.length; i++){
// int[] as = array[i];
for(int j = 0; j < array[i].length; j++){
System.out.print(array[i][j]);
}
System.out.println();
}
for(int[] arr : array){
for(int a : arr){
System.out.print(a);
}
System.out.println();
}
二、串讲
1. 变量
容器
变量是一个装载数据的容器
变量的三个要素
类型
java是强类型,有八种基础数据类型,对象算引用数据类型。
名称
遵守命名规则和规范,同时:
- 类和工程用帕斯卡命名法
- 类的成员,变量,参数用驼峰命名法
- 方法名最好是一个有含义的动词
当前值
变量的值可以变化,当前值只有一个。
隐藏要素:变量的含义
2. 类和对象
类是一个模板,是一个规范。
对象是一个符合类的模板规范的具体实体。
定义类
定义类的属性和方法。
定义类的方法
定义一个方法,需要定义五个常规部分和两个非常规部分。
常规部分
- 访问修饰符
- 返回类型
- 方法名
- 参数组
- 方法体
非常规部分
- 特殊修饰区
- 方法抛出异常区
注意:
- 如果一个方法编写了返回类型,那么必须在方法结束前,返回一个该类型的变量。不要把return返回值写在可能执行可能不执行的代码里。
- 调用一个带参的方法,必须按照方法的要求传参。需要的参数类型和个数和顺序一致。
- Java语言规定,一个方法只能返回一个值。方法的返回值返回到方法的调用点。

浙公网安备 33010602011771号