java switch語(yǔ)句怎么用 Java中為什么我寫switch語(yǔ)句,在case后加break就錯(cuò)誤,不加就正確,很困惑?
Java中為什么我寫switch語(yǔ)句,在case后加break就錯(cuò)誤,不加就正確,很困惑?你好,我是白雪公主,很高興為你回答。在switch語(yǔ)句中使用break語(yǔ)句將終止語(yǔ)句序列。當(dāng)遇到break語(yǔ)句
Java中為什么我寫switch語(yǔ)句,在case后加break就錯(cuò)誤,不加就正確,很困惑?
你好,我是白雪公主,很高興為你回答。在switch語(yǔ)句中使用break語(yǔ)句將終止語(yǔ)句序列。當(dāng)遇到break語(yǔ)句時(shí),程序會(huì)在一行代碼的末尾開始執(zhí)行整個(gè)switch語(yǔ)句,這會(huì)產(chǎn)生跳出switch語(yǔ)句的效果。break語(yǔ)句是可選的。如果省略break語(yǔ)句,程序?qū)?zhí)行下一個(gè)case。如果需要使用多個(gè)case,則不需要使用no break語(yǔ)句。switch語(yǔ)句在多項(xiàng)選擇中比if-else語(yǔ)句更有效。
開關(guān)的工作原理是,一旦找到匹配項(xiàng),就一直執(zhí)行,而不是判斷。例如,int a=2switch(a){case 1:printf(“1”)case 2:printf(“2”)case 3:printf(“3”)case 4:printf(“4”)default}如果沒有添加中斷符,switch會(huì)發(fā)現(xiàn)2匹配,首先執(zhí)行printf(“2”),然后不進(jìn)行判斷,printf(“3”)printf(“4”)也會(huì)執(zhí)行。你不是這個(gè)意思。所以最好在每一個(gè)病例后都加上休息時(shí)間。
開關(guān)的功能類似于跳轉(zhuǎn)。滿足switch條件將跳轉(zhuǎn)到相應(yīng)的case執(zhí)行代碼。如果沒有添加break,代碼將從那里一直執(zhí)行到結(jié)尾,因此不符合case的語(yǔ)句也將被執(zhí)行。switch和case的標(biāo)準(zhǔn)編寫方法如下:switch(conditions){case…:dosomething()break case…:doanotherthing()break default:defaultthing()}
比較專業(yè)的科普知識(shí),請(qǐng)關(guān)注我。如果你喜歡我的回答,也請(qǐng)給我表?yè)P(yáng)或轉(zhuǎn)發(fā),你的鼓勵(lì)是支持我寫下來(lái)的動(dòng)力,謝謝。
switch條件語(yǔ)句中,case后面可以跟什么類型的數(shù)據(jù)?
在java7之前,switch只能支持byte、short、char、int或其相應(yīng)的封裝類和枚舉類型。在Java7中,還支持字符串類型。
在java中switch結(jié)構(gòu)中必須有default語(yǔ)句嗎?
沒必要。switch case語(yǔ)句是一個(gè)條件選擇語(yǔ)句,它查找與條目相同的case值并執(zhí)行以下程序;如果所有case都不滿足,則查找默認(rèn)條目;如果不滿足,則退出整個(gè)switch語(yǔ)句。所以默認(rèn)值只是一個(gè)備用條目。有沒有也沒關(guān)系。