首页 > 学院 > 开发设计 > 正文

0006 数组

2019-11-14 10:38:23
字体:
来源:转载
供稿:网友

数组的定义与初始化

  有些时候,我们需要对很多相同数据类型的数进行集中或者统一处理的时候,我们可以利用数组来帮助我们对数据进行管理。

  数组就是相同数据类型的元素按一定顺序排列的集合。我们可以把它看成一个大的盒子,里面按顺序存放了多个数据类型相同的数据。

数组的定义

  比如:定义一个int型数组ages存储四个人的年龄,数组中的元素都可以通过下标来访问,下标从 0 开始。例如,可以通过 ages[0] 获取数组中的第一个元素 18 ,ages[2] 就可以取到第三个元素 34。

  我们要使用数组,首先我们得对数组进行声明

语法:

数据类型[ ] 数组名;   //或者: 数据类型 数组名[ ];

其中,数组名可以是任意合法的变量名,如:

int ages[];      //存放年龄的数组,类型为整型char symbol[];   //存放符号的数组,类型为字符型String [] name;  //存放名称的数组,类型为字符串型

  当我们声明了数组后,需要为数组分配空间,也就是定义多大的数组。

语法:

数组名 = new  数据类型 [ 数组长度 ];

  数组长度就是数组最多可存放元素的个数。我们也可以在数组声明的时候初始化数组,或者在声明时就为它分配好空间,这样我们就可以不用再为数组分配空间。

语法:

int [] ages = {12,18,9,33,45,60}; //声明并初始化了一个数组,它有6个元素char [] symbol = new char[10] //声明并分配了一个长度为10的char型数组

   分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的。

一维数组

  数组可以分为一维数组多维数组。一维数组是由数字组成单纯的线性结构的数组,简单来理解就是一串数。在上面的例子中都是一维数组。

  一维数组我们可以根据简单地循环进行遍历操作。

比如:我们想要在控制台上输出我们上面定义的数组ages。

int [] ages = {12, 18, 9, 33, 45, 60};for(int i = 0; i < ages.length; i++){ //ages.length是获取数组的长度    System.out.PRintln("数组中第"+(i+1)+"个元素是 "+ages[i]); //数组下标是从零开始,一定要注意}

运行结果:

数组输出结果

注意:

数组下标从 0 开始。所以数组的下标范围是0 至 数组长度-1。

数组不能越界访问,否则会报错。

   for 语句在数组内可以使用特殊简化版本,在遍历数组、集合时,foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思。

语法:

for(元素类型 元素变量:遍历对象){    执行的代码}

例如上面的例子:

public class JudgePrime {    public static void main(String[] args){        int [] ages = {12, 18, 9, 33, 45, 60};        int i = 1;        for(int age:ages){            System.out.println("数组中第"+i+"个元素是"+age);            i++;        }    }}

二维数组

  在我们的编程生涯中除了一维数组之外我们还会遇到许多多维数组的应用,其中二维数组是最常见的。

  二维数组可以看成是一间有座位的教室,座位我们一般用第几排的第几个进行定位,每一个座位都有一个行和一个列的属性,一排的座位相当于一个一维数组,所以我们可以将二维数组简单的理解为是一种“特殊”的一维数组,它的每个数组空间中保存的是一个一维数组。

  二维数组也需要声明和分配空间。

语法:

数据类型 [][] 数组名 = new 数据类型[行的个数][列的个数];//或者数据类型 [][] 数组名;数组名 = new 数据类型[行的个数][列的个数];//也可以数据类型 [][] 数组名 = {{第一行值1,第一行值2,...},{第二行值1,第二行值2,...},...}//二维数组的赋值和访问,跟一维数组类似,可以通过下标来逐个赋值和访问,注意索引从 0 开始数组名[行的索引][列的索引] = 值;

例子:

    String [][] name = {{"ZhaoYi", "QianEr", "SunSan"},                {"LiSi", "ZhouWu", "WuLiu"}};        for(int i = 0; i < 2; i++){            for (int j = 0; j < 3; j++){                System.out.println(name[i][j] );            }        }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表