java if(true)_使用 if(true) 和 if(false)

使用 if(true) 和 if(false)

作者:未知    文章来源:www.jspcn.net

发布日期:2005年01月19日

使用 if(true) 和 if(false)

作者: BUILDER.COM 翻译:Java研究组织

Friday, January 10 2003 10:12 AM

开发人员调试代码期间,有时希望能够提前中断或者注释掉大块代码。这时,可以使用if(true)和if(false)语句。

通常,开发人员使用/**/来注释大块的代码。然而,在有些情况下,使用if(false)是一个更简便的方法。例如:

Iteratoritr = something.callMethod();

while(itr.hasNext()) {

doThings(itr);

}

something.close();

在这个代码片断中,while循环可以通过添加一行if(false) 很容易地注释掉。完全不用担心在while循环或者循环结尾是否有/**/注释语句。仅仅添加上if(false),例如:

Iteratoritr = something.callMethod();

if(false)

while(itr.hasNext()) {

doThings(itr);

}

something.close();

if(false)、if(true)组合也很有用。在下面的代码中,调用了所有的方法:

publicvoid someMethod(Object obj) {

doFirst(obj);

doSecond(obj);

doThird(obj);

doFourth(obj);

doFifth(obj);

....

}

在第二个方法调用后,注释掉剩余部分,开发人员可以使用/**/注释语句,或者蹩脚地放置一个if(false) {....}。但是如果开发人员希望放置一个return情况会怎样?例如:

publicvoid someMethod(Object obj) {

doFirst(obj);

doSecond(obj);

return;

doThird(obj);

doFourth(obj);

doFifth(obj);

;....

;}

不幸的是,这样不能通过编译:

/ javac:

code/ComplexTest.java:15: unreachable statement

Complex c = new Complex(3,4);

^

1 error

/ jikes:

Found 1 semantic error compiling "code/ComplexTest.java":

Complexc = new Complex(3,4);

.. .

System.out.println(Complex.conjugate(c));

------------------------------------------------>

*** Error: These statements are unreachable.

然而,可以使用if(true)使编译器认为这是合法的:

publicvoid someMethod(Object obj) {

doFirst(obj);

doSecond(obj);

if(true) return;

doThird(obj);

doFourth(obj);

doFifth(obj);

....

;}

if(true)语句也可以用于带有break语句的for循环或者while循环中。

总之,if(true)和if(false)语句在逻辑上是多余的,但是Java编译器并不分辨这些,所以它们可以用来帮助调整程序的行为。了解这些,对于调试期间调整代码的行为给开发人员更多的选择。

原作者: BUILDER

原出处: Java研究组织

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值