java小问题:int型的默认值是?

下面是一个小程序,但有问题,提示“未初始化变量i",但在书中不是说过如果没对int型赋初值,默认不是0吗?publicclasstest{publicstaticvoid... 下面是一个小程序,但有问题,提示“未初始化变量i ",但在书中不是说过如果没对int型赋初值,默认不是0吗?
public class test{
public static void main(String args[])
{ int i;
System.out.println(i);
}
}
展开
 我来答
tingdedongni
推荐于2018-03-30 · TA获得超过982个赞
知道答主
回答量:35
采纳率:0%
帮助的人:49.1万
展开全部
你定义的i是临时变量,这种临时变量是不会初始化的,只有类的成员变量才会被初始化。比如
class test {
private int i;
}
然后你创建一个test对象,new test(),那么这个对象的属性i就会被默认初始化为0。
况杨古雅懿
2020-07-04 · TA获得超过1195个赞
知道小有建树答主
回答量:1555
采纳率:94%
帮助的人:7.2万
展开全部
int[]数组不是基本类型,是对象,所以默认为null
java里面所有对象没有new得时候,都为null,基本类型int才是默认为0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘸限畅赽
2011-10-14 · TA获得超过357个赞
知道小有建树答主
回答量:413
采纳率:50%
帮助的人:109万
展开全部
你这么打会报错..
除非.你把I定义成TEST类的属性..才可以.....
定义成属性时.INT形的默认值 是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ward502
2011-10-14 · TA获得超过1185个赞
知道大有可为答主
回答量:794
采纳率:0%
帮助的人:1358万
展开全部
public class test{
int i;
public static void main(String args[])
{ System.out.println(i);
}
}

定义为 类的属性自然赋值 0 但是
定义为方法的局部变量一定要初始化 这是规定
追问
应该是静态的i才可以吧,你的程序有错,第二行改成
static int i;才行
追答
嗯的确 静态方法 只可以调用静态的属性或方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千年李0R
2011-10-14 · TA获得超过5612个赞
知道大有可为答主
回答量:1786
采纳率:40%
帮助的人:685万
展开全部
int 全局变量会初始化为0,局部变量未定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式