public class AsssertTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=0;i<10;i++){
try{
assert i%2==0:i--;
System.out.println("Even number:"+i);
}catch(AssertionError ae){
System.out.println("Odd number:"+ ++i);
}
}
}}
Even number:0
Odd number:1
Even number:2
Odd number:3
Even number:4
Odd number:5
Even number:6
Odd number:7
Even number:8
Odd number:9C:\>
assert i%2==0:i--;
System.out.println("Even number:"+i);
}catch(AssertionError ae){
System.out.println("Odd number:"+ ++i);
}
如果i%2==0 is true,不执行i--,直接打印是Even number
否则,i--,然后catch中打印Odd number,并恢复i值.
public static void main(String[] args) {
for(int i=0;i<10;i++){
try{
assert i%2==0;
System.out.println("Even number:"+i);
}
catch(AssertionError ae){
System.out.println("Odd number:"+i);
}
}
}
同样结果