本人初学JAVA,问一个很菜的Assertions问题,望各位前辈指教,谢谢~

CTAer 2003-10-20 05:44:22
/**
本程序对断定进行测试
*/
public class Test11
{
public static void main(String[] args)
{
System.out.println("Testing ...");
int a1;
a1=-10;
if (a1>0)
{
}
else
{
assert (a1==0);
System.out.println("Hello");
}
}
}
以上是SL-275教程中的一个例子,我将a1赋值为-10,在assert(a1==0)处是否就应该结束执行,为什么还是输出"Hello"呢?
谢谢~
...全文
38 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wilddonkey 2004-03-16
  • 打赏
  • 举报
回复
楼上的很对
如果是较底版本的jdk1.4,编译时加上 -source 1.4
javac -source 1.4 Test11
iuottp 2004-03-16
  • 打赏
  • 举报
回复
我认为你是没有开启java1.4的断言,我的运行结果如下:
如果加上开启断言的参数 -ea 那么就会跑出错误,否则解释器默认断言没打开,会将assert (a1==0);忽略的。
C:\j2sdk1.4.0_01\bin>java -ea Test11
Testing ...
Exception in thread "main" java.lang.AssertionError
at Test11.main(Test11.java:13)

C:\j2sdk1.4.0_01\bin>java Test11
Testing ...
Hello

不知道对不对,请各位高手指正。
CTAer 2003-10-20
  • 打赏
  • 举报
回复
自己UP一下

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧