assert用法和NaN

class AssertTest{

public static void main(String arg[]){

float f1=Float.NaN;

float f2=f1;

float f3=1.2f;

try{

assert(f2==f1):f2=2; f3=1.5f;

}catch(AssertionError e){

f3++;

}

f3+=f2;

System.out.println("f3="+f3);

}

}

answer:f3=4.2

需要注意的问题:

1. assert exp1:exp2这样的形式,当exp1为true的时候后面exp2被或略,如果false的话,后面的表达式的结果会被计算出来并作为AssertionError得构造器参数。(assert在编译的时候要用 javac -source 1.4 xxx.java,不然编译会出错~~~~ ) try{ assert(f2==f1):f2=2; f3=1.5f; }catch(AssertionError e){ f3++; }

2. Float.NaN,Double.NaN NaN(Not a Number)。没有这样的值,只是一种表示。 Float.NaN == Float.NaN 的返回值是false!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值