c語言switch用法舉例 if結(jié)構(gòu)和switch結(jié)構(gòu)的相同點和不同點?
if結(jié)構(gòu)和switch結(jié)構(gòu)的相同點和不同點?主要區(qū)別是開關(guān)中2113case的參數(shù)只能是整數(shù)4102型的5261數(shù)據(jù),只能是常量。例如,int s switch(W)case s://s不能像結(jié)構(gòu)類一
if結(jié)構(gòu)和switch結(jié)構(gòu)的相同點和不同點?
主要區(qū)別是開關(guān)中2113case的參數(shù)只能是整數(shù)4102型的5261數(shù)據(jù),只能是常量。例如,int s switch(W)case s://s不能像結(jié)構(gòu)類一樣是1653,也不能是變量。它只能是一個常量和like if(CC> 9 |*DD==null)switch的優(yōu)點是使用起來更直觀,而且很容易看出它是一個并列的倍數(shù)if,特別是當(dāng)數(shù)字較大時,代碼很難閱讀
答:主要是因為switch不適合實際的復(fù)雜要求在業(yè)務(wù)系統(tǒng)中,業(yè)務(wù)是不斷變化和迭代的,一旦需求發(fā)生變化,條件的復(fù)雜性就很高,switch無法處理。
開關(guān)何時合適?它的場景是基于單個變量的值(例如枚舉),這比if條件更可讀。
從上面的場景來看,它太有限了。讓我簡單地談?wù)勊囊恍┤秉c:
1。真正的業(yè)務(wù)場景非常復(fù)雜,條件也不單一。一旦需求發(fā)生變化,維護(hù)代碼就會崩潰。
2. 開關(guān)經(jīng)常忘記寫中斷。據(jù)估計,很多人都忘了粗心地寫。如果你看看Google的代碼規(guī)范,你會發(fā)現(xiàn)Google對switch有很多要求。
事實上,有些人仍然使用交換機,這部分是由于歷史原因。然而,隨著科學(xué)技術(shù)的發(fā)展,原有的設(shè)計和設(shè)計都相對滯后。
某些編程語言(如python)沒有開關(guān)語法。當(dāng)然,一些新的語言golang和kotlin仍然是繼承的,但是switch被打包了,被誤解的語法被刪除了,這使得switch更加靈活。沒有包裝很難使用。
通過上述缺點,即if語句更加靈活,并且根據(jù)業(yè)務(wù)邏輯條件編寫,可維護(hù)性高。同時,只要代碼質(zhì)量高,可讀性就會更高。
實際業(yè)務(wù)非常復(fù)雜,我不建議您必須使用大量的if,相反,它應(yīng)該盡快返回以減少嵌套,從而增加可讀性并降低維護(hù)成本。
為什么很多程序員不用switch,而是大量的if……else if?
這個問題太簡單了。讓我來為大家分析一下以下幾點:
三大主機平臺的優(yōu)缺點和特點
ps4pro:支持4K和HDR功能,壟斷了很多游戲,比如戰(zhàn)神系列、神海系列、血源、GTS賽車、駕駛俱樂部、美國末日系列、地平線零黎明、不再過去的萬達(dá)等巨像等獨家這兩個字都知道,只有PS4平臺才能玩,而這些杰作還包括動作、射擊、賽車、臉玩等類型,可以說購買PS4是為了什么才是獨家游戲。
Xboxonex:也叫天蝎座,其實它和ps4pro、4K、HDR的屬性是一樣的,但是因為它的浮點運算比ps4pro好,所以在跨平臺游戲中會比ps4pro強大一點。但如果用肉眼比較這兩個平臺,我相信很難看出有什么區(qū)別。唯一的缺點是壟斷游戲太少,幾乎沒有。為什么不?因為只要你有高配置的電腦,天蝎座所謂的專屬游戲幾乎可以用電腦玩。如果你的電腦硬件足夠高,它比天蝎座的圖片要好,所以游戲軟件是天蝎座的硬傷。
Swich:不用說,Swich非常適合你,如果你不追求圖片,喜歡許多人的娛樂,喜歡方便和便攜性。它可以作為手持設(shè)備攜帶,也可以作為客廳和臥室的游戲主機。游戲軟件方面,如馬里奧系列、塞爾達(dá)系列、口袋妖怪系列、火焰徽章系列等,都是獨家的,游戲種類很多,但第三方游戲相對較少,冷餐也比較多。一些名作的圖片和畫框數(shù)量也一降再降。
綜上所述,每個平臺都有自己的優(yōu)缺點。這取決于你喜歡什么樣的游戲以及你是否有時間玩。我的建議是,如果你是一個不喜歡外出娛樂的人,那么ps4pro可以帶給你更出色的游戲體驗。如果你是一個沒有太多時間玩游戲的人,游戲可能只是為了打發(fā)空閑時間,所以swich非常適合你,你也可以為你的女朋友玩![閃光]。至于天蝎座,游戲軟件和電腦很相似,為什么不玩電腦呢