1. 程式人生 > >短路與非短路運算子

短路與非短路運算子

根據下面的程式碼,
String s = null;

會丟擲NullPointerException異常的有()。

if( (s!=null) & (s.length()>0) )
if( (s!=null) && (s.length()>0) )
if( (s==null) | (s.length()==0) )
if( (s==null) || (s.length()==0) )
出現異常主要是因為執行了s.length()這句話,String s=null;沒有給s開闢任何空間,當執行length()方法時候,因為沒有具體指向的記憶體空間,所以報出NullPointerException沒有指向的錯誤。

&(非短路邏輯運算子): 兩個都得執行,執行到s.length()自然就報錯了。
&&(短路邏輯運算子): S!=null  結果為false 整體就為false ,&& 後面就不會執行;下面的同理。

相關推薦

短路短路運算子

根據下面的程式碼,String s = null;會丟擲NullPointerException異常的有()。 if( (s!=null) & (s.length()>0) )

短路k短路

次短路與第K短路 次短路是除了最短路之外第二短的路,這條路的長度有可能和最短路一樣長。 第K短路就是第K短的路,鑑於這兩個演算法都是特別模板的題,直接上例子 求次短路:Dijkstra的dist陣列和vis陣列再加一維,鬆弛的時候討論當前的路小於最短路,或者大於最短路

Sightseeing(最短路短路之和)

Sightseeing Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description Tour operator Your Persona

[原創]邏輯(&)和邏輯或(|) VS 短路(&&)和短路或(||)

這個曾經讓我分不清的兩個東東,今天專門拿出來做一小結,以備日後查閱。並附Java四大運算子和比較運算子簡介。 1. 邏輯與(&)和邏輯或(|): 標準的邏輯與(&)和邏輯或(|),不論第一個表示式為true or fa

短路&&(或 ||)和短路&(或 |)的區別

static ole pri args 驗證 java system string rgs 短路與是JAVA語言中的一個邏輯運算符,記作&& A&&B, 當A為false時,不去計算B的值而直接返回false;當A為true時,計算B的值。

JavaSE7基礎 邏輯運算 普通& 和 短路&&的區別

mage 黑馬程序員 ima style jdk版本 黑馬 深入 參考 amp jdk版本 :jdk-7u72-windows-i586系統 :Windows7編輯器 :Notepad++ v7.4.2註意事項 :博文內容僅供參考,不可用於其他用途。

wenbaoK短路

front str sca top truct isp tdi audio ont http://poj.org/problem?id=2449 1 #include <iostream> 2 #include <qu

wenbao短路(spfa)

不斷學習 pop 判斷 利用 ont iostream main pri max spfa就是利用鄰接表和隊列進行優化的最短路!!! 牛!!! 利用spfa判斷圖中的負環:如果一個點入隊次數超過n則存在負環 1 #include <ios

wenbao短路(dfs)

pro pre sin spa ron hihocoder 進步 void none http://hihocoder.com/problemset/problem/1081 1 #include <iostream> 2 #inclu

wenbao短路floyd

con while pla ont names ios 學習 AS amp 1 #include <iostream> 2 #include <stdio.h> 3 #include <string.h> 4 using

wenbao短路dij

display name AD str () OS pty its art -----------------------http://acm.hdu.edu.cn/showproblem.php?pid=1874裸題 1 #include <stdio.

wenbao短路

vector [] 註意 reat control 相對 nba nod controls 每次更新最短路的時候順便更新次短路 存在d 滿足 dis[i] < d&& d < dis2[i] 更新dis2[i] = d 也可以求兩次

短路短路或和或的區別

&&(短路與)與&的區別: 最終結果都是一樣的 &&具有短路的效果。左邊是false,右邊就不執行 例如: int x = 3; int y = 4; System.out.println((++x =

Java例項證明邏輯短路的區別

一、邏輯運算子 &(與) 、|(或) 、!(非)&&(短路與)、||(短路或)、^(異或) 規則: & 一個為假,則為假 邏輯與 |  一個為真,則為真 邏輯或 !非false則true,非true則false

JAVA中&&和&、||和|(短路和邏輯短路或和邏輯或)的區別

問題一: JAVA中&&和&、||和|(短路與和邏輯與、短路或和邏輯或)的區別? 首先名稱是不同的 &&邏輯與  ||邏輯或  它們都是邏輯運算子 & 按位與  | 按位或  它們都是位運算子 if(a==1&&b==2) 這是說既要滿足a=1也要

A*K短路

A*演算法 一般的搜尋有兩種:BFS或DFS。這兩種搜尋都有一個特點,就是搜尋順序與每個節點與起點的距離有關,但是,這樣搜尋的節點很多是沒有必要的,在現實中,我們在走下一步時,還要考慮下一步到終點的距離,A∗演算法就是在普通的BFS中加一個估價函式,對下一步到

短路最小生成樹

最小生成樹能夠保證整個拓撲圖的所有路徑之和最小,但不能保證任意兩點之間是最短路徑。 最短路徑是從一點出發,到達目的地的路徑最小。 一句話概括:最小生成樹是計算從一節點到另一節點的最小邊集;最短路是帶權路徑,計算權值最小。 也就是說,最小生成樹要經過每一個點

求圖的第K短路(A*演算法短路的應用)

前言:最短路演算法是我們非常熟悉的了。Dijkstra,SPFA等單源最短路演算法是我們在競賽中常用的演算法。那麼,假如題目要求的不是最短的呢? Question(1):給定一個圖,求次短路。 對於次短路,很容易想到在比較的時候進行處理。 設dis(u)為原點s到u的最短路

Java靜態方法 靜態方法(實例方法)的區別

外部類 允許 靜態成員 靜態 成員 訪問 靜態成員變量 ava 實例方法 靜態方法與實例方法的異同   1.在外部類 調用靜態方法時,有兩種方式:(1)類名.靜態方法()(2)類的對象.靜態方法() ;也就是說調用靜態方法時可以不用創建對象。      調用實例

Verilog堵塞賦值堵塞賦值

解決 ont mark con 原理 inpu 特點 全部 cal verilog設計進階 時間:2014年5月6日星期二 主要收獲: 1.堵塞賦值與非堵塞賦值; 2.代碼測試; 3.組合邏輯電路和時序邏輯電路。