Day06 Java数组

数组

习题链接
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.数组的扩容

  • ​ 创建数组时,必须显示指定长度,并在创建之后不可更改长度。

  • ​ 扩容思路:

  1. 创建大于原数组长度的新数组

  2. 将原数组中的元素依次复制到新数组中

在这里插入图片描述

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}}; //显示初始化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值