int x;
System.out.print(x);
编译不过去, 如何在程序里体现出基本数据类型的默认值呢?
很火星的问题,但真郁闷一时想不起来了 :D
我的JDK版本1.6
[b]问题补充:[/b]
public class Test{
private int i;
public int getI(){
int j;
return j;
}
public static void main(String args[]){
Test test=new Test();
System.out.println(test.getI());
}
}
上面那段代码,getI()方法是编译不过去的,但是改成
public int getI(){
return i;
}
就可以
实践了一下,发现声明的静态变量和,实例化后类的变量都能以默认值形式打印出来,但是方法里声明的变量就不行。
是不是类在实例化的时候给了声明变量一个默认值? 希望朋友们能解答一下这个过程,谢谢因为要考SCJP,现在在扣细节,不想一知半解。
[size=small]是不是类在实例化的时候给了声明变量一个默认值?
这个你就得去看jvm啦,哈哈
确实是在编译的时候赋值的
SCJP?
考它作什么啊?
我还是scjd呢,没什么用呀。。。 [/size]:oops:
[size=medium][code="java"]public class Test {
static int i ;
public static void main(String args[]){
System.out.println(i);
}
}[/code]
这不就行了?[/size]
[size=medium]要是问什么错,把代码贴出来啊
ps:可能的问题
1.方法里是不可以int i的,必须赋初值
2.如果要在main里用,必须是static的变量[/size]
你的j没有初始化, 当然会编译不过.
在方法里的局部变量必须要进行赋值, 不管是基本数据类型还是对象。
类变量会自己默认初始化的。
方法里面的变量是需要自己初始化的。