zoukankan      html  css  js  c++  java
  • 一维数组的创建及使用

    1. 创建一维数组

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

    a. 先声明,再用new运算符进行内存分配

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

    数组元素类型 数组名字[];
    
    数组元素类型[] 数组名字;
    数组元素类型决定了数组的数据类型。它可以是Java中任意的数据类型,包括简单类型和组合类型。数组名字为一个合法的标识符,符号“[ ]”指明该变量是一个数组类型变量。单个”[ ]”表示要创建的数组是一个一维数组。

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

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

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

    数组名字:被连接到数组变量的名称。
    数组元素的个数:指定数组中的个数,即数组的长度。

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

    数组名字:被连接到数组变量的名称。
    数组元素的个数:指定数组中的个数,即数组的长度。
    使用new关键字分配数组时,必须指定数组元素的类型和数组元素的个数,即数组的长度。

    //为数组分配内存 arr = new int[5];

    以上代码表示要创建一个有5个元素的整型数组,并且将创建的数组对象赋给引用变量arr,即引用变量arr引用这个数组。如下图所示:


    在图中arr为数组名称,方括号“[ ]” 中的值为数组的下标。数组通过下标来区分数组中的不同元素。数组的下标是从0开始的。由于创建的数组arr中有5个元素,因此数组中元素的下标为0~4.
    使用new关键字为数组分配内存时,整型数组中各个元素的初始值都为0。

    2. 声明的同时为数组分配内存
    这种创建数组的方法是将数组的声明和内存的分配合在一起执行。语法如下所示:

    数组元素的类型 数组名 = new 数组元素的类型[数组元素的个数];
    //声明并为数组分配内存
    int month[ ] =new int[12];

    上面代码创建数组month,并指定了数组的长度为12。
    这里写图片描述

    2. 初始化一维数组

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

     
    int arr[]=new int[]{1,2,3,4,5}; //第一种初始化方式
    int arr2[] ={12,34,29,22}; //第二种初始化方式

    从中可以看出,数组的初始化就是包括大括号之内用都好分开的表达式列表。用括号( , )分割数组中的元素,系统自动为数组分配一定的空间。用第一种初始化方式,将创建5个元素的数组,依次为1、2、3、4、5。第二种初始化方式,会创建4个元素的数组,依次为12、34、29、22。

    3. 使用一维数组
    在Java集合中一维数组是常见的一种数据结构。通过使用一维数组来对其进一步了解。

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

    运行结果如下:

    //声明
    int[] a;
    int b[];
    
    //创建数组对象
    a = new int[4];
    b = new int[5];
    
    //动态初始化:
    for(int i=0;i<a.length;i++){
        a[i]=i*12;
    }
    
    //静态初始化
    int c[]= {23,43,56,78}; //内存中开辟空间的同时赋值;长度是4,索引范围是0~3
    
    Car[] cars = {
            new Car("奔驰"),
            new Car("宝马"),
            new Car("奥迪")
              };
    
    
    Car c2 = new Car("奔驰");
    
    //接下来,可以验证上面的两个奔驰是否相等
    System.out.println(c2== cars[0]);
     
  • 相关阅读:
    [ARC117F]Gateau
    [ARC117D]Miracle Tree
    [loj3504]支配
    [gym102511K]Traffic Blights
    [loj3501]图函数
    [loj3503]滚榜
    [loj3500]矩阵游戏
    [loj2135]幻想乡战略游戏
    [cf720D]Slalom
    [cf1349E]Slime and Hats
  • 原文地址:https://www.cnblogs.com/cxy2020/p/12864468.html
Copyright © 2011-2022 走看看