精华内容
下载资源
问答
  • java代码-JAVA中String数组初始化,一维数组和二维数组初始化
  • 数组初始化

    千次阅读 2018-07-05 16:02:49
    一:一维数组初始化1、a[5] = {0}; // 可以看做第一个元素初始化为0,其余元素没有初始化,默认为0,最后所有元素为02、a[5] = {1, 2, 3}; //a[0]=1,a[1]=2,a[2]=3,其余为03、a[5] = {1, 2, 3,}; //这里单独拿出来,...

    一:一维数组初始化

    1、a[5] = {0}; // 可以看做第一个元素初始化为0,其余元素没有初始化,默认为0,最后所有元素为0

    2、a[5] = {1, 2, 3}; //a[0]=1,a[1]=2,a[2]=3,其余为0

    3、a[5] = {1, 2, 3,}; //这里单独拿出来,后面有逗号是可以的,其余同2

    4、a[5] = {1,2, ,3}; //这里是不可以的,数组初始化只能顺序初始化,不能跳过

    5、b=3; a[b] = {1,2,3}; //这里是不可以的,数组元素个数必须是常数,不能是变量



    二:二维数组初始化

    二维数组可以看做一维数组的数组

    要牢记第一个元素代表行,第二个元素代表列,默认先行后列初始化

    1、a[2][3] = {{1},{1}};//这是一个两行三列的数组,可以看做两个有三个元素的一维数组,分解成两个一位数组初始化,参照一维数组初始化

    2、a[2][3] = {1, 1}; //按照先行后列初始化,a[0][0] = 1, a[0][1] = 1,其余为0

    3、a[][3] = {1, 1, 1, 1, 1}; //先行后列初始化,每行有三列,第一行排完之后排第二行,容易得知有两行

    4、a[2][] = {1, 1, 1, 1, 1,}; //有两行,第一行如果有四个元素,第二行就有一个。第一行如果有三个元素,第二行就有两个。这时编译器就不知怎么搞了,所以不行。

    5、a[500][500],可用双层for嵌套初始化,例如

     for(i=0; i<500; i++)
              for(j=0; j<500; j++)
                      a[i][j] = 1;


    展开全文
  • 一维数组初始化: 动态初始化:(声明并开辟数组) 数据类型[ ] 数组名称=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、
           }
        }
    }
    
    展开全文
  • 看到C++将数组初始化为全0的这个用法: int a[100] = {0};// 初始化一个全0的数组 你可能会举一反三,使用如下代码来初始化一个全1数组 int a[100] = {1}; 但是这句代码的执行结果是:得到一个第一个数为1,其他数...

    看到C++将数组初始化为全0的这个用法:

    int a[100] = {0};// 初始化一个全0的数组
    

    你可能会举一反三,使用如下代码来初始化一个全1数组

    int a[100] = {1};
    

    但是这句代码的执行结果是:得到一个第一个数为1,其他数全部为0的数组。感觉非常坑爹。
    究其原因,正如C/C++ int数组初始化中所述,数组初始化列表中的元素个数小于指定的数组长度时,不足的元素补以默认值。
    这个结论在bool数组的初始化中同样适用:

    bool b[100] = {false};// 初始化一个全为false的数组
    bool b[100] = {true};// 初始化一个b[0]为true,其他为false的数组
    

    还是用memset来进行初始化比较好:

    //int a[100];
    //memset(a, 1, sizeof(a));// 不能初始化一个全1的数组
    bool b[100];
    memset(b, true, sizeof(b));// 可以初始化一个全为true的数组
    

    感谢评论区@Mreak233的指正,使用memset(a, 1, sizeof(a))并不能初始化一个全1的数组,实际运行之后,数组中的每个值都是16843009,即二进制的00000001 00000001 00000001 00000001
    引用关于C++ memset函数使用的问题中的 【3.挖掘背后的原因】中的话,其原因在于

    为什么使用memset函数会出现这些情况呢?原因很简单就是由于memset函数在做初始化的时候是以字节为单位的(1Byte,也就是8位二进制数)。由于bool类型和char类型均为1个字节。所以在进行初始化的时候不会发生任何问题(bool类型在存入数组是会进行类型转换,0为false,非0为true)。但是一个int型变量是4个字节,也就是32位二进制数。那么在初始化时会将4个用于初始化的字符组合成一个int型的值。

    如果要将int数组全部初始化为一个非0数的话,建议使用for循环进行赋值。https://bbs.csdn.net/topics/360017909

    展开全文
  • C#数组初始化简析

    2020-09-05 17:46:33
    C#数组与其它C系列语言有着很多的不同,以前接触的时候理解出现很大的偏差。尤其是对多维数组的认识,本文将详细介绍C#数组初始化,需要的朋友可以参考下
  • C语言数组初始化教程C语言数组初始化一语法type arrName[count] = {val1, val2, val3, ....};参数参数描述type数组中每一个元素的数据类型。arrName数组的变量名。count数组能存储的元素的个数。val给数组初始化的值...

    C语言数组初始化教程

    C语言数组初始化一

    语法

    type arrName[count] = {val1, val2, val3, ....};

    参数

    参数

    描述

    type

    数组中每一个元素的数据类型。

    arrName

    数组的变量名。

    count

    数组能存储的元素的个数。

    val

    给数组初始化的值。

    说明

    我们还可以在 {} 写上一系列的值,用来初始化数组的值。

    C语言数组初始化二

    语法

    #include

    type arrName[count];

    memset(arrName, 0, count);

    说明

    我们可以使用 memset 函数,给数组进行初始化,这里,我们将数组全部初始化为了 0。

    memset 函数的第一个参数是数组名,第二个参数是需要初始化的值,最后一个是数组的长度。

    案例

    数组初始化

    数组未能完全初始化

    #include

    int main(int argc, char **argv){

    printf("嗨客网(www.haicoder.net)\n\n");

    // 给数组全部初始化为 0

    int arr[5] = {2};

    int i = 0;

    for(i = 0; i < 5; i++)

    {

    printf("i = %d\n", arr[i]);

    }

    }

    程序运行后,控制台输出如下:

    9cd5f55a4f39f105a86b808add2937d4.png

    我们创建了一个有五个元素,每个元素都是

    最后,我们使用

    数组初始化

    创建数组时,即给数组设置初值

    #include

    int main(){

    printf("嗨客网(www.haicoder.net)\n\n");

    // 初始化数组

    int arr[5] = {2, 4, 6, 8, 10};

    int i = 0;

    for(i = 0; i < 5; i++)

    {

    printf("i = %d\n", arr[i]);

    }

    printf("\n");

    return 0;

    }

    程序运行后,控制台输出如下:

    03ea7149c36d300bffb07482971cc12d.png

    我们创建了一个有五个元素,每个元素都是 int

    数组初始化

    使用 memset 初始化数组

    #include

    #include

    int main(){

    printf("嗨客网(www.haicoder.net)\n\n");

    // 不初始化数组

    char arr[5];

    memset(arr, 'a', 5);

    int i = 0;

    for(i = 0; i < 5; i++)

    {

    printf("i = %c\n", arr[i]);

    }

    printf("\n");

    return 0;

    }

    程序运行后,控制台输出如下:

    858c8cccd2dfb55b959168b303df6ee3.png

    我们定义了一个 a,最后,我们打印数组的内容,输出了所有元素都是 a。

    即,我们成功使用了 memset 函数,将数组的内容初始化为了 a。

    数组不初始化

    创建数组时,如果不给数组初始化,那么数组元素是未知的

    #include

    int main(){

    printf("嗨客网(www.haicoder.net)\n\n");

    // 不初始化数组

    int arr[5];

    int i = 0;

    for(i = 0; i < 5; i++)

    {

    printf("i = %d\n", arr[i]);

    }

    printf("\n");

    return 0;

    }

    程序运行后,控制台输出如下:

    9cd5f55a4f39f105a86b808add2937d4.png

    这次,我们创建了数组之后,没有给数组进行初始化,我们打印数组的内容,发现数组的内容是随机的。

    C语言数组初始化总结

    C 语言的数组的初始化,即数组定义的时候给数组赋初值,一共可分为两种方法,如果我们定义了数组,但没有给数组进行初始化,那么数组的内容是随机的。

    展开全文
  • 主要介绍了C#中数组初始化与数组元素复制的方法,涉及C#中数组的创建、初始化及使用Array.Copy方法复制数组元素的技巧,需要的朋友可以参考下
  • C语言数组初始化

    千次阅读 2017-01-31 11:12:06
    数组初始化
  • 数组初始化.txt

    2012-11-19 07:12:37
    数组初始化.txt
  • java数组初始化详解

    2012-12-15 18:41:01
    java 数组初始化 详解 doc
  • Java数组初始化

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

    千次阅读 2020-04-08 16:38:20
    字符数组初始化为空1. 总结起来有以下三种方式:2. 分析3. 结论 1. 总结起来有以下三种方式: (1) char str[10]=""; (2) char str[10]={’\0’}; (3) char str[10] = ‘\0’; 2. 分析 第(1)(2)种方式是将str数组的...
  • C语言中字符数组初始化的几种方法

    万次阅读 多人点赞 2019-04-14 16:39:30
    1.C语言中的字符数组初始化 在C语言中,字符串是当做字符数组来处理的;所以字符串有两种声明方式,一种是字符数组,一种是字符指针。 1.1 直接逐个初始化字符数组:字符数组的初始化,最容易理解的方式就是逐个...
  • C++数组初始化

    千次阅读 2018-12-28 11:19:39
    C++数组初始化 定义: int *pia = new int[10]; // array of 10 uninitialized ints 此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针 pia...
  • C++ 初始化列表给数组初始化

    千次阅读 2020-03-27 21:32:37
    一般的初始化是使用小括号()。 给数组初始化是使用大括号{}。 class base{ char a[10]; public: base():a{{}}{} } 上例的初始化就相当于:a[10] = {};。
  • C语言字符数组初始化

    2013-03-31 18:27:58
    C语言字符数组初始化
  • C/C++数组初始化的总结

    万次阅读 多人点赞 2018-12-11 16:19:15
    数组初始化的几种形式 数组初始化为某一固定值 memset(数组名,值,sizeof(数组名)) fill(begin(),end(),value) 以前刚开始学数组初始化,一直都没搞太清楚,包括参加PAT考试,直到看了胡凡的《算法笔记》,逐渐...
  • 一维数组初始化

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

    千次阅读 2019-04-13 07:59:35
    学堂在线 c++程序设计 郑莉 第六章数组 指针 ...对象数组初始化 数组中每一个元素对象被创建时,系统都会调用类构造函数初始化该对象。 通过初始化列表赋值。 例:Point a[2]={Point(1,2),Point(3,4)}; ...
  • js数组初始化及清空

    2019-10-16 16:57:47
    数组初始化 创建长度为5、初始值为false的数组,代码如下 var arr = new Array(5).fill(false) console.log(arr); 数组清空 arr = [] 数组长度变为0
  • 二维数组初始化

    千次阅读 2019-03-01 11:03:54
    @TOC二维数组初始化及输出 //二维数组动态初始化及输出 int[][] at=new int[2][]; at[0]=new int[2]; at[1]=new int[3]; at[0][0]=10; at[0][1]=11; at[1][0]=20; at[1][1]=21; at[1][2]=22; int num=0; while(num...
  • 二维数组初始化规则

    万次阅读 多人点赞 2018-03-27 14:24:16
    二维数组初始化的形式为: 数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 }; 在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。 有如下几种初始化方式: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,130,035
精华内容 452,014
关键字:

数组初始化