if nullname 與if namenull 有什麼區別

時間 2021-10-14 20:44:22

1樓:匿名使用者

!= null沒有區別,

一般說區別是說num == name得,==那樣寫的好處在於,程式設計師很容易寫為name = null;不容易被編譯器發現錯誤

如果寫為null = name,===〉編譯出錯!= null效果一樣的,不用比較

2樓:

邏輯意義沒有區別。但前者有個好處是萬一寫錯成null=name了,編譯就通不過,程式設計師就可根據錯誤提示糾正錯誤。而後者也許就慘了,編譯沒有問題,執行起來常常會產生意想不到結果,且不容易找到錯在那裡。

所以總體講這只是**風格問題,沒有實質性差別,二者都是正確的且等價。null應該是null,c/c++中沒有定義null,除非自定義了它!

3樓:

在你說的這個例子中,區別不大,我覺得你指的是下面這個例子,希望對你有幫助

string s;

if(s.equals("aaaa"))與if("aaa".equals(s))的區別,前者,如果s本身是null的話,直接呼叫equals方法會丟擲空指標異常,後者無論s是否是null,都不會丟擲空指標,後一種寫法系統強壯性更好,但是你舉的例子,順序顛倒,沒有什麼區別,請其他高手指點~

4樓:修懷芹

其實這是一種書寫習慣,並沒有太多差別。

大多數會習慣 if(name !=null) 這種寫法,閱讀更容易理解。

但這並不是推薦的寫法,推薦寫法為:if(null != name) ,之所以推薦這種寫法是因為以下原因,請看:

boolean b = false;

if(b=true)

if(true=b)

第一個if 可以被編譯器通過,認為是正確的語句,但後者卻不行。

但以下兩句都能被正確識別:

boolean b = false;

if(b==true){}

if(true==b){}

所以,對於這兩用常量作為比較物件的通常推薦將常量放在前面,避免這種人為的造成的錯誤,並且這種錯誤會如果不是在主要邏輯分支上的話很難查詢。

5樓:匿名使用者

如果 null 不等於 name 與 如果 name 不等於 null,比較位置相反,第一個以null為中心,第二個相反

6樓:大鬍子毛絨老頭

此處完全沒有任何區別.

關於 if (username!= null && !"".equals(username)) 和if (username!= null && username!= "")區別 5

7樓:典勇嘉謀

當然是用equals,==比較的兩個string的記憶體地址,而不是值。

8樓:匿名使用者

equal 和==的區別

if (name!=null && name!="") 在js中是什麼意思

9樓:匿名使用者

name=null 存在name這個東西 但是什麼也沒有

name="" 存在,但是裡面放的是空白

!= 就是相反的意思

10樓:車水碼農

判斷name的值存在性,假如name有值

if(null != p)和if( p!=null )在c語言中有什麼區別?具體是什麼意思?

11樓:姓邵名宇銘

有區別。

第一種寫法更安全 防止手殘寫成= 不報錯 不好找bug。

流程圖開始、初始化:首先是根據專案的要求確定要用到的變數與自定義的一些資料;這些是寫程式的第一步,相對來說是比較容易的。

流程圖主體:也就是專案所要達到的目的,畫出流程圖的行動方案、普通工作環節、問題判斷或判定環節、輸入輸出;這裡主要的重點是理清邏輯關係。

結束:有結束的程式要畫出來,一些無限迴圈的可以不用畫。

到此,一個完整的流程圖就畫出來了。

這些都是很容易就可以畫出來的,把複雜的簡單化,只要把流程圖畫出來就可以根據流程圖一步一步的把程式編寫出來。

流程圖的草稿畫完了,然後進行完善,從頭到尾的讀一次,看看是不是有漏掉的地方,如:判定的地方是不是要按鍵觸發等等。

檢查沒問題之後我們就可以根據流程與步驟,寫程式了。程式開頭和結尾是很容易的,而中間是要靠我們的基礎知識和平時的積累。

流程圖相當於題目,甚至比題目更加的清晰明瞭,所以新手寫程式不妨先畫一個流程圖在寫,其實一些大的專案,畫流程圖更是必須的,錯綜複雜的關係用流程圖就可以輕鬆的解析明白。

例如:設計一個低頻訊號發生器,下圖就是流程圖,只要根據流程圖編寫就可以很容易的把程式寫出來了。而這個專案的目的是能夠輸出正弦波、三角波、和方波訊號,並可以調整個新號的頻率;

根據上面所說:首先是開始、初始化,然後是通過按鍵判斷,判斷後是進行相關的操作(波形的產生,頻率的改變)。

每一件複雜的事情都是有很多簡單的事情構成的,解決了簡單的事情,複雜的也就慢慢的被解決了。

if(null != p)和if( p!=null )在c語言中有什麼區別 具體是什麼意思!

12樓:天雲一號

if(null != p)和f(p != null)兩者並沒什麼區別,都是判斷指標p是否為空。

但是當考慮到出錯檢查時,if(null != p)寫法更好,因為如果誤寫為if(null = p)的時候,編譯器就會提示出錯(因為常量不能被賦值);而if(p != null)如果誤寫為if(p = null),則編譯器不會報錯。

13樓:量子高巨集亮

沒什麼區別,防止敲擊鍵盤是出錯時,編譯器是否能提示報錯。

if(null != p) 如果寫錯寫成if(null = p) 會報錯

if( p!=null )如果寫錯寫成if(p=null) 不會報錯一種程式設計小技巧,沒什麼的

14樓:匿名使用者

功能是一樣的,只是傳說中如果使用null != p則不容易出錯。因為有些人很粗心地把!=或==寫成=。

但我個人認為還是寫p != null比較好,這樣比較符合習慣。

子彈與木塊,子彈與木塊

年年歲歲題相似,年年歲歲人不同。幾年前考我的問題。設子彈初始速度v,木塊阻力f,子彈質量m,每個木塊厚度s易得出 3fs 1 2 mvv 即2分之一m乘以v的平方設穿出第一個木塊後的速度為 a,穿出第二個木塊後的速度為b,由動能守恆定律 fs 1 2 mvv 1 2 maa 將fs代入第一個式子,可...

游泳與健康,游泳與健康

1 游泳對人體健康的好處 游泳不僅同許多體育專案一樣,對多種慢性疾病有一定的 作用,而且還有其獨特的 價值,其主要原因有以下幾點 l 游泳是在陽光 空氣 冷水三浴兼併的良好的自然環境中進行的體育運動專案,從而集中了陽光浴 空氣浴和冷水浴對人的所有療效。2 游泳鍛鍊是一種全身性的鍛鍊,因而它對疾病的 ...

through與across與past的區別

across adv.橫過,交叉地,在對面prep.越過,交叉,在.的那邊,在.對面那邊 主要強調由表面通過 through prep.穿過,通過,從開始到結束,經由,以 adv.從頭到尾,自始至終,直達地,徹底,完全 adj.直達的,直通的 主要強調由內部通過 通過房門應用through thro...