一个&和两个&&的区别详解:逻辑与按位运算用法差异对比
2026-10-17 10:26:35 小编:麦德手游站
很多写代码或者做逻辑规则设计的朋友,都经常被单个&和两个&&搞混,这俩符号看起来只差一个&,实际的作用逻辑、适用场景差距特别大,单&既能用来做按位运算,也能当不短路的逻辑与运算符,双&&是专门用的逻辑短路与,搞清楚一个&和两个&&的区别能少写不少bug,下面就把它们的用法和具体差异讲清楚。
单&的常规用法
单个&最常用的场景是做按位与运算,就是把两个数字转成二进制之后,每一位对应相乘,同为1的时候结果位才是1,否则就是0,比如数字5的二进制是101,数字3的二进制是011,5&3算出来的结果就是001,转成十进制就是1。另外在很多编程语言里,单&也能用来做逻辑与的判断,但它和双&&最大的不同就是不会短路,也就是说不管左边的表达式是真是假,右边的表达式都会正常执行一遍。
双&&的核心逻辑
两个&&叫做逻辑短路与运算符,专门用在逻辑判断的场景里,它的执行规则是先看左边的表达式结果,如果左边是假,那右边的表达式根本不会执行,直接返回左边的结果,只有左边是真的时候,才会去跑右边的表达式。比如你写一个判断用户是否登录的逻辑,user.isLogin&&getUserInfo(),要是用户没登录,isLogin是假,那获取用户信息的函数根本不会被调用,既省了性能,又避免了没登录的时候调用接口报错。
两者的核心差异点
聊完各自的用法,一个&和两个&&的区别就非常明显了,主要体现在三个方面:第一是执行逻辑不一样,单&不会短路,左右两边的表达式都会执行,双&&会短路,左边为假就直接结束,不会跑右边。第二是适用场景不一样,单&大多用在按位运算、必须两边都执行的逻辑场景,双&&全用在逻辑判断里。第三是返回结果不一样,按位与运算返回的是数值结果,逻辑与返回的是布尔值或者实际被执行的那个表达式的值,比如1&&2的结果是2,1&2的结果是0。
使用时的常见避坑点
很多人写逻辑判断的时候不小心把&&写成&,结果本来想短路的结果没短路,比如判断输入框内容的时候写了input&checkFormat(),要是输入框是空的,本来不用校验格式,结果还是执行了校验,还会触发空值的报错。另外在做按位运算的时候误用了双&&,根本得不到想要的二进制计算结果,了解了一个&和两个&&的区别之后,就能避开这些常见的错误,另外不同编程语言里这俩的规则可能有细微差别,但核心的短路逻辑和按位运算逻辑是不变的,用的时候注意区分场景就行。
- 猜你喜欢
-
omofun动漫app免费下载安卓正版9.9MB麦德下载 -
HEIBAI弹幕免费下载安装9.9MB麦德下载 -
⚠️羞羞漫画sss入口9.9MB麦德下载 -
weme2微密猫9.9MB麦德下载 -
漫蛙manwa2正版下载.apk9.9MB麦德下载 -
动漫共和国iOS9.9MB麦德下载 -
acfan黄化龙年限定版本9.9MB麦德下载 -
成版ONE一个致敬韩寒轻量版9.9MB麦德下载 -
漫蛙manwa2正版v1.1.8最新版9.9MB麦德下载
- 相关手机游戏
-
one一个手托奶图标安卓版9.9MB麦德下载 -
boylove官方版正版下载1.0.79.9MB麦德下载 -
hanime1.me动漫9.9MB麦德下载 -
acfan流鼻血污染版9.9MB麦德下载 -
香香腐竹1.0.7版本9.9MB麦德下载 -
凹次元app下载最新版9.9MB麦德下载 -
cilicili紫色版本9.9MB麦德下载 -
酷漫屋下拉式(免费漫画)最新版9.9MB麦德下载 -
漫蛙manwa官网版9.9MB麦德下载
- 推荐麦德资讯
- 最新手机精选
-
acfan流鼻血污染版2026-07-16麦德下载 | 9.9MB -
omofun动漫app免费下载安卓正版2026-07-16麦德下载 | 9.9MB -
⚠️羞羞漫画sss入口2026-07-16麦德下载 | 9.9MB -
one一个手托奶图标安卓版2026-07-16麦德下载 | 9.9MB -
AcFun流鼻血版无广告2025-01-19麦德下载 | 9.9MB -
e站(EhViewer)绿色版本免费版2026-07-16麦德下载 | 9.9MB




























