初识Java(Java数组-数组概述)

一、数组概述

    数组是具有相同数据类型的一组数据的集合。在 Java 中同样将数组看做一个对象,虽然基本数据类型不是对象,但由基本数据类型组成的数组却是对象。

二、一维数组的创建及使用

    2.1 创建一维数组

    数组作为对象允许使用 new  关键字进行内存分配。在使用数组之前,必须首先定义数组变量所属的类型。一维数组创建有两种形式:

    ( 1 ) 先声明,再用 new 运算符进行内存分配

    声明一维数组有两种方式: 

    < 1 > :数组元素类型 数组名字[] ;  <2> :数组元素类型[] 数组名字 ;

    数组元素类型决定了数组的数据类型。它可以是 Java 中任意的数据类型,包括简单类型和组合类型。

    数组名字为一个合法的标识符。

    符号 “ [] ”指明该变量是一个数组类型变量。 单个“ [] ”表示要创建的数组是一个一维数组。

int arr[] ;        //声明 int 型数组,数组中的每个元素都是 int 型数值
String str[];      //声明 String 数组,数组中的每个元素都是 String 型数值

    声明数组后,还不能立即访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正使用数组,还要为它分配内存空间。在为数组分配内存空间时必须指明数组的长度。

    语法 :数组名字 = new 数组元素类型[数组元素的个数];

    数组名字 :被连接到数组变量的名称。

    数组元素的个数 :指定数组中变量的个数,即数组的长度。

    使用 new 关键字分配数组时,必须指明数组元素的类型和数组元素的个数,即数组长度。

arr = new int[5];

    使用 new 关键字为数组分配内存时,整形数组中各个元素的初始值都为 0 。

    ( 2 )声明的同时为数组分配内存

    这种创建数组的方法是将数组的声明和内存的分配合在一起进行。   

    语法 :数组元素类型 数组名 = new 数组元素类型[数组元素的个数];

int month[] = new int[12];     //创建数组 month ,并指定了数组长度为 12 
    2.2 初始化一维数组

    数组与基本数据类型一样可以进行初始化操作。数组的初始化可分别初始化数组中的每个元素。

    数组的初始化有两种形式 :

(1) int arr[] = new int[]{1,2,3,5,25};        //第一种初始化
(2) int arr2[] = {34,23,12,6};                //第二种初始化

    数组的初始化就是包括在大括号之内用逗号分开的表达式列表。用逗号( , ) 分割数组中的每个元素,系统自动为数组分配一定的空间。

    2.3 使用一维数组

public class GetDay{
    public static void main(String[] args){
        //创建并初始化一维数组
        int day[] = new int[]{31,28,31,30,31,30,31,31,30,31,30,31};
        for(int i = 0 ; i < 12 ; i++ ){                                  //循环输出
            System.iut.println((i+1) + "月有" + day[i] + "天");          //输出信息
        }
    }
}

    运行结果为:

1 月有 31 天
2 月有 28 天
3 月有 31 天
4 月有 30 天
5 月有 31 天
6 月有 30 天
7 月有 31 天
8 月有 31 天
9 月有 30 天
10 月有 31 天
11 月有 30 天
12 月有 31 天

三、二维数组的创建及使用

    如果一维数组中的各个元素仍然是一个数组,那么它是一个二维数组。二维数组常用于表示表,表中的信息已行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表元素所在的列。

    3.1 二维数组的创建

    二维数组可以看做是特殊的一维数组。

    ( 1 )先声明,再用 new 运算符进行内存分配

    语法 : 

    <1> 数组元素类型 数组名字[][] ;  <2>  数组元素类型[][] 数组名字 ;

    声明二维数组 :

int myarr[][];

    同一维数组一样,二维数组在声明时也没有分配内存空间,同样适用 new 关键字来分配内存,然后才可以访问每一个元素。

    对于高维数组,有两种分配内存方式 :

    (1) 直接为每一维分配内存空间

a = new int [2][4];        //为每一维数组分配内存

    (2) 分别为每一维分配内存

a = new int [2][];
a[0] = new int[2];
a[1] = new int[3];

    ( 2 )声明的同时为数组分配内存

    使用这种方式为二位数组分配内存时,首先指定最左边维数的内存,然后单独地给余下的维数分配内存。

    3.2 二维数组初始化

    语法 : type arrayname[][] = {value1 , value2 ,  ...  valuen};

    type :数组数据类型。

    arrayname :数组名称,一个合法的标识符。

    value :数组中各元素的值。

int myarr[][] = {{12,0} , {45,10} } ;     //初始化二维数组

    初始化二维数组后,要明确数组的小标都是从 0 开始。

    int 型二维数组是以 int a[][] 来定义,所以可以直接给 a[x][y] 赋值。

    3.3 使用二维数组

    使用二维数组输出一个 3 行 4 列且所有元素都是 0 的矩阵。

public class Matrix{
    public static void main(String[] args){
        int a[][] = new int[3][4];                        //定义二维数组
        for(int i = 0 ; i < a.length ; i++ ){
            for(int j = 0 ; j < a[i].length ; j++){       //循环遍历数组中的每个元素
                System.out.print(a[i][j]);                //将数组中的元素输出
            }
        System.out.println();                             //输出空格
        }
    }
}
    运行结果为 :
0000
0000
0000
    对于整形二维数组,创建成功之后系统会赋给数组中每个元素初始值 0 。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值