java中方法里变量赋初值的使用方法

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:52:28
我在方法里定义一个变量未赋初值,在随后的语句块里为其赋值,语句块里可用,但出语句块后用此变量便提示没赋初值,怎么回事
class popo
{
public static void main(String aa[])
{
int b;
int ac=5;
if(ac==5)
{
b=4;
System.out.println(b);
}
}
}
以上如此可用但如下
class popo
{
public static void main(String aa[])
{
int b;
int ac=5;
if(ac==5)
{
b=4;
System.out.println(b);
}
System.out.println(b);
}
}
便提示未赋初值,怎么回事
对2楼的关键现在ac=5了,已经执行if了为什么出了if还要提示要为b赋值

你这样想。当你的if语句没有通过,程序是什么样子的,是这样的:
int b;
System.out.println(b);
必然会报那个错误

class popo
{
public static void main(String aa[])
{
int b=0;
int ac=5;
if(ac==5)
{
b=4;
System.out.println(b);
}
System.out.println(b);
}
}
这样就行了,出现你那个问题,主要是因为java编译问题。

只有当ac=5时,b才被赋值为4,当条件不满足时,b不被赋值,
当ac=5时,执行语句b=4;
当ac!=5时,就跳过if条件语句,没有执行b=4,所以就提示未
赋初值,应该是 int b=0;

2楼正确