Java数组

Posted 是小叶的呢.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数组相关的知识,希望对你有一定的参考价值。

对于所有的编程语言来说数组都是相对比较重要的数据结构之一。在Java中数组主要用来存放一组固定大小的相同类型的数据。
(一)、数组变量的声明
数组声明有两种写法:

  dataType[] arrName;//推荐
  dataType arrName[];//不推荐
    int[] intArr1;//推荐
    int intArr2[];//不推荐

(二)、数组的初始化
两种:
1、 静态初始化 arrName=new dataType[]value0,value1,…,valueN

intArr1=new int[]1,2,3,4,5,6,7,8,9;

静态初始化时可以把 数组的声明和初始化用一条语句完成。 可以省略new dataType[]
dataType[] arrName=value0,value1,…,valueN;

int[] intArr3=new int[]3,5,7,89;

2、动态初始化 arrName=new dataType[length];//length 初始化数组的长度(元素个数)
数组的声明和动态初始化用一条语句完成。 dataType[] arrName=new dataType[length];

    strArr1=new String[10];//10个元素
    integerArr1=new Integer[20];

(三)、数组的引用(取值、赋值)
Java中通过下标来引用数组元素 : arrName[index]; index就是元素下标,从0开始,最大值为数组长度-1;
在使用下标时一定要注意下标范围 [0,array.length-1]。如果下标大于数组length-1或小于0时,抛出数组越界异常 java.lang.ArrayIndexOutOfBoundsException

int intA=intArr1[3];//取第四个元素,从0开始 取值
System.out.println("intA="+intA);

(四)、数组的遍历
for循环
while循环
do…while循环
Java增强型for循环(只能取值,不能赋值)

int[] intArr4=new int[]23,24,25,26,27,28,29;
        for(int i=0;i<intArr4.length;i++)
            System.out.print(intArr4[i]+"\\t");
        
        //while循环遍历
        int index=0;
        while(index<intArr4.length) 
            System.out.print(intArr4[index] + "\\t");
            index++;
        
        System.out.println();

        for(int j:intArr3)
            System.out.print(j+"\\t");
        
        System.out.println();
        
        for(String str:strArr2)
            System.out.print(str+"\\t");
        
        System.out.println(); 
        //赋值
        for(int i=0;i<integerArr1.length;i++)
            integerArr1[i]=i+1;   
        
       for(Integer integer:integerArr1)
           System.out.print(integer+"\\t");
       
       //Java增强型for循环不能赋值,只能取值
        System.out.println();
        int[] intArr5=new int[20];
       for(int i=1;i<10;i++)
           for(int j=1;j<=i;j++)
              System.out.print(j+"*"+i+"="+(j*i)+"\\t");
           
           System.out.println();
       

(五)、动态初始化数组的初始值
如果是基本数据类型数组,就是对应数据类型的默认值
如果是引用类型,一般为null
(六)、数组在内存中的存储方式
基本数据类型的数组,数组元素中直接存放值。
对于引用数据类型(String,类类型)的数组:元素中存放的是内存地址。
数组也是一种引用类型。
(七)、二维数组
1、二维数组的声明、初始化和引用与一维数组相似

 int[][] intArr1=new int[][]1,2,3,4,5,6;
        int[][] intArr2=12,13,14,15;
        int[][] intArr3=new int[3][4];
        int[][] intArr4=new int[][]1,1,2,5,7,8;
        int[][] intArr5=new int[5][];//暂时不指定里面数组的大小

        //通过下标引用
        System.out.println(intArr1[1][0]);
        intArr3[0][0]=1;

2、 二维数组的for遍历赋值和Java增强型for循环赋值

for(int i=0;i<intArr4.length;i++)
            for(int j=0;j<intArr4[i].length;j++)
                System.out.print(intArr4[i][j]+"\\t");
            
            System.out.println();//换行
        
        //赋值
        System.out.println("intArr5遍历赋值:");
        int sum=0;
        for(int i=0;i<intArr5.length;i++)
            //intArr5 内层是没有初始化的,需要先初始化
            intArr5[i]=new int[i+1];
            //遍历赋值
            for(int j=0;j<intArr5[i].length;j++)
                intArr5[i][j]=sum++;
            
        
        System.out.println("java增强型for循环遍历");
        for(int[] ints:intArr5)//外层
            for(int intA:ints)//内层
                System.out.print(intA+"\\t");
            
            System.out.println();
        

3、 多维数组遍历

 //多维数组
        int[][][] intArr6=new int[4][][];
        int [][][] intArr7=new int[][][]3,5,8,2,7,5;

        //遍历
        for(int i=0;i<=intArr7.length;i++)
            for(int j=0;j<= intArr7.length;j++)
                for(int k=0;j<= intArr7[i][j].length;k++)
                    System.out.print(intArr7[i][j][k]+"\\t");
                
            
        
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Java数组的主要内容,如果未能解决你的问题,请参考以下文章

java类中构造函数中:数组怎样初始化

Java中数组初始值设定项中带有尾随逗号的数组

使用默认值初始化数组中的对象 - java

JAVA数组

java 类型类怎么初始化赋值

如何将二维数组的所有元素初始化为java中的任何特定值