Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/java/base/Java基础入门80问.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@

# 3.说说&和&&的区别

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&是位运算符,表示按位与,两边比较的是数值类型(基本数值类型byte、short、int、long等等),返回结果是一个数值,例如1 & 0 = 0;&&是逻辑运算符,表示逻辑与,两边比较的是布尔类型的数值,返回结果是布尔数值,例如true && false = false。当&&运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x==33 & ++y>0) y会增长,If(x==33 && ++y>0)不会增长

Expand Down