数组
数组是一堆相同类型数据的有序集合,可以用相应的下标提取对应的值。
数组的声明创建
数组是通过下标访问的;
//声明
dataType[] a; //数据类型[] 数组命
//创建 (分配空间)
a = new dataType[10]; //创建了可以存放10个dataType类型的数字集合a
//当然声明和创建可以合起来
//dataType[] 数组命 = new dataType[数组大小];
//给数组赋值 (数组下标从0开始)
a[0] = 0;
a[1] = 1;
a[2] = 2;
a[3] = 4;
a[5] = 5;
a[6] = 6;
a[7] = 7;
a[8] = 8;
a[9] = 9;
//遍历数组
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
//遍历数组
for(int i : a)
System.out.println(i);
注意点:
- 数组一旦创建长度就是固定的;
超出长度会报错:(类似下面这样)
ArrayIndexOutOfBoundsExcertion:数组下标越界 - 数组中的元素类型都是相同的
- 数组中元素可以是任何类型,包括基本类型和引用类型
- 数组本身就是对象,而在Java中对象保存在堆中,所以数组对象本身在堆中
//静态初始化:创建 + 赋值
int[] a = {1,2,3,4,5,6,7};//长度就是打括号内的数字个数
System.out.println(a[0]);
//动态初始化:包含默认初始化
int[] b = new int[10];
b[0] = 1;
b[1] = 2;
b[2] = 3;
System.out.println(b[0]);//1
System.out.println(b[1]);//2
System.out.println(b[2]);//3
System.out.println(b[3]);//0
数组作为方法参数
package Dome00;
public class Dome05 {
public static void main(String[] args) {
int[] array = new int[2];
array[0] = 1;
printArray(array);
}
//打印数组元素
public static void printArray(int[] arrys){
for(int array :arrys)
System.out.println(array);
}
}
数组作为返回值
package Dome00;
public class Dome05 {
public static void main(String[] args) {
int[] array = {1,2,3,4,5};
printArray(array);
System.out.println();
array = reverse(array);
printArray(array);
}
//返回一个数组
public static int[] reverse(int[] arrays){
int[] result = new int[arrays.length];
for(int i=0,j=result.length-1;i<arrays.length;i++,j--){
result[j] = arrays[i];
}
return result;
}
public static void printArray(int[] arrays){
for(int array :arrays)
System.out.println(array);
}
}
输出结果:
1
2
3
4
55
4
3
2
1
二维数组
//二维数组的创建
int[][] array = {{1,2},{2,3},{3,4},{4,5}};
//array[0] = {1,2}的地址;
//array[0][0] = 1;
//array[0][1] = 2;
//简单来说二维数组就是一维数组中的每一个元素都是一个数组;
//数组遍历
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array[i].length-1;j++){
System,out.println(array[i][j]);
}
}
数组的工具类Arrays
使用Arrays 需要先导入java.util.Arrays 包
按住Ctrl 点击想要查看的类,就可以查看源码;然后再点击IDEA左下角的structure可以观察到类下的方法。
package Dome00;
import java.util.Arrays;
public class Dome06 {
public static void main(String[] args) {
int[] a = {1,2,4,5,34,356,325};
System.out.println(a);
//打印数组元素
System.out.println(Arrays.toString(a));
//数组排序
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
}
输出结果:
[I@1d251891
[1, 2, 4, 5, 34, 356, 325]
[1, 2, 4, 5, 34, 325, 356]
还有其他很多方法,详细可以查看JDK帮助文档
今日总结就是这些啦!!!
每天都要开心,没准下一秒有伤心事,趁现在没有自然要开心点!(๑><๑)