Java基础---数组
前言
本文将介绍Java数组的创建与使用
数组的概念
数组是相同类型
数据的有序集合
。
数组描述的是相同类型的若干个数据,按照一定的先后次序排列
组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问
他们
数组的初始化
动态初始化
//语法:
int[] arr = new int[3];
//可以拆分为两个步骤:
int[] arr;
arr = new int[3];
静态初始化
//语法:
int[] arr = new int[] {5,15,25};
//可以拆分为两个步骤:
int[] arr;
arr = new int[] {5,15,25};
//静态初始化时可以简化书写:
int[] arrayB = {5,15,25};
内存分析
数组的特点
其
长度是确定的
。数组一旦被创建,它的大小就是不可以改变的其元素必须是相同类型,
不允许出现混合类型
数组中的元素可以是
任何数据类型
,包括基本类型和引用类型数组变量属
引用类型
,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量数组本身就是对象,Java中
对象是在堆中的
,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的
关于数组边界:
⠀⠀下标的合法区间为[0,length-1]
,如果越界就会出现异常
⠀⠀ArraryIndexOutOfBoundsException
:数组下标越界异常
数组的使用
for-each循环
//适用于打印输出,不适合修改元素
for(声明语句 : 表达式){
//代码句子
}
public class demo {
public static void main(String[] args) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.println(x);
}
}
}
//输出结果:
10
20
30
40
50
数组做方法参数
数组可以作为参数传递给方法
//示例:计算传入数组(整形)的和
public class demo {
public static void sum(int[] array) {
int s = 0;
for (int i = 0; i < array.length; i++) {
s = s + array[i];
}
System.out.println(s); //10
}
public static void main(String[] args) {
sum(new int[]{1,2,3,4});
}
}
//输出结果:
10
数组做返回值
//示例:实现数组翻转
public class demo {
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
public static void main(String[] args) {
int[] result = reverse(new int[]{1,2,3,4});
for(int x : result){
System.out.println(x);
}
}
}
//输出结果:
4
3
2
1
多维数组
//示例:
public class demo {
public static void main(String[] args) {
int[][] arrays = new int[2][2]; //创建二维数组
arrays[0][0] = 1;
System.out.println(arrays[0][0]); //1
}
}
//输出结果:
1
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XiaoJun的个人笔记!
评论