JAVA基础程序设计之数组

1 基本概念

数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组、二维数组、多维数组。

1.1 一维数组

数组定义

分为两步:数组声明、内存分配

声明:数据类型 数组名 [] = null ;数据类型 [] 数组名 = null ;

分配内存:数组名 = new 数据类型 [ 长度 ] ;

数组的元素是通过索引访问的,数组索引从 0 开始。

下面的语句首先声明了一个数组变量 myList ,接着创建了一个包含 10 个 double 类型元素的数组,并且把它的引用赋值给 myList 变量。

public class TestArray {

public static void main (String[] args ) {

// 数组大小

int size = 10;

// 定义数组

double[] myList = new double[ size ];

myList [0] = 5.6;

myList [1] = 4.5;

myList [2] = 3.3;

myList [3] = 13.2;

myList [4] = 4.0;

myList [5] = 34.33;

myList [6] = 34.0;

myList [7] = 45.45;

myList [8] = 99.993;

myList [9] = 11123;

// 计算所有元素的总和

double total = 0;

for (int i = 0; i 

total += myList [ i ];

}

System.out. println (" 总和为: " + total );

}

}

以上实例输出结果为:

总和为:11367.373

下面的图片描绘了数组 myList 。这里 myList 数组里有 10 个 double 元素,它的下标从 0 到 9 。

数组静态初始化

数组的内容分为动态初始化和静态初始化两种,前面例子中先声明后赋值的方式就是动态初始化,静态初始化就是在数组声明时就指定其具体内容。

静态初始化:

数据类型 数组名 [] = { 初值 0 ,初值 1 , … ,初值 n}

1.2 二维数组:

如果可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格。

数组定义

二维数组的声明方式同一维数组类似。

声明:数据类型 数组名 [][] = null ;数据类型 [][] 数组名 = null ;

分配内存:数组名 = new 数据类型 [ 行数 ][ 列数 ] ;

二维数组定义及使用:

Public class ArrayDemo {

Public static void main (String [] args){

Int score [][] = new int [4][3]; // 声明并实例化二位数组

Score[0][1] = 30 ; // 为数组中的部分内容赋值

Score[1][0] = 31 ; // 为数组中的部分内容赋值

Score[2][2] = 32 ; // 为数组中的部分内容赋值

Score[3][1] = 33 ; // 为数组中的部分内容赋值

Score[1][1] = 30 ; // 为数组中的部分内容赋值

For (int I = 0; I < score.length; i++){// 外层循环行

For (int j = 0; j < score[i].length; j++){// 内层循环列

System.out.print(score[i][j] + “\t”);

}

System.out.println(“”); // 换行

}

}

}

二维数组静态初始化

格式:数据类型 数组名 [][] = {{ 第 0 行初值 },{ 第 1 行初值 },…,{ 第 n 行初值 }};

声明二维数组:int score[][] = {{67},{78,89},{99,100,98,66}};

二维数组不要求每一维大小相同。

1.3 多维数组

经过一维、二维数组的分析不难发现,想要提高数组的维数,只要在声明数组的时候将索引与中括号再加一组即可,所以三维数组的声明为:int score[][][] ,四维数组为 int score[][][][] ,以此类推。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200501A082SP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券