`
qqdwll
  • 浏览: 136716 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数组初始化

    博客分类:
  • Java
阅读更多

数组初始化,你觉得简单吗?

a.如果你觉得简单,那请看下面的代码:
int[] a = new int[0];
int[] b = new int[]{};
int[] c = {};

  你觉得这三种方式,你熟悉吗?它们的作用一样吗?哈哈,其实,三种效果是一样的。如果输出的话,a,b,c的长度都是0。大家也许可能最熟悉下面这种初始化方式:
int[] d = {1,2,3,4,5};
for(int temp : d)
{
  System.out.println(temp);
}

当然这种方式:
  int[] e = 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语言中,字符数组是一种非常重要的数据结构,主要用于存储一系列字符。字符数组的定义与初始化是掌握其使用的基础。以下是对字符数组定义及初始...

    VB 数组的初始化实例

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

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

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

    数组初始化.txt

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

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

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

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

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

    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