精华内容
下载资源
问答
  • 数组初始化: 动态初始化:(声明并开辟数组) 数据类型[ ] 数组名称=new 数据类型[长度] int[ ] data=new int [5] :声明并开辟个长度为5的数组 数组通过下标索引来获取元素,下标默认从0开始。数组下标...

    数组属于引用数据类型,在使用前必须初始化,否则会报NullPointerException(空指针异常:运行时异常)
    一维数组初始化:
    动态初始化:(声明并开辟数组)
    数据类型[ ] 数组名称=new 数据类型[长度]

    int[ ] data=new int [5] :声明并开辟一个长度为5的数组

    数组通过下标索引来获取元素,下标默认从0开始。数组下标超出数组长度,数组越界异常(运行时异常)

    数组中每个元素都有默认值,默认值是该数据类型默认值

    数组长度:数组名称.length

    数组遍历推荐使用JDK1.5 提供for-each循环(仅限于数组内容读取),要修改数组内容,还是使用常规for循环

        for(int x : data)
    

    {
    System.out.println(x+" ");
    }
    引用传递:多个栈内存指向同一块堆内存

    int[ ] tmp=data; //引用传递 注意是地址的传递
    tmp[3]=10; ----> x[3]=10;

    数组静态初始化
    简化格式:
    数据类型[ ] 数组名称 ={值,值…}
    完整格式: (推荐使用)
    数据类型[ ] 数组名称 =new 数据类型[ ]{值,值…}
    int[ ] data =new int[ ] {1,2,3} ;

    长度 :数组名称.length ,静态初始化长度固定,根据值的个数确定长度,并且长度不可修改

    匿名数组:没有任何栈内存指向,在使用一次后会变成垃圾,只会使用一次

    二维数组
    动态初始化:数据类型[ ][ ] 数据名称 =new 数据类型[ 行个数] [列个数]

    int[ ] [ ]data =new int [3][4];开辟行数为3,列数为4的整型数组

    静态初始化:
    数据类型[ ][ ] 数组名称 =new 数据类型[ ][ ]{ {第一行的值},{第二行的值}…}

    int[ ][ ] data={{1,2,3},{4,5,6},{7}};

    x<data.length

    y<data[x].length

    对象数组初始化:

    首先看对象数组动态初始化:

    对象数组动态初始化
    public class ArrayDemo
    {
        public static void main(String[] args)
        {
            String[] str=new String[3];  //数组动态初始化,每个元素都是其对应数据类型的默认值
            for(String num :str)
            {
                System.out.print(num+"、"); //null、null、null、
            }
            str[0]=new String("pick");
            str[1]=new String("happy");
            str[2]=new String("day");
           for(String num :str)
           {
               System.out.print(num+"、"); //pick、happy、day、
           }
        }
    }
    

    对象数组静态初始化:

    public class ArrayDemo
    {
        public static void main(String[] args)
        {
            String[] str=new String[]{"pick","happy","day"};  //数组静态初始化,pick、happy、day、
           for(String num :str)
           {
               System.out.print(num+"、"); //pick、happy、day、
           }
        }
    }
    
    展开全文
  • 数组初始化

    千次阅读 2020-09-02 19:49:46
    那么,数组初始化,就是在定义数组的时候,给其赋值初始值。 数组初始化的格式如下: 数据类型 数组名 [常量值] = {值1, 值2, ..., 值N}; 此时,在定义数组的时候,指定了数组的长度,然后,给数组赋值。例如: ...

    所谓变量初始化,就是在定义变量的时候,给其赋值一个初始值。那么,数组初始化,就是在定义数组的时候,给其赋值初始值。

    数组初始化的格式如下:

    数据类型  数组名 [常量值] = {值1, 值2, ..., 值N};

    此时,在定义数组的时候,指定了数组的长度,然后,给数组赋值。例如:

    int array[3] = {100, 200, 300};

    就相当于:

    array[0] = 100;

    array[1] = 200;

    array[2] = 300;

    程序测试例子如下:

     

    程序运行结果如下:

     

    注意,如果数组的长度比赋值列表中的元素多,则赋值列表赋给数组,然后,多出的数组元素自动赋0值。例如:

    int array[6] = {100, 200, 300}; //数组长度是6个元素,但是,初始化列表才有3个数值。

    就相当于:

    array[0] = 100;

    array[1] = 200;

    array[2] = 300;

    array[3] = 0;

    array[4] = 0;

    array[5] = 0;

    可以看到,定义数组的长度是6个元素,但是,赋值列表才有3个元素,所以,赋值列表赋给元素,然后,剩下的元素自动赋0值。

    程序测试例子如下:

     

    程序运行结果如下:

     

    注意:给数组初始化的时候,可以不用定义数组的长度,例如:

    数据类型  数组名 [] = {值1, 值2, ..., 值N};

    此时,数组的长度就是赋值列表的元素个数。例如:

    int array[] = {100, 200 ,300};

    定义array数组的时候,没有指定数组的长度,那么,就相当于:

    array[0] = 100

    array[1] = 200

    array[2] = 300

    此时,数组的长度就是赋值列表的元素个数。学习了sizeof关键字,我们就可以使用sizeof关键字来获取数组的长度,程序测试代码如下:

     

    程序运行结果如下:

     

    可以看到,定义了 array 数组的长度是3,就是初始化列表{100, 200, 300}中元素的个数。

    韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

    展开全文
  • 数组初始化

    2017-04-12 19:42:15
    数组初始化 数组初始化:向数组元素赋值 创建完数组尚未向其赋值时为空数组,元素区域为灰色(通常,全部元素缺省为0)。 当输入数组中元素全部为0时,输出数组中的元素也为0,布尔数组中指示灯不亮。 ...

    数组初始化

    数组初始化:向数组元素赋值

    创建完数组尚未向其赋值时为空数组,元素区域为灰色(通常,全部元素缺省为0)。

    当输入数组中元素全部为0时,输出数组中的元素也为0,布尔数组中指示灯不亮。

    当输入数组中元素不全为0时,输出数组中的元素也与输入数组的元素相同,布尔数组中对应元素不为0的指示灯亮。

    数组初始化前面板

    数组初始化程序框图

    展开全文
  • Java数组初始化

    千次阅读 2019-05-06 22:34:32
    1.Java数组初始化的两种方法: 静态初始化:程序员在初始化数组时为数组每个元素赋值; 动态初始化:数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。 Java数组是种引用数据类型。数组...

    1.Java 数组初始化的两种方法:    

        静态初始化: 程序员在初始化数组时为数组每个元素赋值;

        动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。

     

      Java数组是一种引用数据类型。数组变量并不是数组本身,而是指向堆内存中存放的数组对象。因此,可以改变一个数组变量所引用的数组。

    2.数组是否必须初始化

        对于这个问题,关键在于要弄清楚数组变量和数组对象的差别。数组变量是存放在栈内存中的,数组对象是存放在堆内存中的。数组变量只是一个引用变量,他能够指向实际的数组对象。

        所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化。

    展开全文
  • C++数组初始化

    千次阅读 2018-12-28 11:19:39
    C++数组初始化 定义: int *pia = new int[10]; // array of 10 uninitialized ints 此 new 表达式分配了个含有 10 个 int 型元素的数组,并返回指向该数组第个元素的指针,此返回值初始化了指针 pia...
  • InnerClass是个类,上述情况只是声明了arrays变量为个长度为5类型为InnerClass的数组,每个对象的值都为null。 private InnerClass[] arrays = {new InnerClass(), new InnerClass(), new Inn
  • String数组初始化

    2015-07-14 11:30:20
    现将所理解的String数组在此进行说明,并对String数组初始化进行分析。 //维数组 String[] str = new String[5]; //创建个长度为5的String(字符串)型的维数组 String[] str = new String[]{"","","","",...
  • 所谓数组初始化,就是在内存中为数组对象分配块连续的内存空间,并为每个数组元素指定初始值。 三、数组初始化方式 有两种方式: 1、静态初始化:由程序员显式指定每个数组元素的初始值,由系统确定数组...
  • 1、 数组初始化 如果程序需要多个类型相同的变量时,就可以考虑定义个数组。Java语言的数组变量时引用类型的变量,因此具有Java引用变量的特性。 1、1 Java数组静态特性 Java语言是典型的静态语言,因此Java数组是...
  • java数组初始化

    千次阅读 2015-07-11 00:18:11
    、静态初始化 int[] intArr; //定义个引用变量 intArr = new int[]{3, 4, 5, 6}; String[] strArr; strArr = new String[]{"apple", "banana", "orange"}; //简化静态初始化 double[] douArr = {3.4, 5.6, ...
  • 关于C++数组初始化的一些坑之原理剖析 前情提要 在开始之前先介绍几种数组初始化的语法: 将数组初始化为0,有以下几种常用方案 1. int arr[10]{0}; 2. int* arr = new int[10]{0};//分配到内存 3. int arr[10] = ...
  • java 数组初始化

    2014-07-12 20:25:07
    Java语言的数组必须经过初始化才能够使用。所谓初始化就是为元素分配内存空间,并为每个数组元素指定初始值。 数组初始化方式有以下两种: 静态初始化:指在定义数组变量的同时指定数组元素。 int [] arr =...
  • java数组初始化与初始值

    千次阅读 2013-11-08 21:30:24
    初始化是为数组对象的元素分配内存空间,并为每个数组元素指定初始值。...java语言是典型的静态语言,因此数组是静态的,即是当数组初始化后,该长度是不可变的。 在java中,当执行动态初始化时,系统将为数
  • C++数组初始化方法

    2018-08-06 11:36:18
    定义: int *pia = new int[10]; // array of 10 uninitialized ints 此 new 表达式分配了个含有 10 个 int 型元素的数组,并返
  • java数组初始化及内存分析

    千次阅读 2015-09-29 09:40:30
    数组:相同类型的、用个标识符名封装到一起是个对象序列或基本类型数据序列。 数组的声明:1 int[ ] a1; 2 int a1[ ] 两种格式含义一样,第二种符合c和c++程序员的习惯。...初始化的时候可以指定大小。 Ja
  • C++数组初始化及定义

    万次阅读 2019-01-05 08:31:26
    定义了数组array,并未对数组进行初始化 静态 int array[100] = {1,2}; 定义并初始化数组array 动态 int* array = new int[100]; delete []array; 分配了长度为100的数组array  动态 int* array = ...
  • C/C++数组初始化

    2020-09-06 13:07:44
    1、整型数组初始化-栈初始化 //默认初始化 int a[5] = {}; //[0, 0, 0, 0, 0] //全部初始化为0 int a[5] = {0}; //[0, 0, 0, 0, 0] //c++11新写法 int a[5]{}; //[0, 0, 0, 0, 0] 2、字符串的初始化-栈初始化 ...
  • java字符串数组初始化和赋值

    万次阅读 多人点赞 2015-04-20 23:20:14
    //维数组 String[] str = new String[5]; //创建个长度为5的String(字符串)型的维数组 String[] str = new String[]{"","",...String数组初始化区别  首先应该明白java数组里面存的是对象的引用,所以必须初
  • Java是静态语言,所以Java的数组也是静态的,即:数组初始化后,长度不可变 静态初始化:显式指定每个数组元素的初始值,系统决定数组长度 String[] books = new String[]{"疯狂Java讲义","Thinking in Java",...
  • 数组定义:可以存储多个元素的容器,这多个元素的数据类型(可以是基本... 数组初始化有两种方式: (1)静态初始化:初始化时指定数组长度,由系统为数组分配初始值。比如 : int[] array = new int[]{1,20,6,8}; 简化
  • String[]数组初始化

    万次阅读 多人点赞 2015-08-28 21:04:00
    //数组 String[] str = new String[5]; //创建个长度为5的String(字符串)型的数组 String[] str = new String[]{"","","","",""}; String[] str = {"","","","",""}; //二维数组 String[][] str = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 198,827
精华内容 79,530
关键字:

一堆数组的初始化