java &與&&的區(qū)別及實(shí)例
java &與&&的區(qū)別: & 既是位運(yùn)算符又是邏輯運(yùn)算符,&的兩側(cè)可以是int,也可以是boolean表達(dá)式,當(dāng)&兩側(cè)是int時(shí),要先把運(yùn)算符兩側(cè)的數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)再進(jìn)行運(yùn)算,而短路與(&&)的兩側(cè)要求必須是布爾表達(dá)式。
我想很多人在學(xué)習(xí)java的時(shí)候,或者面試時(shí)都會(huì)遇到
&和&&
然而,如果你沒(méi)有真正的理解他們的意思,這會(huì)給你思路上面帶來(lái)很大的麻煩
在這篇blog中,當(dāng)你看完了以后,你會(huì)發(fā)現(xiàn),很容易就把他們給區(qū)分開(kāi)了
下面是我的demo
/**
*
*/
package com.b510.test;
/**
* @author Jone Hongten
* @create date:2013-11-2
* @version 1.0
*/
public class Test {
public static void main(String[] args) {
String str = null;
if(str != null && !"".equals(str)){
//do something
}
if(str != null & !"".equals(str)){
//do something
}
}
}
我們現(xiàn)在可能有一些模糊不清,現(xiàn)在我們先看看&和&&的電路問(wèn)題:
對(duì)于:&&
if(str != null && !"".equals(str))
當(dāng): str != null 的時(shí)候,接下來(lái)才會(huì)去執(zhí)行: !"".equals(str)
如果: str != null為false,那么這個(gè)時(shí)候,程序是處于短路的情況,則,!"".equals(str) 是不會(huì)執(zhí)行的。
但是對(duì)于:&
if(str != null & !"".equals(str))
不管: str != null 的結(jié)果如何(即true,false),程序都會(huì)執(zhí)行: !"".equal(str)
電路問(wèn)題總結(jié):
對(duì)于:& -- > 不管怎樣,都會(huì)執(zhí)行"&"符號(hào)左右兩邊的程序
對(duì)于:&& -- > 只有當(dāng)符號(hào)"&&"左邊程序?yàn)檎?true)后,才會(huì)執(zhí)行符號(hào)"&&"右邊的程序。
下面來(lái)說(shuō)說(shuō)運(yùn)算規(guī)則:
對(duì)于:& -- > 只要左右兩邊有一個(gè)為false,則為false;只有全部都為true的時(shí)候,結(jié)果為true
對(duì)于:&& -- > 只要符號(hào)左邊為false,則結(jié)果為false;當(dāng)左邊為true,同時(shí)右邊也為true,則結(jié)果為true
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
詳解IDEA中MAVEN項(xiàng)目打JAR包的簡(jiǎn)單方法
本篇文章主要介紹了詳解IDEA中MAVEN項(xiàng)目打JAR包的簡(jiǎn)單方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
Springcloud Config配置中心使用與相關(guān)介紹
springcloud config是一個(gè)解決分布式系統(tǒng)的配置管理方案。它包含了 client和server兩個(gè)部分,server端提供配置文件的存儲(chǔ)、以接口的形式將配置文件的內(nèi)容提供出去,client端通過(guò)接口獲取數(shù)據(jù)、并依據(jù)此數(shù)據(jù)初始化自己的應(yīng)用2022-09-09
SpringCloud-Alibaba-Nacos啟動(dòng)失敗解決方案
這篇文章主要介紹了SpringCloud-Alibaba-Nacos啟動(dòng)失敗解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
java多線程批量處理百萬(wàn)級(jí)的數(shù)據(jù)方法示例
這篇文章主要介紹了java多線程批量處理百萬(wàn)級(jí)的數(shù)據(jù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java多線程具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2025-02-02

