首页 > 试题广场 >

关于如下程序的描述哪个是正确的?( ) public cla

[单选题]

关于如下程序的描述哪个是正确的?( )

public class Person{
    static int arr[] = new int[5];
    public static void main(String a[]){
        System.out.println(arr[0]);
    }

}

  • 编译将产生错误
  • 编译时正确,但运行时将产生错误
  • 正确,输出0
  • 正确,输出 null

char[] ch = new char[3];//默认空字符
int [] Int = new int[2];//默认0
String[] strings = new String[2];//默认null

编辑于 2019-08-14 21:17:07 回复(10)
发表于 2018-07-13 10:53:51 回复(7)
类的成员变量会被默认初始化
发表于 2017-05-15 14:59:52 回复(6)
数组无论是在定义为实例变量还是局部变量,若没有初始化,都会被自动初始化
public static void main(String[] args) {
       
        boolean data1[]=new boolean[5];
        System.out.println(data1[0]);
        int data2[]=new int[5];
        System.out.println(data2[0]);
        double data3[]=new double[5];
        System.out.println(data3[0]);
        char data4[]=new char[5];
        System.out.println(data4[0]);

    }
输出
false
0
0.0
其他对象只有为实例变量时会被自动初始化,局部变量必须初始化
发表于 2017-09-04 17:21:38 回复(5)
类的成员变量若未赋值,则进行系统默认初始化。
整型->0
引用类型->null
布尔类型->false
方法内的局部变量则一定要赋值,不然会报错。

发表于 2018-06-12 18:59:15 回复(0)
某头像
被static修饰的会默认初始化,int就是0咯
发表于 2017-05-16 23:25:25 回复(1)

不多说了,大家直接看代码运行结果吧!!!

package com.niuke.Test;

public class IfTest{
    static int arr[] = new int[5];
    static String arry[] =new String[10];
    static char [] array =new char[8];

    public static void main(String a[]){

        System.out.println(arr[0]);
        System.out.println(arry[0]);
        System.out.println(array[0]);

    }
}

运行结果:
0
null
空格

发表于 2019-04-20 16:08:26 回复(0)
我觉得这道题应该改一下main方法,main方法的规范写法只有两种。
public static void main(String[] args) OR public static void main(String args[])。
这是java 规范, 由jvm决定的
虽然此题是选C,但是我希望更严谨写,避免违背了考点的初衷。
发表于 2019-08-02 19:18:53 回复(0)
这题出的太不严谨,main方法都有问题
发表于 2018-04-15 23:43:29 回复(2)

被 static迷惑

发表于 2018-11-20 23:11:19 回复(0)
Java 就会把所有元素初始化为其相应类型的默认值。
int型的默认值为0
发表于 2022-03-09 15:18:54 回复(0)
成员变量默认都是有初始值的,布尔类型的默认为false,整型默认0,字符型默认空字符,String类型默认是null,对于局部变量没有初始值,需要赋初始值
发表于 2021-12-27 15:34:35 回复(0)
char型数组默认空格
String型数组默认null
int型数组默认0
发表于 2018-08-24 13:53:36 回复(0)
类成员产量默认初始化
发表于 2022-03-14 16:05:36 回复(0)
<p>int型默认值0</p>
发表于 2021-12-11 11:22:49 回复(0)
类的成员变量会被默认初始化
发表于 2021-08-19 19:23:48 回复(0)
类加载的<准备> 阶段,会为类变量分配内存空间,并赋数据类型所对应的零值。如:static int a = 1,这时会赋值a=0.a=1是在<初始化>阶段完成的。因为这里并没有再赋值,所以会默认赋零值。
局部变量不会被初始化默认赋值,所以需要我们程序员自己来初始化赋值,否则会报错。
发表于 2021-07-28 10:40:43 回复(0)
实例化了数组,没有进行赋值,所以值为0
发表于 2021-04-14 23:17:45 回复(0)
程序里的 arr[ ] 是静态变量,在使用前没有赋值的话,有默认值
而 int 类型的默认值是0
所以输出0
发表于 2020-12-14 11:43:40 回复(0)
<p>类的成员变量如果没有赋值会被系统默认初始化,整型0 引用类型null 布尔类型false</p><p>方法内的局部变量必须初始化,不然会报错</p><p><br></p>
发表于 2020-09-27 08:43:42 回复(0)