public class test
{
int a ;
int b ;
b = 5 ;
a = b + 1 ;
{
System.out.println(a) ;
}
}
编译出现错误;说b=5; a=b+1;需要标识符;是怎么回事?
{
int a ;
int b ;
b = 5 ;
a = b + 1 ;
{
System.out.println(a) ;
}
}
编译出现错误;说b=5; a=b+1;需要标识符;是怎么回事?
public void init
{
b = 5 ;
a = b + 1 ;
System.out.println(a);
}
你写在一个方法里面.
{
int b ;
//b = 5 ;
int a = b + 1 ;
{
System.out.println(1) ;
}
}b = 5 ;
a = b + 1 ;
基本类型的值在编译器要确定的,你写得要到运行期
改成这样子 应该可以 ,相当把变量的初始化放到非静态初始化块中
public class test
{
int a ;
int b ;
{
b = 5 ;
a = b + 1 ;
}
{
System.out.println(a) ;
}
}或者 放到方法体中初始化 public class test
{
int a ;
int b ;
public void init(){
b = 5 ;
a = b + 1 ;
System.out.println(a) ;}//以下输出应该是0 ;因为还没有调用进入Test()前调用了此非静态初始化块
{
System.out.println(a) ;
}public Test(){
init() ;
}
}
public class test
{
static int b =5;
static int a = b + 1 ;;
public static void main(String args[])
{
System.out.println(a) ;
}
}
6
好的编程习惯怎么能不给变量赋初始值:
int a = 0 ;
int b = 0;