Java学习笔记(五_补课)--数组

day05-补 笔记

方法的重载

概念:在一个类中,拥有多个方法名相同,参数列表不同的方法的现象叫做方法的重载 特征:
1、在同一个类中
2、方法名相同
3、参数列表不同参数列表的不同: 1、参数的个数不同
2、参数的类型不同【参数的个数相同前提】

3、参数的顺序不同【参数的个数相同,参数拥有的类型不是同一个类型】特点:和方法的返回值类型、方法体、修饰符没有关系

数组

概述:
1、他是引用数据类型的一种
2、数组是用来存放多个相同数据类型的数据的一个容器
3、数组一旦创建长度不可变。
数组的初始化【两种初始化方式】
初始化方式:
1、静态初始化:创建数组出来的时候把我们想要放的数据放入到数组中标准格式:数据类型[] 数组名 = new 数据类型[] {值1,值2 }
简化格式:数据类型[] 数组名 = {值1,值2 }【常用】
2、动态初始化:创建数组的时候没有把想要的放的值放入到数组中,给定长度值 格式:数据类型[] 数组名 = new 数据类型[数组的长度];
解释:
数据类型:可以是基本数据类型也可以是引用数据类型
[]:就是数组的标准符号。
new:关键字 在堆空间开辟一块新的空间出来
代码示例:

package com.ujiuye.demo;

public class Demo02 {
public static void main(String[] args) {
//静态初始化
int[] arr = new int[] {1,2,3,4,5};//5个长度的数组
System.out.println(arr);//[I@15db9742 int[] arr1 = {6,7,8};//3个长度的数组System.out.println(arr1);//[I@6d06d69c
//动态初始化
String[] arr2 = new String[4];//4个长度大小字符串数组
System.out.println(arr2);//[Ljava.lang.String;@7852e922
}
}

[I@15db9742:数组的地址【在堆空间中开辟的数组存在的地址值】 [:表示是一维数组

I:表示的是数组存放数据的数据类型@:就是一个连接符
15db9742:哈希值【开辟空间的时候系统给这个空间生成的一个十六进制数】
数组的内存理解
数组是如何存放数据的?
把数组内部的空间划分成一个一个的小位置【小空间】,每一个位置存放一个数据, 数组有多长就会有多少个位置。
一个数组的内存图:
在这里插入图片描述

两个数组的内存图:
在这里插入图片描述

两个引用指向一个数组的内存图:
引用:数组变量中存放的是数组的地址值
在这里插入图片描述

数组的使用

概述:
使用数组的时候操作的是数组的地址值。使用步骤:
1、使用数组变量名【数组的地址值】找到堆空间中对应的数组空间
2、通过数组空间的位置的编号来找到对应的位置
3、就可以操作该位置的数据
数组空间的位置编号官方起名叫做索引【下标、角标】,是从0开始的。索引的最大值比数组的长度值小1
取出数据:
格式:数组名[索引值] 比如:arr[3] 存放数据:
格式:数组名称[索引值] = 值; 比如:arr[3] = 5;
代码示例

package com.ujiuye.demo;

public class Demo03 {
public static void main(String[] args) {
String[] arr = {"金莲","百合","蓉蓉","小鹿","冬施"};
//取值	蓉 蓉 索 引 值 0 1 2 3 4 System.out.println(arr[2]);//蓉蓉
//赋值	把冬施这个位置放上蔡徐坤System.out.println(arr[4]);//冬施arr[4] = " 蔡 徐 坤 " ; System.out.println(arr[4]);//蔡徐坤
}

数组的操作说白了:就是使用数组的索引值进行操作。操作的索引值必须要在数组索引范围内;操作数组首先要找 到对应的数组的地址值,要求数组操作的时候必须要有具体的地址值
数组的异常
角标【索引】越界异常:【ArrayIndexOutOfBoundsException】 原因:操作数组是使用的索引值不在该数组的索引值范围内造成的该异常编译不会报错,只有在代码运行的时候才会报错【运行异常】空指针异常:【NullPointerException】
原因:操作的数组变量中存放的是null值,没有具体的地址引用,找不到要操作的数组 前提:操作地址值为null的数组变量去存取值才会发生

数组遍历

概述:一次性的从数组中获取多个数据。数组的数据获取通过索引值获取,一个一个的去获取。获取多个数据是一 个重复动作。使用循环来控制索引值的变化,通过索引值依次获取对应的数据这样的操作叫做遍历。
遍历的过程中利用索引的最大值比长度值小1 规律作为遍历的条件数组的长度获取:数组名称.length;
使用for循环进行取值就是数组的遍历
代码示例:

package com.ujiuye.demo;

public class Demo04 {
public static void main(String[] args) {
//创建一个字符串数组
String[] arr = {"宝宝","乃亮","大朗","羽凡"};
//遍历 初始化变量 表示索引
for (int i = 0; i < arr.length; i++) {
//开始取值System.out.println(arr[i]);
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值