&&首先计算其左边的表达式,如果它的值为false或可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为 &&运算的结果。
||首先计算其左边的表达式,如果它的值不为false或不可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为 || 运算的结果。?
||首先计算其左边的表达式,如果它的值不为false或不可被转换为false(null、NaN、0或undefined),那么将返回左边表达式的值,否则,它将计算右边的表达式, 并返回这个表达式结果作为 || 运算的结果。?
- <HTML>??
- ?<HEAD>??
- ??<TITLE>?运算符&&和||的返回值?</TITLE>??
- ?</HEAD>??
- ?<BODY>??
- ?&&首先计算其左边的表达式,如果它的值<font?color=blue>为false</font>或<font?color=blue>可被转换为false</font><font?color=red>(null、NaN、0或undefined)</font>,那么将返回左边表达式的值,否则,它将计算右边的表达式, ??
- ?并返回这个表达式结果作为?&&运算的结果。<br>??
- ||首先计算其左边的表达式,如果它的值<font?color=blue>不为false</font>或<font?color=blue>不可被转换为false</font><font?color=red>(null、NaN、0或undefined)</font>,那么将返回左边表达式的值,否则,它将计算右边的表达式, ??
- ?并返回这个表达式结果作为?&&运算的结果。 ??
- ?<hr>??
- ??<SCRIPT?LANGUAGE="JavaScript">??
- ????function?dwn(s) ??
- ????{ ??
- ????????document.write(s?+?"<br/>"); ??
- ????} ??
- ??
- ????dwn("null?&&?33?=?"?+?(null?&&?33));//null ??
- ????dwn("NaN?&&?33?=?"?+?(NaN?&&?33));//NaN ??
- ????dwn("0?&&?33?=?"?+?(0?&&?33));//0 ??
- ????dwn("undefined?&&?33?=?"?+?(undefined?&&?33));//undefined ??
- ????dwn("true?&&?33?=?"?+?(true?&&?33));//33 ??
- ????dwn("false?&&?33?=?"?+?(false?&&?33));//false ??
- ????dwn("33?&&?44?=?"?+?(33?&&?44));//44 ??
- ????dwn("---------"); ??
- ??
- ????dwn("null?||?33?=?"?+?(null?||?33));//33 ??
- ????dwn("NaN?||?33?=?"?+?(NaN?||?33));//33 ??
- ????dwn("0?||?33?=?"?+?(0?||?33));//33 ??
- ????dwn("undefined?||?33?=?"?+?(undefined?||?33));//33 ??
- ????dwn("true?||?33?=?"?+?(true?||?33));//true ??
- ????dwn("false?||?33?=?"?+?(false?||?33));//33 ??
- ????dwn("33?||?44?=?"?+?(33?||?44));//33 ??
- ???? ??
- </SCRIPT>??
- <hr>??
- 同时javascript中?if?(expression)?statement;?语句的判断也是<br>??
- 看?expression?是否是不是?false?或?能不能转换成false(null、NaN、0或undefined)<br>??
- 如果能?则不执行?statement;?否则就执行?statement; ??
- <hr/>??
- <SCRIPT?LANGUAGE="JavaScript">??
- <!-- ??
- ????if?(null) ??
- ????????dwn("null?test"); ??
- ????if?(0) ??
- ????????dwn("0?test"); ??
- ????if?(undefined) ??
- ????????dwn("undefined?test"); ??
- ????if?(NaN) ??
- ????????dwn("NaN?test"); ??
- ????if?(444) ??
- ????????dwn("444?test"); ??
- //-->??
- </SCRIPT>??
- <hr>??
- 由此可见,if?(a==b)dosth();和a==b&&dosth();或a!=b||dosth()等价 ??
- ??
- ?</BODY>??
- </HTML>??
true && false || true 是 true 还是 false
答案:true
int i = 1 / 0;
int j = 1 % 0;
double k = 1.0 / 0;
i,j,k三条语句执行后分别显示什么
答案:
语句一?
Exception in thread "main" java.lang.ArithmeticException: / by zero?
语句二?
Exception in thread "main" java.lang.ArithmeticException: / by zero?
语句三?
k is Infinity?
当查看JDK的文档的时候,我们可以清楚的看到,double和float是允许除以0的,而int是不允许除以0的。?
double l = 1.0 % 0;?
输出:l is NaN