java数组:
基本概念
一组数据,使用有序的方式对数据进行存储的一种结构(容器)
数组的特性
1.长度固定(容量是固定的)
2.能够存储java所有的数据类型
3.但是同一个数组只能存储同一种数据类型
数组中的名词
索引/下标/角标 数组的门牌号
长度 容量 length属性
元素 数组根据下标获取元素 数组名[下标]
数组的名字
[I@ 15db9742
@分隔符
[I 数据类型 int类型的一维数组类型([[int 类型的二维数组类型)
15db9742 十六进制的内存地址
JVM内存基本结构
寄存器 CPU直接使用
本地方法区 操作系统直接使用
方法区 java编译好的class文件的内容
堆 对象的实例(new出来的) Random ran=new Random(); 左边栈里面,右边堆里面
栈 对象的引用 局部变量(定义在方法中的变量)
数组如何创建
-静态创建/初始化
完整版:
数据类型[] 数组名= new 数据类型[] {数据1,数据2,数据3};
简约版:
数据类型[] 数组名= {数据1,数据2,数据3};
-动态创建/初始化
数据类型[] 数组名=new 数据类型[长度];
默认数据:
整数:0
浮点数:0.0
字符:0 空字符
布尔类型:false
字符串(对象):null 空 空指针
使用场景:
当元素的个数确定,内容也确定,可以考虑使用静态创建
当元素的个数确定,内容不确定,考虑使用动态创建
当元素的内容都全部一样时,可以用动态创建
数组异常:
ArrayIndexOutofBoundsException 数组越界
数组的思想
累加的思想 1+2+...+100 423,232,1241,233
将任意的数据存于数组中,通过遍历数组的方式进行求和
定义一个"和"变量
循环过程进行累加
统计的思想 52234,213121,1213
统计数组中偶数的个数
在遍历之前定义一个计数器
在遍历过程中判断条件是否满足,满足则将计数++
求最值的思想
在遍历之前定义一个变量用于同数组中的每一个元素进行比较
在遍历过程中,遇到更大的变量,将大的变量赋予给当前变量
全比较完,当前变量是最大的
数组的修改
修改元素
根据下标获取元素之后直接改 数组名 [下标]
修改地址
int[] arr={1,2,3,4,5};
arr=new int[3];
int[] array={11,22};
arr=array;
数组的拷贝
绝对有两个数组,内容一样,但是地址绝对不一样
//动态创建 一个数组 和原来的数组一样长
int[] arr=new int [array.length;i++]{
//i 一样
arr[i] = array[i];
}
(练习和答案已上传)