`
yuxingfirst
  • 浏览: 50562 次
  • 性别: Icon_minigender_1
  • 来自: 湘潭
社区版块
存档分类
最新评论

数组的初始化

    博客分类:
  • Java
阅读更多

就我自己而言,一般在初始化数组变量时,喜欢这样写:int[] arr = new int[ARRAY_LENGTH];孰不知还有下面几种方式:

int[] arr = new int[]{}

int[] arr = new int[0]

int[] arr = {}

这几种方式你是否都熟悉呢?其实这三种初始化方式效果都是一样的,那就是这三个数组变量的长度都是0

大家可能都熟悉下面这种方式:int[] arr = {1,2,3,4,5},用下面的语句输出:

for(int a : arr) {

System.out.println(a);

}

当然,这样的方式可能也有很多人知道:int[] arr = new int[]{1,2,3,4,5},不过在实际中我们可能用的并不多,但是这种方式是非常重要的,因为如果当一个方法需要一个整形数组的实参时,我们该如何传参数呢?

initialArray(int[] array),你会怎样传实参呢?

A:initialArray({1,2,3,4,5})

B:initialArray(1,2,3,4,5)

C:initialArray(new int[]{1,2,3,4,5})

答案就是C。第一种方式,只能用来数组初始化的且只是这种情况,而不能传参。当然编译会出错。第二种方式就更不对了。不过后面我会讲到如果改变一下initialArray方法的参数形式的话,就对了。只有C是正确的答案。
    上面介绍的是基本类型数组的初始化,对象数组初始化其实也一样。比如说,String数组初始化:
    String[] strArray = {"kobe","tmac"}或者String[] strArray = new String[]{"kobe","tmac"};当然这里String比较特殊,可以用字符串直接初始化。
    当然,我说的不是这种:
    Integer[] integerArray = new Integer[3];这只是申请了3个引用的空间而已。我说的是Integer[] integerArray = new Integer[]{1,2,3}这样的初始化。当然这里Integer也比较特殊,因为现在早已经可以自动装包/拆包了。

    b.你经常使用新的可变参数列表形式吗?
    比如说,你现在写main函数的参数是main(String[] args)还是main(String...args),我觉得很多人仍然会用第一种形式。我个人还是非常喜欢新的可变参数列表形式的。比如说上面的一个例子,我如果把initialArray放的参数形式改一下,即
initialArray(int...args),下面传实参的时候,你会怎么选择呢,我还是给出上面的三个选项,再加上一个D
     A.initialArray({1,2,3,4,5})
     B.initialArray(1,2,3,4,5);
     C.initialArray(new int[]{1,2,3,4,5})
     D.initialArray();
      改成这样的话,正确答案就有三个了。B,C,D均为正确答案
      使用新的可变参数里列表形式是非常灵活的,可以都不传参数;当然它也有弊端,比如重载的时候,可能会模棱两可。

 

分享到:
评论

相关推荐

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

    C语言字符数组初始化

    ### C语言字符数组初始化详解 #### 一、字符数组的定义与初始化 在C语言中,字符数组是一种非常重要的数据结构,主要用于存储一系列字符。字符数组的定义与初始化是掌握其使用的基础。以下是对字符数组定义及初始...

    维数组初始化的几种方法.docx

    在编程中,数组初始化是一个非常基础且重要的概念,特别是在C++这样的静态类型语言中。数组初始化确保了在程序运行时,数组的元素被赋予特定的初始值,而不是默认的不确定值。下面我们将详细讨论一维数组、二维数组...

    数组初始化.txt

    ### 数组初始化详解 在计算机科学中,数组是一种基本的数据结构,用于存储固定大小的同类型元素集合。数组初始化是创建并为数组分配内存的过程,同时设置数组元素的初始值。本文将深入探讨数组初始化的概念、方法...

    数组初始化 数组的两种初始化方式

    数组初始化的两种方式 数组是 Java 编程语言中最基本的数据结构之一,它可以存储多个元素,并且每个元素都可以是相同的数据类型。数组初始化是指在数组创建时为其赋值的过程。Java 中数组初始化有两种方式:静态...

    c语言二维数组初始化及示例代码.zip

    c语言二维数组初始化 二维数组是C语言中非常重要的一种数据结构,它可以用来存储具有两个维度的数据。对于二维数组的初始化,C语言提供了几种不同的方法,包括在声明时直接初始化、使用循环进行初始化等。下面将...

    VB 数组的初始化实例

    在VB(Visual Basic)编程语言中...以上就是VB中数组初始化的基本概念和实例,理解并熟练掌握这些技巧,将有助于编写更高效、更易维护的代码。在实际开发过程中,根据需求选择合适的初始化方式,可以大大提高编程效率。

    c语言二维数组初始化.md

    c语言二维数组初始化, 在C语言中,二维数组可以通过多种方式进行初始化。以下是一些例子: 1. **在声明时完全初始化**: ```c int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; ``` 在这个例子中,二维...

    Java程序设计基础:一维数组初始化.pptx

    一维数组初始化 目录 课程导入 掌握一维数组元素的访问方法 掌握一维数组的初始化方法 熟知一维数组的长度属性 掌握输出一维数组所有元素值的方法 访问数组元素 0.0 0.0 0.0 0.0 0.0 [0] [1] [2] [3] [4] myList 首...

    C语言常见问题-数组初始化的四种方法.docx

    在C语言中,数组初始化是编程过程中的一个重要环节,它能确保数组在使用前拥有预设的值,避免出现未定义行为。初始化数组的方式多种多样,以下将详细讲解四种常见的初始化方法。 1. 初始化参数列表 这是最直观的...

    数组初始化.vi

    数组初始化

    Java程序设计基础:二维数组初始化.pptx

    掌握二维数组初始化的简写方法; 学习目标 课程导入 3 掌握使用双重循环遍历二维数组的方法; 4 了解使用输入值给二维数组初始化的方法 5 掌握使用随机数给二维数组初始化的方法 二维数组—元素访问 二维数组元素...

    matlab数组的初始化

    以下是对MATLAB数组初始化的详细说明: 1. **基本语法**: MATLAB中初始化数组的基本语法包括使用等号`=`来赋值。例如,你可以创建一个一维数组: ```matlab a = [1, 2, 3]; ``` 或者一个二维数组: ```...

    【C】数组数组初始化总结

    【C】数组数组初始化总结;参见博客https://blog.csdn.net/u010168781/article/details/80061118

    C#中数组初始化与数组元素复制的方法

    了解并熟练掌握C#中的数组初始化和元素复制是编写高效代码的基础。在创建和初始化数组时,根据需求选择静态或动态初始化。在需要复制数组元素时,`Array.Copy`方法是一个理想的选择,它提供了快速且类型安全的复制...

    java数组初始化详解修正版.doc

    ### Java 数组初始化详解 #### 一、概述 在 Java 中,数组是一种基本的数据结构,用于存储固定数量的同类型元素。数组初始化是指为数组分配内存,并为其中的元素设置初始值的过程。根据不同的初始化方式,Java ...

    C语言数组初始化问题汇总

    首先,我们来看最常见的数组初始化方式,即通过花括号{}来设定初始值。这种方式称为完全初始化或列表初始化。例如: ```c int a[10] = {0}; ``` 这段代码会创建一个包含10个整数元素的数组`a`,并将其所有元素设置为...

    编程题3_1对象数组初始化[借鉴].pdf

    对象数组初始化和 Student 类设计 在软件开发中,对象数组初始化是一种常见的编程技术,特别是在设计学生信息管理系统时。在本文中,我们将讨论如何设计 Student 类,实现对象数组的初始化和成员函数的使用。 ...

    C语言字符数组初始化.pdf

    "C语言字符数组初始化" 在C语言中,字符数组的初始化是非常重要的,以下是关于字符数组初始化的知识点: 1. 字符数组的定义与初始化 字符数组的初始化可以通过逐个字符赋给数组元素来实现,例如:`char str[10]={...

Global site tag (gtag.js) - Google Analytics