首页 > 试题广场 >

程序Demo.java编译运行后输出的结果是:( )

[单选题]
程序Demo.java编译运行后输出的结果是:( )
public class Demo{
    int x=1;

    int y;
    public static void main(String [] args){

        int z=2;

        Demo t=new Demo();
        System.out.println(t.x+t.y+z);
    }
}


  • 3
  • 12
  • 1
  • 5

这题考的是默认初始化问题,但是可以引出另外一个问题:局部变量参与运算前是必须要初始化的,比如下面的代码就会编译出错,提示y必须要初始化

public static void main(String[] args) {
    int x = 1;
    int y;
    int z = x + y;
}
编辑于 2017-11-10 08:58:31 回复(9)
成员变量为int类型可以不初始化,默认值为0
局部变量为int类型必须初始化,没有默认值
发表于 2019-03-02 23:50:27 回复(0)
全局变量未初始化默认为0。
发表于 2017-05-20 23:32:46 回复(9)
选 A
成员变量和静态变量是有默认值的。
发表于 2018-06-29 12:06:35 回复(0)
int 类变量初始值0
boolean 类变量初始值false
char 类变量初始值'\u0000'
double 类变量初始值0.0
float 类变量初始值0.0f
long 类变量初始值0L
发表于 2017-10-10 11:45:44 回复(0)
System.out.println(t.x+t.y+z); t.x代表的是x,t.y代表的是y。也就是x+y+z x,y是全局变量,有默认值为0,xy分别为1,0,z是局部变量,默认值2,不能不初始化,加一块就是3啦
发表于 2023-06-24 12:32:42 回复(0)

吓得老子分析了半天,以为有什么特殊点没想到呢!

发表于 2018-08-08 16:40:09 回复(2)
/*此题的特殊点在于t.x代表的是Xt.y代表的是y
public class CsdnTestOne {
        int x=1;
        int y;
        public static void main(String [] args){
            int z=2;
            CsdnTestOne t = new CsdnTestOne();
            System.out.println(t.x+t.y+z);
            /*此题的特殊点在于t.x代表的是X,t.y代表的是y。也就是x+y+z
            * 其中,x,y是全局变量,默认值为1,0,z是局部变量,默认值为2,*/
        }
    }

也就是
x+y+z
其中,x,y是全局变量,默认值为1,0z是局部变量,默认值为2*/

发表于 2021-08-04 11:12:35 回复(1)
这题没意义,小学生都会
发表于 2018-04-14 13:53:51 回复(2)
Demo?demo?
发表于 2017-07-11 11:48:50 回复(0)
成员变量和静态变量声明后默认有值
局部变量使用前一定要初始化,否则编译错误
发表于 2022-03-15 13:25:35 回复(0)
全局变量y的默认初始值为0.
发表于 2018-05-21 09:28:45 回复(0)
3,初始化问题
发表于 2017-05-24 10:40:01 回复(0)
成员变量会默认初始化,基本类型int会初始化为0,引用类型初始化为null。局部变量运算时需要先初始化。
发表于 2018-03-26 22:59:34 回复(0)
hkcl
发表于 2024-06-02 08:20:37 回复(0)
成员变量有默认值,局部变量没有默认值,需要进行初始化
发表于 2022-11-17 13:38:25 回复(0)
不小心点成b
发表于 2022-10-31 15:26:31 回复(0)
成员变量和静态变量默认值为0.
局部变量没有默认值,必须初始化。
发表于 2022-06-14 09:27:22 回复(0)
这道题秀了我一脸,连题都没读懂。
发表于 2022-01-03 20:45:39 回复(0)
两个要点
1.成员变量可以不初始化,int类型默认为0
2.成员变量在进行运算前,必须要初始化
发表于 2021-12-08 08:54:06 回复(0)