数组再学习(一维、二维、三维)

2019-07-30

数组再学习(一维、二维、三维)

在Java中根据所属的数据类型的不同,将数组分为:基本类型数据类型数组与对象数组
Java将数组视为一个对象

基本数据类型数组:
字符型数组:‘A‘ ,‘D‘,‘q‘,...
×××数组:123,456,-546
实数型数组:2.12,3.14
对象型数组:
String 型数组:"abc",new("def"),"赵敏",...

一、基本数据类型数组

int[] a;//先声明一个引用变量
a=new int[7];//创建一个有7个元素的×××数组,并将创建的数组对象赋给引用变量
//即引用变量a引用了这个数组
或 int[] a=new int[7];
与创建对象一样Class1 ob=new Class1();

1/访问数组元素时,要使用:数组名[元素下标]的形式

a[0]=10;//将10赋给a数组的第0号元素
b=a[3];//将数组的第3号元素赋给变量b
2/示例:使用数组求四门课程成绩和平均分

public class Array1 {
    public static void main(String[] args){
        int[] grade=new int[4];
        int sum=0;
        grade[0]=90;
        grade[1]=80;
        grade[2]=75;
        grade[3]=85;
        for(int i=0;i<grade.length;i++){
            sum+=grade[i];
        }
        System.out.println("总分:"+sum);
        System.out.println("平均分:"+(double)sum/grade.length);
    }
}

二、一维数组的初始化

基本数据类型初始化

int[] a=new int[]{1,2,3,4}
int[] b={6,7,8,9}

对象数组初始化

String[] s1=new String[]{new String("你好"),new String ("高兴")};
String[] s2={new String("abc"),new String("kor")};

若创建数组而不初始化,基本数据类型数组自动赋为0,对象型数组赋为null

三、对象数组 //引用型数组object array//对象数组实际就是引用的集合

String[] s;//声明一个String 型数组的引用变量
s=new String[3];//创建一个拥有3个元素的数组,并把该数组对象赋给引用变量s
//基本类型的数组一整个数组a才算一个引用,所以不能给每一个元素创建对象
//一个引用可以对应一个对象,一个对象可以被多个引用指向
s[0]=new String("赵敏");//对象数组中所有元素都是一个引用,所以可以为每个元素创建一个对象
s[1]=new String("古天乐");
s[2]=new String("热巴");

四、二维数组

基本数据类型数组

int[][] a;//声明a是整型二维数组的引用(变量)
a=new int[3][];//创建3个一维数组的引用a[0],a[1],a[2]
a[0]=new int[5];//给一维数组的引用a[0],a[1],a[2]分配对象
a[1]=new int[4];
a[2]=new int[3];
a[0][0]=10;给a[0]的第一个元素赋值

引用型数组

String[][] s=new String[2][];
s[0]=new String[2];
s[1]=new String[2];
s[0][0]="中国";s[0][1]="China";
s[1][0]="美国";s[1][1]="USA";

数组再学习(一维、二维、三维)

五、三维数组

int[][][] a=new int[2][][];//表示创建二维数组的引用数组a[0],a[1]
a[0]=new int[2][];//将二维数组的引用赋给一维数组的引用数组,a[0][0],a[0][1]
a[1]=new int[3][];//同上创建3个一维数组的引用
a[ 0][ 0]  =new int[4];//创建一个拥有4个元素的整型数组,
                                    //a[0][0]a引用它,数组元素为a[0][0][0],a[0][0][1],a[0][0][2],a[0][0][3]
a[0][1]=new int[4];//其他行类似
a[1][0]=new int[3];
a[1][1]=new int[3];
a[1][2]=new int[3];

数组再学习(一维、二维、三维)

六、注意:

int[][] a,b;//a和b 都是一维数组的引用
int a[],b[];//b是二维数组的引用
int a[],b;//b是整型变量而非数组
随机数产生:
double a=Math.random();//a拥有0.0~1.0的值

数组再学习(一维、二维、三维)

数组再学习(一维、二维、三维)

原文地址:https://blog.51cto.com/14234228/2424893