最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)示例詳解

 更新時(shí)間:2022年12月23日 14:17:55   作者:崔九八  
這篇文章主要介紹了switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

switch多選擇結(jié)構(gòu)

  • 多選擇結(jié)構(gòu)還有一個(gè)實(shí)現(xiàn)方式就是switch case語句

  • switch case語句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。

switch語句中的變量類型可以是:

switch(expression){
 ? ?case value:
 ? ? ? ?//語句
 ? ? ? ?break;//可選
 ? ?case value:
 ? ? ? ?//語句
 ? ? ? ?break;//可選
 ? ?//你可以有任意數(shù)量的case語句
 ? ?default://可選
 ? ? ? ?//語句
}
  • byte、short、int或者char

  • 從Java SE 7開始

  • switch 支持字符串 String 類型了

  • 同時(shí)case標(biāo)簽必須為字符串常量或字面量

public static void main(String[] args) {
 ? ? ? ?//case穿透 //switch 匹配一個(gè)具體的值
 ? ? ? ?char grade = 'B';
?
 ? ? ? ?switch (grade){
 ? ? ? ? ? ?case 'A':
 ? ? ? ? ? ? ? ?System.out.println("優(yōu)秀");
 ? ? ? ? ? ? ? ?break;//可選
 ? ? ? ? ? ?case 'B':
 ? ? ? ? ? ? ? ?System.out.println("良好");
 ? ? ? ? ? ? ? ?break;//可選
 ? ? ? ? ? ?case 'C':
 ? ? ? ? ? ? ? ?System.out.println("及格");
 ? ? ? ? ? ? ? ?break;//可選
 ? ? ? ? ? ?case 'D':
 ? ? ? ? ? ? ? ?System.out.println("再接再厲");
 ? ? ? ? ? ? ? ?break;//可選
 ? ? ? ? ? ?case 'E':
 ? ? ? ? ? ? ? ?System.out.println("掛科");
 ? ? ? ? ? ? ? ?break;//可選
 ? ? ? ? ? ?default:
 ? ? ? ? ? ? ? ?System.out.println("未知等級(jí)");
 ? ? ?  }
 ?  }
?
//輸出結(jié)果
良好
public static void main(String[] args) {
 ? ? ? ?String name = "曹炎兵";
 ? ? ? ?//JDK7的新特性,表達(dá)式結(jié)果可以是字符串?。?!
 ? ? ? ?//字符的本質(zhì)還是數(shù)字
?
 ? ? ? ?switch (name){
 ? ? ? ? ? ?case "曹炎兵":
 ? ? ? ? ? ? ? ?System.out.println("這條街我說了算!");
 ? ? ? ? ? ? ? ?break;
 ? ? ? ? ? ?case "曹玄亮":
 ? ? ? ? ? ? ? ?System.out.println("下輩子你當(dāng)哥哥,我當(dāng)?shù)艿埽?);
 ? ? ? ? ? ? ? ?break;
 ? ? ? ? ? ?default:
 ? ? ? ? ? ? ? ?System.out.println("你找錯(cuò)人了!");
 ? ? ?  }
 ?  }

循環(huán)結(jié)構(gòu)

  • while循環(huán)

  • do...while循環(huán)

  • for循環(huán)

  • 在Java5中引入了一種主要用于數(shù)組的增強(qiáng)型for循環(huán)

while循環(huán)

  • while是最基本的循環(huán),它的結(jié)構(gòu)為:

while(布爾表達(dá)式) {
 ? ?//循環(huán)內(nèi)容
}
  • 只要布爾表達(dá)式為true,循環(huán)就會(huì)一直執(zhí)行下去。

  • 我們大多數(shù)情況是會(huì)讓循環(huán)停止下來的,我們需要一個(gè)讓表達(dá)式失效的方式來結(jié)束循環(huán)。

  • 少部分情況需要循環(huán)一直執(zhí)行,比如服務(wù)器的請(qǐng)求響應(yīng)監(jiān)聽等。

  • 循環(huán)條件一直為true就會(huì)造成無限循環(huán)【死循環(huán)】,我們正常的業(yè)務(wù)編程中應(yīng)該盡量避免死循環(huán)。會(huì)影響程序性能或者造成程序卡死崩潰!

  • 思考:計(jì)算1+2+3+...+10=?

public static void main(String[] args) {
 ? ? ? ?
 ? ? ? ?//輸出1~100
 ? ? ? ?int i = 0;
 ? ? ? ?
 ? ? ? ?while (i < 100) {
 ? ? ? ? ? ?i++;
 ? ? ? ? ? ?System.out.println(i);
 ? ? ?  }
 ?  }
public static void main(String[] args) {
 ? ? ? ?//死循環(huán)
 ? ? ? ?while (true){
 ? ? ? ? ? ?//等待客戶端連接
 ? ? ? ? ? ?//定時(shí)檢查
 ? ? ? ? ? ?//...
 ? ? ?  }
 ?  }
public static void main(String[] args) {
 ? ? ? ?//計(jì)算1+2+3+...+100=?
?
 ? ? ? ?//高斯的故事
 ? ? ? ?int i = 0;
 ? ? ? ?int sum = 0;
?
 ? ? ? ?while (i <= 100) {
 ? ? ? ? ? ?sum = sum + i;
 ? ? ? ? ? ?i++;
 ? ? ?  }
 ? ? ? ?System.out.println(sum);
 ?  }
?
//輸出結(jié)果
5050

do...while循環(huán)

對(duì)于while語句而言,如果不滿足條件,則不能進(jìn)入循環(huán)。但有時(shí)候我們需要即使不滿足條件,也至少執(zhí)行一次。

do...while 循環(huán)和while循環(huán)相似,不同的是,do...while循環(huán)至少執(zhí)行一次。

do{
 ? ?//代碼語句
}while(布爾表達(dá)式);

while和do-while的區(qū)別:

  • while先判斷后執(zhí)行。do-while是先執(zhí)行后判斷!

  • do-while總是保證循環(huán)體會(huì)被至少執(zhí)行一次!這是他們的主要差別。

public static void main(String[] args) {
 ? ? ? ?int i = 0;
 ? ? ? ?int sum = 0;
?
 ? ? ? ?do {
 ? ? ? ? ? ?sum = sum + i;
 ? ? ? ? ? ?i++;
 ? ? ?  }while (i <= 100);
?
 ? ? ? ?System.out.println(sum);
 ?  }
?
//輸出結(jié)果
5050
public static void main(String[] args) {
 ? ? ? ?int a = 0;
 ? ? ? ?while (a < 0) {
 ? ? ? ? ? ?System.out.println(a);
 ? ? ? ? ? ?a++;
 ? ? ?  }
 ? ? ? ?System.out.println("====================");
 ? ? ? ?do {
 ? ? ? ? ? ?System.out.println(a);
 ? ? ? ? ? ?a++;
 ? ? ?  }while (a < 0);
 ?  }
?
//輸出結(jié)果
====================
0
?
Process finished with exit code 0

每日J(rèn)ava面試題

1.static關(guān)鍵字有什么用?

static代表"靜態(tài)"的意思,可以用來修飾:

  • 靜態(tài)內(nèi)部類(靜態(tài)內(nèi)部類可以不依賴外部類實(shí)例對(duì)象而被實(shí)例化,而內(nèi)部類需要在外部類實(shí)例化后才能被實(shí)例化)

  • 靜態(tài)方法(靜態(tài)方法屬于類方法,不需要實(shí)例化對(duì)象就可以調(diào)用)

  • 靜態(tài)變量(靜態(tài)變量屬于類,不需要實(shí)例化對(duì)象就能調(diào)用)

  • 靜態(tài)代碼塊(靜態(tài)代碼塊只會(huì)在類被加載時(shí)執(zhí)行且執(zhí)行一次)

使用示例代碼如下:

public class Test1 {
?
 ? ?static {
 ? ? ? ?System.out.println("靜態(tài)代碼塊");
 ?  }
 ? ?
 ? ?static class Test2 {
 ? ? ? ?
 ?  }
 ? ?
 ? ?private static int id = 0;
 ? ?
 ? ?public static void staticMethod() {
 ? ? ? ?
 ?  }
}

2.static變量和普通變量的區(qū)別?

  • 所屬目標(biāo)不同

靜態(tài)變量屬于類的變量,普通變量屬于對(duì)象的變量。

存儲(chǔ)區(qū)域不同

靜態(tài)變量存儲(chǔ)在方法區(qū)的靜態(tài)區(qū),普通變量存儲(chǔ)在堆區(qū)。

另外:JDK7及以上,靜態(tài)變量存儲(chǔ)在其對(duì)應(yīng)的Class對(duì)象中,而Class對(duì)象和其他普通對(duì)象一樣,都存儲(chǔ)在堆中的。
  • 加載時(shí)間不同

靜態(tài)變量是隨著類的加載而加載,隨著類的消失而消失。

普通變量隨著對(duì)象的加載而加載,隨著對(duì)象的消失而消失

  • 調(diào)用方式不同

靜態(tài)變量只能通過類名、對(duì)象調(diào)用,普通變量只能通過對(duì)象調(diào)用。

3.Java中final、finally、finalize的區(qū)別與用法

  • final

final是一個(gè)修飾符也是一個(gè)關(guān)鍵字

  • 被final修飾的類無法被繼承

  • 對(duì)于一個(gè)final變量,如果是基本數(shù)據(jù)類型的變量,則其數(shù)值一旦在初始化之后便不能更改;

    如果是引用類型的變量,則在對(duì)其初始化之后便不能再讓其指向另一個(gè)對(duì)象。但是它指向的對(duì)象的內(nèi)容是可變的。

  • 被final修飾的方法將無法被重寫,但允許重載

    注意:類的private方法會(huì)隱式地被指定為final方法。

  • finally

    finally是一個(gè)關(guān)鍵字

  • finally在異常處理時(shí)提供finally塊來執(zhí)行任何清除操作。不管有沒有異常被拋出或者捕獲,finally塊都會(huì)執(zhí)行,通常用于釋放資源。

  • finally塊正常情況下一定會(huì)被執(zhí)行。但是有至少兩個(gè)極端情況:

    • 如果對(duì)應(yīng)的try塊沒有執(zhí)行,則這個(gè)try塊的finally快并不會(huì)被執(zhí)行

    • 如果在try塊中jvm關(guān)機(jī),例如system.exit(n),則finally塊也不會(huì)執(zhí)行(都拔電源了,怎么執(zhí)行)

  • finally塊中如果有return語句,則會(huì)覆蓋try或者catch中的return語句,導(dǎo)致二者無法return,所以強(qiáng)烈建議finally塊中不要存在return關(guān)鍵字。

  • finalize

finalize()是Object類的protected方法,子類可以覆蓋該方法以實(shí)現(xiàn)資源清理工作。

GC在回收對(duì)象之前都會(huì)調(diào)用該方法

finalize()方法是存在很多問題的:

  • Java語言規(guī)范并保證finalize方法會(huì)被及時(shí)地執(zhí)行,更根本不會(huì)保證它們一定會(huì)執(zhí)行

  • finalize()方法可能帶來性能問題,因?yàn)镴VM通常在單獨(dú)的低優(yōu)先級(jí)線程中完成finalize的執(zhí)行

  • finalize()方法中,可將待回收對(duì)象賦值給GC Roots可達(dá)的對(duì)象引用,從而達(dá)到對(duì)象再生的目的

  • finalize方法最多由GC執(zhí)行一次(但可以手動(dòng)調(diào)用對(duì)象的finalize方法)

到此這篇關(guān)于switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)switch多選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何利用SwiftUI實(shí)現(xiàn)可縮放的圖片預(yù)覽器

    如何利用SwiftUI實(shí)現(xiàn)可縮放的圖片預(yù)覽器

    這篇文章主要給大家介紹了關(guān)于如何利用SwiftUI實(shí)現(xiàn)可縮放圖片預(yù)覽器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SwiftUI具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹

    Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹

    這篇文章主要介紹了Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹,在Swift中有一類很有意思的寫法,可以讓我們不直接使用實(shí)例來調(diào)用這個(gè)實(shí)例上的方法,而是通過類型取出這個(gè)類型的某個(gè)實(shí)例方法的簽名,然后再通過傳遞實(shí)例來拿到實(shí)際需要調(diào)用的方法,需要的朋友可以參考下
    2015-01-01
  • Swift中使用可選類型完美解決占位問題

    Swift中使用可選類型完美解決占位問題

    這篇文章主要介紹了Swift中使用可選類型完美解決占位問題,本文講解了為Dictionary增加objectsForKeys函數(shù)、Swift中更簡(jiǎn)便的方法、內(nèi)嵌可選類型等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • Swift?Error重構(gòu)優(yōu)化詳解

    Swift?Error重構(gòu)優(yōu)化詳解

    這篇文章主要為大家介紹了Swift?Error的問題解決及重構(gòu)優(yōu)化方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Swift中定義單例的方法實(shí)例

    Swift中定義單例的方法實(shí)例

    Swift中單例的寫法有很多種,下面這篇文章主要給大家介紹了關(guān)于Swift中定義單例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • Swift 4最全的新特性詳細(xì)解析(推薦)

    Swift 4最全的新特性詳細(xì)解析(推薦)

    Swift 4 在 Swift 3 的基礎(chǔ)上,提供了更強(qiáng)大的穩(wěn)健性和穩(wěn)定性。所以下面這篇文章就來給大家總結(jié)介紹關(guān)于Swift4新特性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • Swift使用WKWebView在iOS應(yīng)用中調(diào)用Web的方法詳解

    Swift使用WKWebView在iOS應(yīng)用中調(diào)用Web的方法詳解

    這篇文章主要介紹了Swift使用WKWebView在iOS應(yīng)用中調(diào)用Web的方法詳解,使用WKWebView便等于使用和Safari中相同的JavaScript解釋器,用來替代過去的UIWebView,需要的朋友可以參考下
    2016-04-04
  • 舉例講解Swift編程中switch...case語句的用法

    舉例講解Swift編程中switch...case語句的用法

    這篇文章主要介紹了Swift編程中switch...case語句的用法,其中fallthrough關(guān)鍵字在switch語句中的使用是重點(diǎn),需要的朋友可以參考下
    2016-04-04
  • Swift方法調(diào)度之類的普通方法底層探究

    Swift方法調(diào)度之類的普通方法底層探究

    這篇文章主要介紹了Swift-方法調(diào)度-類的普通方法底層探究,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • Swift縮放并填充圖片功能的實(shí)現(xiàn)

    Swift縮放并填充圖片功能的實(shí)現(xiàn)

    最近有一個(gè)需求,就是將圖片先等比例縮放到指定大小,然后將空余出來空間填充為黑色,返回指定大小的圖片。本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11

最新評(píng)論

华池县| 玉田县| 勐海县| 仙桃市| 辽宁省| 婺源县| 长白| 嘉峪关市| 南汇区| 个旧市| 陈巴尔虎旗| 洪泽县| 鄂尔多斯市| 鄂托克旗| 黔西| 商城县| 江安县| 遂平县| 监利县| 泗水县| 夏河县| 嘉善县| 肇庆市| 喀什市| 葫芦岛市| 拉萨市| 建湖县| 永安市| 陆丰市| 塔城市| 河东区| 宁都县| 全南县| 青州市| 南汇区| 海宁市| 杭锦旗| 沛县| 河曲县| 平安县| 澳门|