在Java语言中,变量未被赋值时,全局变量(字段)有一个默认的初化值,而局部变量则没有初始值。
因此,在输出一个未显式赋值的全局变量(字段)时,打印出其默认的初化值,而局部变量则会出现编译期错误。
测试1 打印未赋值的局部变量的情况
/**
* Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC)
* All rights reserved.
* Author: Jarg Yee <yeshaoting@gmail.com>
* http://jarg.iteye.com/
*/
/*
* 测试未赋值的局部变量
*/
public class Test
{
public static void main(String[] args)
{
int value;
System.out.println(value);
}
}
---------- 编译Java ----------
C:\Documents and Settings\Administrator\桌面\Test.java:16: 可能尚未初始化变量 value
System.out.println(value);
^
1 错误
输出完成 (耗时 0 秒) - 正常终止
测试2 打印未赋值的全部变量(字段)的情况
/**
* Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC)
* All rights reserved.
* Author: Jarg Yee <yeshaoting@gmail.com>
* http://jarg.iteye.com/
*/
/*
* 测试未赋值的全部变量(字段)
*/
public class Test
{
int value;
public static void main(String[] args)
{
Test test = new Test();
System.out.println(test.value);
}
}
---------- 运行Java ----------
0
输出完成 (耗时 0 秒) - 正常终止