数组
习题链接
Java冒泡排序
给定一个整数数组,读入一个整数n,如果n在数组中存在,输出下标,不存在,输出-1
Java打印杨辉三角
文章目录
1.数组的概念
概念:一组连续的存储空间,存储多个相同的数据类型的值
特点:类型相同、长度固定
2.数组的创建语法
3.数组的下标
- 数组中的每个数据格被称为“数组元素”。
- 对每个元素进行复制或取值的操作被称为“元素的访问”。
- 访问元素时,需要使用“下标”(从0开始,依次+1,自动生成)。
- 访问的语法:数组名[下标]; //例如 存:a[0] = 10; 取:a[0];
4.数组的异常错误
-
数组的使用:创建数组,依次赋值,依次取值
-
有效下标范围:0~(数组长度-1)
注意:如果访问无效的下标,会导致数组下标越界,终端异常会出现Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException:6(数字说明是你访问的这个下标是无效的下标)
5.数组的默认值
-
整数:0
-
小数:0.0
-
字符:\u0000
-
布尔:false
-
其他:null
6.数组的遍历
遍历:从头到尾,逐一对数组的而每个元素进行访问
//遍历方式
public class Test {
public static void main(String[] args) {
int[] a = new int[2];
a[0] = 1;
a[1] = 2;
for (int i = 0; i < a.length; i++) {//数组名.length可动态获得数组长度
System.out.println(a[i]);//使用循环变量“i”充当下标,逐一访问数组中的每个元素
}
}
}
7.数组的扩容
-
创建数组时,必须显示指定长度,并在创建之后不可更改长度。
-
扩容思路:
-
创建大于原数组长度的新数组
-
将原数组中的元素依次复制到新数组中
8.数组复制的方式
循环将原数组中所有元素逐一赋值给新数组
9.数组地址的替换
-
数组为引用类型,其中的变量存储的是数组的地址
-
基本类型传递的是变量中的值,引用类型传递的是变量中的地址
-
完成元素复制后,需将新数组地址赋值给原变量进行替换
10.可变长参数
概念:可接受多个同类型实参,个数不限,使用方式与数组相同
语法:数据类型 … 形参名 //必须定义在形参列表的最后,且只能有一个
11.数组的排序
- 冒泡排序:相邻两个数值比较大小,互换位置
- 选择排序:固定值与其他值一次比较大小,互换位置
- JDK排序:java.util.Arrays.sort(数组名);//JDK提供(升序)
12.二维数组
概念:一维数组中的一维数组;数组中的元素还是数组
13.二维数组的赋值
int [] [] array = new int[3] [5];
第一个下标代表 行号
第二个下标代表 列号
14.二维数组的创建语法
声明赋值方式 | 具体声明赋值方法 |
---|---|
先声明、再分配空间 | 数据类型[][] 数组名; 数组名 = new 数据类型[高维长度][低维长度]; |
声明并分配空间 | 数据类型[][] 数组名 = new 数据类型[高维长度][低维长度]; |
声明并赋值(繁) | 数据类型[][] 数组名 = new 数据类型[高维长度][] //不规则数组,自行new低维数组 |
声明并赋值(简) | 数据类型[] 数组名 = {{v1,v2,v3},{v4,v5},{v6}}; //显示初始化 |