数组
数组概念
- 数组是储存同一种类型多个元素的集合,也就是一个容器,这个容器有了名字就是数组名;
- 数组就是在内存开辟一块空间,这些内存空间在使用上是连续的,连续的下标值可以访问所有数组元素;
- 数组既可以存储基本数据类型,也可以存储引用数据类型,
-String[] args引用数据类型
-int[] buf jib基本数据类型
-byte[] nums 基本数据类型
数组的定义格式
数组定义格式:数据类型[] 数组名
- int[] a;定义一个int型数组,里面包含都是int类型元素;
- String[] b;定义一个String型数组,里面包含的都是String类型元素;
数组的初始化
所谓初始化就是为数组中数组元素在内存中分配空间,并给数组内元素赋值。
动态初始化
- 数组的创建与元素赋值分开;
- 初始化时只指定数组长度,系统会给元素分配默认初始化值,这个初始值可以在后面修改;
- 格式:数据类型[] 祖名 = new 数据类型[数组长度];
- 数组的类型其实就是后面元素的类型,数组长度就是后面元素的个数;
讯享网
这一条语句实际进行了三部操作,首先在栈空间中定义了变量s,并给赋初始值为null,在堆空间中开辟空间给数组,并将其中元素赋初始值,将数组的地址赋给栈中的变量s。
静态初始化
- 创建数组的时候就给数组元素赋值,由系统确定数组长度。
讯享网
Java中的内存分配
栈(stack)和堆(heap)内存
- 栈:存放局部变量 学习笔记05-java基础
- 堆:存放的所有new出来的东西
堆内存的特点:
- 每一个new出来的东西都有地址值
- 堆中的每一个变量都有默认值 byte、short、int、long等类型默认值为0;浮点类型默认值为0.0;布尔类型的默认值为false;应用数据类型默认值为null;
- 堆内存在使用后就变成了垃圾,但是需要在JVM空闲的时候才会回收这些堆空间
数组操作中常见的两个小问题
数组索引越界
ArrayIndexOutOfBoundsException
访问到了数组中的不存在的索引时发生,索引值超出了索引值的范围:-1,大于等于数组长度等
空指针异常
NullPointerException
数组引用变量没有指向实体,却在操作实体中的元素
数组遍历(依次输出数组中的每一个元素)
讯享网
数组获取最值(获取数组中的最大值,最小值)
数组元素逆序 (就是把元素对调)
}
数组查表法(根据键盘录入索引,查找对应的元素)
数组元素查找(查找指定元素第一次在数组中出现的索引)
二维数组
二维数组定义方式一:每个元素长度相同
二维数组定义方式二:每个元素长度不一定相同
动态初始化
静态初始化
二维数组的遍历
动态初始化
静态初始化
数组练习
定义一个int数组,5个元素,从键盘输入5个int值,保存到这个数组中,然后编写三个方法:分别用来对一个int型数组求最大值,最小值,平均值(注意返回值类型),调用这三个方法对输入的数组进行计算。
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44 第二季度:77,33,88 第三季度:25,45,65 第四季度:11,66,99 要求使用二维数组保存所有季度的数据,然后遍历求出和。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/2794.html