我遇到了「!= true」給出與「= false」不同的輸出的情況。我認爲如果不是真的,它會自動失效。任何人都可以請解釋我是如何工作的?謝謝!「!= true」和「= false」之間的區別
回答
它給不同的輸出,因爲你比較VS分配混淆
!=
意志值與RHS比較和=false
做賦值LHS。如果您想檢查是否相等,請使用==
運算符。
而且我認爲當你比較不同的風格時,它們並沒有太大的區別,因爲它們都做同樣的工作,除非你有一些奇怪的代碼行。
==
是比較操作符,=
是賦值運算符 !=
是不等於,和==
是等於
!= true
使用比較器。它比較LHS與真實。但= false
是一項任務。相當於!= true
將是== false
。 ==
也是比較運算符,用於檢查是否相等,而!=
用於檢查不等式。
除了其他的答案,
如果事情是不是真的這會是假的自動
也是錯誤的。
(Boolean) null != true
爲真,但(Boolean) null == false
當然是錯誤的。
這是所有關於寫作或檢查值...
看看這個例子...
boolean flag = true; a boolean variable is defined and assig to true
if (flag!=true) { //you should do instead if(!flag)
//this is checking the content of the flag variable
}
if (flag=true) { //you should do instad if(flag)
//this is writing the content of the flag assigning it to true
}
你的第二個條件實際上是一項任務。 – csmckelvey
@takendarkk感謝您的意見,我知道我故意這樣做,因爲它看起來像OP分配,而不是檢查布爾值val –
在布爾語句中,如果您使用!=真,如果布爾爲空,操作員將允許它運行任何比較。如果您使用== false,則只有當布爾值當前設置爲false時纔會運行。
首先是比較,在後一種情況下,你要分配
- 1. AutoPostBack = True和AutoPostBack = False之間的區別?
- 2. 「!= true」和「== false」之間的區別?
- 3. System.Timers.Timer Enabled = true和.Start()之間的區別Enabled = true和.Start()之間的區別
- 4. GC.GetTotalMemory(false)和GC.GetTotalMemory(true)之間的區別是什麼
- 5. PredicateBuilder <True>和PredicateBuilder <False>之間的區別?
- 6. control.hide/show和control.visible之間是否有區別:= false/true?
- 7. YES/TRUE之間的區別?
- 8. request.getSession()。getId()和request.getSession(false)之間的區別?
- 9. objective-c中的YES/NO,TRUE/FALSE和true/false是否有區別?
- 10. 在php中,if(true)/ else(false)和if(!true)之間有什麼區別?
- 11. 回覆短信息:「compose_mode」= true與false之間有什麼區別?
- 12. SOLR Indexed = true和stored = true之間的區別
- 13. 保存(false)和保存(:validate => false)之間的區別
- 14. 同步請求和異步請求之間有什麼區別? (async = true/false)
- 15. 'false === $ var'和'$ var === false'之間有什麼區別?
- 16. @ManyToOne(可選= false)與@Column(nullable = false)之間的區別
- 17. SomeValue之間的區別{get;} = true; vs SomeValue => true;在屬性
- 18. 之間的〜/和的區別../
- 19. <compilation debug =「true」>和.csproj文件設置之間的區別?
- 20. jquery:stop(true)和clearQueue()之間的區別是什麼
- 21. $ _和[參數(ValueFromPipeline = $ true)之間的奇怪區別]
- 22. while(true)和for(;;)之間的實際區別是什麼?
- 23. 傑克遜註解:JsonIgnoreProperties(ignoreUnknown = true)和JsonInclude(Include.NON_EMPTY)之間的區別
- 24. [DataContractAttribute(IsReference = true)]和[DataContract]之間的區別是什麼?
- 25. '#','%'和'$'之間的區別
- 26. {!!之間的區別!!}和{{}}
- 27. '+ ='和'= +'之間的區別?
- 28. 「。+」和「。+?」之間的區別
- 29. .eq之間的區別。和==
- 30. #。/和#之間的區別。 ./
你能不能給我們的** **代碼重現您所遇到的情況需要? –
對於布爾值,使用'=='和'!='是多餘的。您應該使用'if(booleanVariable)'和'if(!booleanVariable)'來代替。 – Radiodef
是的,我從來沒有理解爲什麼人們不得不使用比較運算符來使布爾表達式脫離布爾表達式。 –