欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • 解析Swift中的泛型支持與使用

    解析Swift中的泛型支持與使用

    支持泛型意味著可以在規(guī)定參數(shù)類型的情況下更靈活地編寫程序,也是Swift語言先進(jìn)而又強(qiáng)大的體現(xiàn),這里我們就來解析Swift中的泛型支持與使用:
    2016-07-07
  • Swift條件判斷中逗號(hào)的使用方法示例

    Swift條件判斷中逗號(hào)的使用方法示例

    判斷語句是我們?nèi)粘i_發(fā)經(jīng)常會(huì)遇到的一個(gè)功能,下面這篇文章主要給大家介紹了關(guān)于Swift條件判斷中逗號(hào)的使用方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Swift中defer的正確使用方法

    Swift中defer的正確使用方法

    準(zhǔn)備把 swift 文檔再掃一遍,發(fā)現(xiàn)了defer這個(gè)關(guān)鍵字,所以下面這篇文章主要給大家介紹了關(guān)于Swift中defer的正確使用方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-11-11
  • SwiftUI圖片縮放、拼圖等處理教程

    SwiftUI圖片縮放、拼圖等處理教程

    SwiftUI是一種使用Swift語言在蘋果設(shè)備上構(gòu)建用戶界面的創(chuàng)新且簡單的方式,下面這篇文章主要給大家介紹了關(guān)于SwiftUI圖片縮放、拼圖等處理的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Swift并發(fā)系統(tǒng)并行運(yùn)行多個(gè)任務(wù)使用詳解

    Swift并發(fā)系統(tǒng)并行運(yùn)行多個(gè)任務(wù)使用詳解

    這篇文章主要為大家介紹了Swift并發(fā)系統(tǒng)并行運(yùn)行多個(gè)任務(wù)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 窺探Swift編程中的錯(cuò)誤處理與異常拋出

    窺探Swift編程中的錯(cuò)誤處理與異常拋出

    本文給大家整理些關(guān)于Swift編程中的錯(cuò)誤處理與異常拋出,本文介紹的非常詳細(xì),基于參考價(jià)值,特此分享腳本之家平臺(tái)供大家學(xué)習(xí)
    2016-02-02
  • Swift?Sequence?Collection使用示例學(xué)習(xí)

    Swift?Sequence?Collection使用示例學(xué)習(xí)

    這篇文章主要為大家介紹了Swift?Sequence?Collection使用示例學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Swift教程之閉包詳解

    Swift教程之閉包詳解

    這篇文章主要介紹了Swift教程之閉包詳解,閉包可以在上下文的范圍內(nèi)捕獲、存儲(chǔ)任何被定義的常量和變量引用,因這些常量和變量的封閉性,而命名為“閉包(Closures)”,需要的朋友可以參考下
    2015-01-01
  • Swift循環(huán)遍歷集合的方法總結(jié)分享

    Swift循環(huán)遍歷集合的方法總結(jié)分享

    SWIFT是蘋果于2014年WWDC發(fā)布的新開發(fā)語言,可與Objective-C*共同運(yùn)行于Mac OS和iOS平臺(tái),用于搭建基于蘋果平臺(tái)的應(yīng)用程序。這篇文章主要給大家總結(jié)介紹了關(guān)于Swift循環(huán)遍歷集合的方法,如for-in循環(huán)、for循環(huán)以及基于塊的遍歷等方法,需要的朋友可以參考下。
    2017-03-03
  • 如何快速用上Swift靜態(tài)庫詳解

    如何快速用上Swift靜態(tài)庫詳解

    這篇文章主要給大家介紹了關(guān)于如何快速用上Swift靜態(tài)庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03

最新評(píng)論