Created
April 11, 2019 04:24
-
-
Save Warm-rain/eb4740bd4452c6399cb371cee30cedc9 to your computer and use it in GitHub Desktop.
&,&&, |,||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
命令很简单,新建个bat文件,将之前三条命令copy过来就完事,关键是怎么保证每条命令都执行,在网上查了下,说可以用&&连接,试了下,还是只执行了第一条命令,后来组长调了下,将bat文件改为 start 命令1 start 命令2......的格式 就成功了。 | |
据了解,是因为我此次执行的命令是三个没有关联的命令,直接start就行了,网上查的用&,&&,||连接的情况适用于多条有关联的命令一起执行的情况,如下: | |
命令1 & 命令2 & 命令3 ... (无论前面命令是否故障,照样执行后面) | |
命令1 && 命令2 && 命令3....(仅当前面命令成功时,才执行后面) | |
命令1 || 命令2 || 命令3.... (仅当前面命令失败时.才执行后面) | |
&& 和 || 属于逻辑运算符号 | |
& 和 | 属于位操作符 | |
一、&&和&的区别 | |
1.1 相同点: | |
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。 | |
1.2不同点: | |
1.2.1. &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。 | |
例如,对于if(str != null && !str.equals(“”))表达式。 | |
当str为null时,后面的表达式不会执行,所以不会出现NullPointerException | |
如果将&&改为&,则会抛出NullPointerException异常。 | |
再比如,If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长 | |
1.2.2.&作为为运算时,&是按位与操作,参加运算的两个数据按照二进制位进行“与”运算。 | |
如果两个相应的二进制位都为1,那该位的结果值就是1,否则为0,即0&0=0,0&1=0,1&1=1,1&0=0。 | |
比如:3&5并不等于8,应该按位与,00000011&00000001=00000001。 | |
备注:这道题先说两者的共同点,再说出&&和&的特殊之处,并列举一些经典的例子来表明自己理解透彻深入、实际经验丰富。 | |
-------------------------------------------------------------------------------------------------------------------- | |
二、|| 和 | 的区别 | |
2.1 相同点 :当二者表示或的时候,二者都true则true,否则为false。 | |
2.2 不同点: | |
2.2.1 || 也存在短路的问题,当前者为true时,则不会判断后面的表达(与上面的&&类似) | |
2.2.2 |是按位或操作,参加运算的两个数据按照二进制位进行“或”运算,如果两个相应的二进制位中只要有一个为1,则该位结果就是1,即为0|1=1、1|1=1、1|0=1、0|0=0。 | |
||是逻辑或运算符,直接看意思,a||b,若a、b中有一个为真,则a||b结果为真。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment