最近发现问||和&&什么时候用短位规则什么时候用逻辑规则,个人觉得都应该算是短位规则!
简单的总结一句话就是:运算到哪,返回哪个值.
0与false我觉得只能说近似,而不能说完全相等,比如:在控制台输入0,它不会回复false的只会回复0;但在计算机中我们把它当作false来处理.
提示: ""当作空,相当于false; " ","a"都会当作字符串,相当于true.
|| 或运算 一个true就可为true
当前面为true,则不管后面的是true还是false,都返回前面的那个值;
当前面的为false,则不管后面的是true还是false,都返回后面的那个值;
还是那句话就是:运算到哪,返回哪个值.
比如:
1||2 前面为true,后面的不在判断true还是false,直接返回前面的. ===>1
1||0 前面为true,不在判断后面的, ====>1
0||1 前面为false,还要判断后面的那个, ===>1
0||0 前面为false,判断后面的那个, ====>0
&& 与运算 同为true才为true
当前面为true,则不管后面的是true还是false,都返回后面的那个值;
当前面的为false,则不管后面的是true还是false,都返回前面的那个值;
还是那句话就是:运算到哪,返回哪个值.
比如:
1&&2 前面为true,判断后面的true还是false都返回后面的. ===>2
1&&0 前面为true,判断后面的true还是false都返回后面的, ====>0
0&&1 前面为false,不再判断后面的那个, ===>0
0&&0 前面为false,不再判断后面的那个, ====>0
实际运用中可以替换单个if语句:
if(true){表达式}
可以用: true&&表达式
灵活运用哦
小白一个,若有不同见解,请在下方评论,大家一起讨论!!