数组(array)【重点】
递归: 自己调用自己
public static boolean login(String username, String password) {
/*
* 因为字符串是类类型数据,字符串简单直接判断使用==可以 == 判断是底层的对象的地址值 字符串判断内容相等,需要使用方法equals,返回布尔值
// 随机数
public static int random() {
// 了解: Java中提供了一个随机数类
// 创建一个随机数对象
Random random = new Random();
// 调用方法,获得随机数
int i = random.nextInt();
return i;
}
数组
数组: 是用来装多个数据
特点: 1) 长度固定 2) 类型固定
创建: 数据类型[] 数组名 = new 数据类型[长度];
内存结构特点: 1) 连续空间 2) 每个元素都对应一个下标
取值: 数据类型 变量 = 数组名[下标];
数组内的默认值:
整型数组默认值是 0
浮点型数组默认值是 0.0
字符型数组默认值是 ’ ’
布尔型数组默认值是 false
引用类型数组默认值是 null
为什么需要数组?
目前,使用变量装数据,只能承载一个值。如果需要转载多个数据的话,就需要声明多个变量,有点麻烦。 例如:记录全班人的成绩。
解决方案: 数组。
数组就可以一次装载多个数据。
数组的特点
- 数组可以装载多个数据
- 数组的长度是固定的(长度固定)
- 数组的存储的数据类型是一致,或者说是固定同一类型(类型固定)
创建数组
// 创建数组
int[] arr = new int[3];
动态创建
语法:
数据类型[] 数组名 = new 数据类型[长度];
特别注意:
- 数据类型是所有的基本类型和引用类型都可以
- 前后的数据类型要一致
- 数组名,其实就是变量名
- new 固定的关键词,意思是新建
- 长度,是指数组的容量,可以装载多少个数据
动态创建?
创建的数组内是默认值,使用时要动态赋值.
创建数组时只给定长度,不指定内容.
静态创建
静态创建:
在创建数组的同时,直接将值给定,不给长度.
语法:
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,…};
// 静态
// 数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,...};
静态创建的简化格式【推荐】
静态创建标准格式:
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,…};
静态创建的简化格式:
数据类型[] 数组名 = {值1,值2,值3,…};
// 创建人名数字:
String[] names = {"李青","格雷福斯","卡兹克"};
// 取值
System.out.println(names[0]);
System.out.println(names[1]);
System.out.println(names[2]);
// 赋值
names[0] = "孤儿索";
names[1] = "儿童劫";
names[2] = "提款姬";
// 再次取值
System.out.println(names[0]);
System.out.println(names[1]);
System.out.println(names[2]);
}
数组的取值
语法:
数据类型 变量 = 数组名[下标]; // 用变量接收从数组中取出的值
// 数组取值
// 数据类型 变量名 = 数组名[下标];
// 特别注意: 取值时按下标,下标从0到长度-1,越界会报错
// ArrayIndexOutOfBoundsException:
// int d = arr[3]; // 报错,数组下标越界
// System.out.println(d);
/*
* 数组创建默认值总结:
* 整型默认值 0
* 浮点型默认值是 0.0
* 字符型默认值是 ' '
* 布尔型默认值是 false
* ------------------
* 所有的引用数据类型默认值: null
*/
数组的赋值
语法:
数组名[下标] = 值;
数组的遍历【重点】
遍历: 将数组中的元素一个一个的取出.
数组对象内有
属性
,length,可以直接获得数组的长度int[] arr = {11,22,33}; int length = arr.length;
以前都是使用输出语句,一个一个取出值然后输出,现在使用for循环来进行遍历
数组.
// 创建人名数字:
String[] names = {"李青","格雷福斯","卡兹克","赵信"};
/*
* for循环遍历数组
*/
int length = names.length;
System.out.println("数组的长度: " + length);
for (int i = 0;i < names.length;i++) {
System.out.println(names[i]);
}
总结
数组是什么? 存储多个相同类型数据的容器,且容量固定
怎么创建?
动态创建: 指定长度,数组元素动态赋值
静态创建: 指定元素,长度由属性length自己获得
简化格式: 推荐使用,
数组的使用
取值: 数据类型 变量名 = 数组名[下标]
赋值: 数组名[下标] = 值;
数组遍历
单词
admin 管理; 经营
equals 相等物,平等的,均等的
random 随机的
ArrayIndexOutOfBoundsException: 数组越界会报错
jvm java虚拟机;java内存