关于JAVA基础知识

[复制链接]
查看11 | 回复2 | 2008-12-8 12:29:20 | 显示全部楼层 |阅读模式
public class tan{
public static void main(String arg[]){
int a=25,b=3;
boolean d=a5)
System.out.println("a/e="+a/e);
int f=0;
if(f!=0 && a/f>5)
System.out.println("a/f="+a/f);
else
System.out.println("f="+f);
}
}
书本里写着:第二个if语句在运行时不会发生除0溢出的错误,因为e!=0为false,所以不需要对a/e进行运算...........就是对e!=0为false不明白....e!=0为ture吗???........请大家讲解下..谢谢

回复

使用道具 举报

千问 | 2008-12-8 12:29:20 | 显示全部楼层
首先你写错了应该是“因为f!=0为false,所以不需要对a/f进行运算....”因为&&是并且逻辑运算符,表示只有当两个条件都满足时整个if条件判断才为true 其里面的代码才会被执行的,所以你上面已经int f=0;了所以f!=0这里已经为false了当然就不会继续去判断a/f>5了。程序会跳过这个if(){}而执行下面的代码。才子_辉祝您愉快!...
回复

使用道具 举报

千问 | 2008-12-8 12:29:20 | 显示全部楼层
因为你上面已经定义了f=0了,所以 f!=0 就为false。而你的条件里面是&&运算,所以当前面的条件不满足时,后面的表达试就不运算了,只有当f!=0为true时,才会运算a/f>5。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行