|和||,&和&&的区别

1.|和||

此处只讨论都作为命令连接的用途,“|” 还可用于按位或,两者还可以作为逻辑或使用

true | true

true | false

false | true

false | false

“|”前的命令执行成功后才执行“|”后的命令
true || true

true || false

false || true

flase || false

“||”有短路功能,即前面的命令成功执行后不执行后面的命令,只有前面命令出错才有机会执行后面的命令

2.&和&&

此处只讨论都作为命令连接的用途,“&” 还可用于按位或,两者还可以作为逻辑或使用

true & true

true & false

false & true

false & false

“&”不影响前后命令执行

true && true

true && false

false && true

false && false

“&&”有短路功能,前面的命令执行失败后无法执行后面的命令

你可能感兴趣的:(|和||,&和&&的区别)