java--Java数组

java 数组

  在学习数组之前要先了解什么是数组,数组就是储存同一种类型的数据的集合,它是为了方便我们储存数据,如果不用数组的话,想要储存数据时,就要定义变量,如果变量多了,会使代码变得繁琐。

数组示意图

java--Java数组_第1张图片

一维数组

定义格式
数据类型[] 数组名;

例:int[] arr;

动态初始化格式 静态初始化格式
数据类型[] 数组名=new 数据类型[数组长度];

例:int[] arr = new int[3];

数据类型[] 数组名=new 数据类型[]{元素1,元素2,...}

例:int[] arr=new int[]{1,2,3,4};

数据类型[] 数组名={元素1,元素2,...}

例:int[] arr={1,2,3,4};

注:除此格式外还有另一种格式,数据类型 数组名[],例:int arr[];,初始化和上述是一样的,这是方便为了让从学习C过来的人学习方便,不过还是推荐上述的格式。

二维数组

定义格式
数据类型[][] 数组名;

例:int[][] arr;

动态初始化格式 静态初始化格式
数据类型[][] 数组名=new 数据类型[数组长度][数组长度];

例:int[][] arr = new int[3][2];

或int[][] arr = new int[3][];

数据类型[][] 数组名=new 数据类型[][]{{元素1,元素2,...},{元素1,元素2,...},...}

例:int[][] arr=new int[][]{{1,2,3,4},{1,2},{1}};

数据类型[][] 数组名={{元素1,元素2,...},{元素1,元素2,...},...}

例:int[][] arr={{1,2},{2},{1,4}};

注:除此格式外还有另的格式,数据类型 数组名[][];或数据类型[] 数组名[];,例:int arr[][];或int[] arr[];,初始化和上述是一样的,不过还是推荐上述的格式。还有要注意的就是int[] x,y[];,这个定义的是一个一维数组x和一个二维数组y。

遍历

  无论是一维数组还是二维数组,要想获取里面的数据,都要对其进行遍历,遍历就需要用到循环(推荐:for循环),一维数组需要遍历一次,而二维数组需要遍历两次,因为二维数组中的每一个元素都是有一组一维数组组成的,也可以说二维数组是一维数组中的一维数组,因此它需要二重循环。

注:一维数组和二维数组的遍历是从0开始的(如:一维数组int[] a=new int[2];,其实就是在内存中开辟了一个空间,存储两个数据,这两个数据的地址是从0开始的,也就是0、1,也可以说遍历是遍历数组中的地址,以此来获得其中的数据;二维数组也是如此,只不过他要遍历两次),也就是说写循环条件时,循环次数要减1(如:int[] a=new int[2]; 的循环条件是小于2或等于1)。

数组演示

1、输出一维数组{1,2,3,4,5,6}

public class Data {
    public static void main(String[] args) {
        int[] arr=new int[]{1,2,3,4,5,6};
        for (int i=0;i<6;i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

结果

1	2	3	4	5	6	

注:这里的循环条件(i<6)中的6,可以变为arr.length(数组长度,这里是6)

2、输入一维数组并输出
import java.util.Scanner;
public class Data1 {
    public static void main(String[] args) {
        Scanner x = new Scanner(System.in);
        System.out.println("请输入一维数组的大小:");
        int n=x.nextInt();
        int[] arr=new int[n];
        for (int i=0;i

结果

请输入一维数组的大小:
3
请输入数字元素:
2
请输入数字元素:
5
请输入数字元素:
7
2	5	7	
3、输出二维数组
public class Data {
    public static void main(String[] args) {
        int[][] arr=new int[][]{{3,2},{4,5}};
        System.out.println("数组元素:");
        for(int i=0;i

结果

数组元素:
3	2	
4	5	
 int[] a=arr[i];

注:这段代码表示的是接收一维数,因为二维数组中存储的是一维数组,想要取出这一维数组中的数据,就需要遍历这个一维数组,因此用一个另外一个一维数组接收,然后再遍历它。这里使用length才需要这样使用,你也可以直接遍历确定的行和列(这里是直接在外循环的循环条件写2,内循环写3)。

4、输入二维数组并输出
import java.util.Scanner;
public class Data {
    public static void main(String[] args) {
        Scanner x = new Scanner(System.in);
        System.out.println("请输入行数:");
        int n=x.nextInt();
        System.out.println("请输入列数:");
        int m=x.nextInt();
        int[][] arr=new int[n][m];
        for(int i=0;i

结果

请输入行数:
2
请输入列数:
3
数组元素:
44
数组元素:
55
数组元素:
99
数组元素:
77
数组元素:
66
数组元素:
33
数组元素:
44	55	99	
77	66	33	

注:输入每一个数组元素时要按回车,因为println打印的时候自带了换行,下一次在打印的时候从下一行开始打印,因此要按回车;print不换行,下次打印的时候在这次打印的东西后面直接打印。

你可能感兴趣的:(Java)