`
liuwei1981
  • 浏览: 772421 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:161295
社区版块
存档分类
最新评论

55.一维数组初始化

 
阅读更多

在创建成功一个数组后,它将完成如下三个动作:
创建一个数组对象;
在内存中给数组分配存储空间;
给数组的元素初始化一个相应的数据类型的默认值。比如,将int类型的数组各个元素初始化成0,引用类型是null等。


public class ArrayDf {
 public static void main(String[] args) {
  int[] intArray;
  intArray = new int[10];
  System.out.println("第一个元素默认初始化值是:" + intArray[0]);
 }
}


在这个程序中,首先声明了一个int类型的数组,然后,利用new操作符创建了一个长度为10的数组,它将给这个数组分配存储空间并且初始化这些数组元素,在这里,讲给这些数组元素一个值0;最后,试图向控制台打印出这个数组第一个元素的值。

 

因为Java中的数组索引(下标)是从0开始的,所以,第一个数组元素对应的索引为0。所以可以通过intArray[0]的方式来得到数组的第一个元素的值。

编译并运行这个程序,将打印出如下的信息:
第一个元素默认初始化值是:0


其实,此时在这个数组中的任何一个元素的值都是0。读者可以自己修改数组的索引来获得不同的数组元素,注意这个数组的索引取值在0~9之间。

但是,通常情况下,我们定义一个数组并不是想用系统自动给的默认值,而是我们自己给数组的值。这个时候,就需要对数组进行初始化操作。也就是说,给数组的各个元素指定象赢得值。


数组的初始化操作分为两种方式:
静态初始化;
动态初始化。


下面我们来看这两种初始化方式的方法以及它们的区别。

 

静态初始化

 

 

所谓静态初始化,就是在定义数组的时候就对数组进行初始化,如下:
 int k[] = {1,3,5,7,9};

 

 


在这个例子中,定义了一个int类型的数组k,并且用大括号中的数据对这个数组进行了初始化,各个数据之间用“,”分割开。

 

此时数组的大小由大括号中的用于初始化数组的元素个数决定,注意不要在数组声明中指定数组的大小,否则将会引起错误。

 

在这个例子中,我们将数组声明、数组的创建以及数组的初始化都放在了同一条语句中,在这边并没有使用到new来创建这个数组。


来看一个静态初始化的例子:

public class StaticInitArray {
 public static void main(String[] args) {
  int a[] = { 1, 3, 5, 7, 9, 11 };
  for (int i = 0; i < a.length; i++) {
   System.out.println(a[i]);
  }
 }
}


在这个例子中,利用静态方式对数组进行初始化。这个数组的长度是数组中的元素的个数:6。然后用一个for循环将数组的各个元素取出来打印到控制台。程序执行的结果如下:
1
3
5
7
9
11


注意在这边用到了前面所论述的用于获得数组长度的方法:使用数组的length属性,用它来获得数组的长度。


在Java中,还可以利用静态初始化的方法来初始化一个匿名的数组,方法如下:
 new type[] {… …}
例如:new String[] {“abc”,”cde”,”efg”}


可以通过这种方法来重新初始化一个数组,例如,有一个String类型的数组,它通过下面的静态方式被初始化:
 String[] s = {“tom”,”jerry”,”mickey”};


此时,可以对s这个数组变量进行重新初始化,如下:
 s = new String[]{“abc”,”cde”,”efg”};


这条语句等同于下面的两条语句:
 String[] temp = {“abc”,”cde”,”efg”};
 s = temp;

 

动态初始化

 

所谓的动态初始化,就是将数组的定义和数组的初始化分开来进行。

 

 

 


例如,对数组中的元素一个个的分别指定它们各自对应的值:
int a = new int[3];
a[0] = 1;
a[1] = 10;
a[2] = 100;


或者用一个循环来对一个数组一次赋值,如:
 int[] a;
 a = new int[10];
 for (int i = 0;i<10;i++){
  a[i] = 2*i+1;
 } 


再来看一个char类型数组的动态初始化的例子:
    char[] s;
    s = new char[26];
    for ( int i=0; i<26; i++ ) {
      s[i] = (char) ('A' + i);
    }

 

分享到:
评论

相关推荐

    04-一维数组.pdf

    在C语言中,一维数组的定义、初始化以及引用是编程的基础概念。 **一维数组的定义**: 一维数组可以看作是同类型数据的线性集合。在C语言中,我们用以下语法来定义一个一维数组: ```c 元素类型 数组名[数组长度]; ...

    程序设计-一维数组.pptx

    本讲座主要探讨了一维数组的定义、初始化以及引用等核心概念。 首先,一维数组可以理解为一组相同类型的数据集合,它们在内存中连续存储,可以通过索引来访问每个元素。例如,数组`a`包含10个整数元素,索引从0开始...

    C语言程序设计第四谭浩强PPT课件.pptx

    4.一维数组的初始化:数组可以在定义时给予初值,例如int a[5]={1,2,3,4,5};这里的数组a包含5个元素,分别赋值为1,2,3,4,5。 5.数组的应用:数组可以用于解决实际问题,例如统计一串英文字符中的大写字母、小写字母...

    C#教学课件:第4章 数组.ppt

    - 初始化一维数组有三种方式: - 明确声明数组长度和初始化值:`int[] intArray3 = new int[5] { 11, 22, 33, 44, 55 };` - 省略数组长度,由初始值列表决定:`int[] intArray2 = new int[] { 31, 64, 97 };` - ...

    java代码-1.定义一个一维数组,求出数组的最大值,最小值,平均值。

    在Java中,一维数组可以通过以下方式声明并初始化: ```java int[] array = new int[5]; // 声明一个包含5个整数的数组 ``` 数组元素可以通过索引访问,索引从0开始,如`array[0]`、`array[1]`等。 2. **遍历...

    9C85ABBB-1B41-43AD-8AE6-50C927A7C23F.pptx

    以上内容详细介绍了C语言中数组的基本概念、一维数组和二维数组的相关知识点,包括它们的定义、初始化以及使用方法。数组是C语言中非常重要的数据结构之一,掌握数组的基本操作对于学习更高级的数据结构和算法具有...

    c语言实验报告.doc

    实验旨在帮助学生深入理解和熟练运用一维数组、二维数组、字符数组、指针数组以及字符串处理。以下是实验内容的详细说明: 一、实验目标 1. 掌握一维数组和二维数组的定义、赋值和输入输出方法。在C语言中,数组是...

    C语言程序设计清华大学数组PPT课件.pptx

    ### C语言程序设计之数组详解 ...通过以上内容,我们了解了一维数组的基本定义、引用以及初始化方法,并通过两个具体的程序实例深入了解了一维数组的应用场景。这有助于我们在实际开发中更好地利用一维数组解决问题。

    数学数组PPT学习教案.pptx

    在习题6.1中,对于外部一维数组的正确初始化,选项C`int a[] = {0};`是正确的,因为它初始化了一个包含一个0元素的数组。而对于二维数组,选项B`int a[][3] = {{1,2,1},{5,2,3}};`是正确的,因为它定义了一个二维...

    java学习笔记JDK6课件之五

    在这个"java学习笔记JDK6课件之五"中,我们主要探讨了一维数组和二维数组的概念、声明、初始化以及基本操作。 首先,一维数组是Java中最基础的数组形式,可以看作是一条线性序列。在Java中,声明一维数组通常包含两...

    JAVA学习笔记

    #### 1.5 数组初始化 除了在声明时初始化外,还可以通过循环来给数组赋值: ```java int[] arr = new int[10]; // 创建包含10个元素的整型数组 for (int i = 0; i &lt; arr.length; i++) { arr[i] = i; // 给数组中的...

    JNI完全技术手册 带完整书签

    2.初始化虚拟机... 83 3.访问类方法... 85 4访问类属性... 87 5.访问构造函数... 88 6.数组处理... 89 7.中文处理... 89 8.异常... 91 9.线程和同步访问... 91 10.时间... 92 Chap12:基本JNI调用技术(c/...

    JAVA学习笔记最新ppt版5

    在本章的学习笔记中,我们将深入理解一维数组和二维数组的概念及其使用方法。 一维数组是线性数据结构,允许我们存储一组相同类型的数据。在Java中,声明一维数组的基本语法如下: ```java 数据类型[] 数组名; ```...

    C数组指针与字符串实用PPT课件.pptx

    这些知识点涵盖了C语言中数组的基础知识,包括一维数组的声明、引用、存储顺序、初始化以及使用数组解决实际问题的方法。同时,还介绍了二维数组的声明方式。通过理解这些内容,读者可以更好地掌握C语言中的数组操作...

    C#教学课件:第四章 集合.ppt

    在"第四章 集合"中,我们将深入学习数组的各个方面,特别是重点讨论一维数组。 首先,数组被定义为一个有序的数据集合,它包含若干个相同类型的元素,这些元素可以通过索引来访问。数组分为一维数组、二维数组或...

    Array数组7.16改.docx

    ### 一、一维数组的动态与静态初始化 #### 动态初始化 动态初始化是指在创建数组时仅指定数组的大小(长度),而数组中的元素默认被初始化为特定的值。对于整型数组来说,默认值为0。 **示例代码:** ```java int...

    C程序语言课件:第8章 数组.ppt

    一维数组是最基础的数组形式,它的定义包括存储类型、数据类型和数组名,如`int a[10]`表示定义了一个包含10个整数元素的数组。数组的下标从0开始,所以`a[0]`是数组的第一个元素,`a[9]`是最后一个元素。数组的大小...

    2022年中央电大专科C++语言程序设计试题7月.doc

    9. 一维数组`inta[8]`包含8个元素。 10. 循环体将被执行5次,因为`i`从0递增,当`i不成立时退出循环,此时`i`为11。 **程序运行结果:** 1. 程序输出`s=36`,因为`s+=i*i`累加了1, 3, 5, 7的平方,这些是小于8的...

    C语言深度剖析 陈正冲

    强烈建议大家看一看这本书,pdf格式的,不是影印的,含有目录,看起来特别方便,写的很详细,诙谐幽默. 最冤枉的关键字----sizeof........................................................................................

Global site tag (gtag.js) - Google Analytics