今天给大家介绍一下有关Java中一维数组的一些基本知识,希望能够帮助到大家!.
目录
.
一、数组的概念
(一)数组的定义:
数组(Array)是有序的元素序列。 [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 [1] 这些有序排列的同类数据元素的集合称为数组。 -------------百度百科
根据以上的定义,我们简单的理解一下:
数组是用于储存多个相同类型数据的集合。(可以是八大数据类型,也可以是自定义类型)
(二)Java中数组的定义方法(初始化方法)
1、静态初始化
//静态初始化
int[] arr1=new int[]{1,2,3,4,5};
int[] arr2={1,2,3};
int[] arr;
arr=new int[5];//声明和初始化分两步进行
int[] arr1;
arr1=new int[]{1,2,3,5};
2、动态初始化
//动态初始化
int[] arr=new int[5];
以上讲解了我所知道的全部的在Java中定义的数组方法,但是一般我们都是用一下的这一种方法来定义数组。
int[] arr={};//推荐使用这种定义方式
(三)数组类型的默认值
我们都知道,我们在定义数组的时候,可以只声明数组的长度,可以不往数组里传值,这时我们在输出数组里的元素时,怎么知道这个数组是空数组呢?这是,默认值的存在感就来了!
下面是八种基本数据类型的数组的默认值:
public class Demo02 {
public static void main(String[] args) {
/*
* 八种数据类型数组的默认值
* */
int[] arr1=new int[1];
System.out.println("int类型的数组的默认值是:"+arr1[0]);
long[] arr2=new long [1];
System.out.println("long类型的数组的默认值是:"+arr2[0]);
float[] arr3=new float[1];
System.out.println("float类型的数组的默认值是:"+arr3[0]);
double[] arr4=new double[1];
System.out.println("double类型的数组的默认值是:"+arr4[0]);
boolean[] arr5=new boolean[1];
System.out.println("boolean类型的数组的默认值是:"+arr5[0]);
byte[] arr6=new byte[1];
System.out.println("byte类型的数组的默认值是:"+arr6[0]);
short[] arr7=new short[1];
System.out.println("short类型的数组的默认值是:"+arr7[0]);
char[] arr8=new char[1];
System.out.println("char类型的数组的默认值是:"+arr8[0]);
}
}
运行结果如下:
二、数组的各种操作
我们先来定义一个数组
int[] arr={1,2,3,4,5};
System.out.println(arr[2]);
(一)获取数组里的某个元素
这里要注意:我们的数组的下标是从0开始的,即:arr[0]代表数组中的第一个元素,所以我们在这里输出一下数组的2号元素,也就是数组里的第三个元素3。
(二)获取数组的长度.length方法
我们可以通过“数组.length“方法来获取数组的长度
public class Test {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
int length=arr.length;
System.out.println(length);
}
}
(三)遍历数组
因为我们如果直接输出这个数组的时候,会得到数组的是数组的内存地址,若想把数组里的元素一个一个的拿出来的话,就需要遍历这个数组了,这里我想出了三种遍历数组的方法。
1、for循环
public class Test {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
2、增强for循环
public class Test {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
for (int i:arr) {
System.out.println(i);
}
}
}
以上两种方法的运行结果都是将数组内的元素如下图所示--换行输出
3、数组的toString方法
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
System.out.println(Arrays.toString(arr));
}
}
(四)equals方法
equals方法---------指示一些其他对象是否等于此。
public class Demo02 {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
int[] arr1={1,2,3,4,5};
System.out.println(arr.equals(arr1));
}
}
因为两个数组的地址不同,所以返回值是false,若想比较内容是否一致,可以重写equals方法,这里就不演示了。
(五)clone方法
clone方法-------------创建并返回此对象的副本。
import java.util.Arrays;
public class Demo02 {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
int [] clone = arr.clone();//调用数组的clone()方法,将数组复制一份,并让clone指向复制出来的数组
clone[2] = 100;
System.out.println(Arrays.toString(arr));//[1,2,3,4,5]
System.out.println(Arrays.toString(clone));//[1,2,100,4,5]
}
}
(六)Arrays.copyOf() 方法
Arrays.copyOf() 方法--------复制指定的数组,用零截取或填充(如有必要),以便复制具有指定的长度。
import java.util.Arrays;
public class Demo02 {
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
String[] arr1={"1","2","3"};
int [] arr2=Arrays.copyOf(arr,6);
System.out.println(Arrays.toString(arr1));
}
}
我们也可以把这种方法看成是给数组扩容的一种方法。
今天的分享结束---谢谢大家!