&和&&的区别?
&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与
跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是
true 整个表达式的值才是 true。&&之所以称为短路运算是因为,如果&&左边的
表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。很多时候我
们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是 null 而且不
是空字符串,应当写为:username != null &&!username.equals(“”),二者
的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行
字符串的 equals 比较,否则会产生 NullPointerException 异常。注意:逻辑或
运算符(|)和短路或运算符(||)的差别也是如此。
补充:如果你熟悉 JavaScript,那你可能更能感受到短路运算的强大,想成为
JavaScript 的高手就先从玩转短路运算开始吧。
Java Program!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步