更新時(shí)間:2020-10-29 17:20:38 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3203次
每一個(gè)程序都是由一個(gè)一個(gè)代碼和語(yǔ)句構(gòu)成的,在程序中會(huì)使用到不同的語(yǔ)句結(jié)構(gòu),比如條件語(yǔ)句、選擇語(yǔ)句和循環(huán)語(yǔ)句。因?yàn)槌绦蚨际怯沙绦騿T們敲代碼寫(xiě)出來(lái)的,當(dāng)有重復(fù)的命令時(shí),就可以使用循環(huán)語(yǔ)句來(lái)完成,今天我們來(lái)學(xué)習(xí)循環(huán)語(yǔ)句之一——do while語(yǔ)法及原理,正在學(xué)習(xí)循環(huán)語(yǔ)句的朋友們一起來(lái)看下面的內(nèi)容吧。
在前面的文章中學(xué)習(xí)了for循環(huán)語(yǔ)法及原理,do while也是循環(huán)語(yǔ)句的一種,接下來(lái)我們一起來(lái)看看do while循環(huán)語(yǔ)法結(jié)構(gòu),以及執(zhí)行順序,如下圖所示:

或者參見(jiàn)下圖:

上圖中清晰的描述了do while循環(huán)執(zhí)行順序,需要注意的是do while循環(huán)在最后的時(shí)候有一個(gè)半角的分號(hào)“;”,這個(gè)不能丟,丟掉之后編譯器就報(bào)錯(cuò)了。接下來(lái)我們看一個(gè)do while循環(huán)的典型案例。
業(yè)務(wù)背景:我們通常在使用的一個(gè)系統(tǒng)的時(shí)候需要登錄,假設(shè)用戶名或者密碼記不清楚了,你是不是需要不斷的“反復(fù)的”輸入用戶名和密碼,這就是一個(gè)非常典型的循環(huán)案例,而這個(gè)循環(huán)當(dāng)中首先要做的第一件事兒不是判斷用戶名和密碼是否正確,它的起點(diǎn)是先讓用戶輸入用戶名和密碼,所以這個(gè)時(shí)候我們就需要使用do..while循環(huán)來(lái)完成。使用do while語(yǔ)法及原理的代碼如下:
java.util.Scanner scanner = new java.util.Scanner(System.in);
String username;
String password;
do{
System.out.print("用戶名:");
username = scanner.next();
System.out.print("密碼:");
password = scanner.next();
}while(!username.equals("admin") || !password.equals("123"));
System.out.println("登錄成功,歡迎" + username + "回來(lái)!");
運(yùn)行效果如下圖所示:

對(duì)上面使用的do while語(yǔ)法代碼解釋:先提示用戶輸入用戶名和密碼,然后判斷用戶名和密碼,當(dāng)用戶名不是admin或者密碼不是123的時(shí)候繼續(xù)提示用戶輸入用戶名和密碼,直到用戶輸入的用戶名是admin并且密碼是123的時(shí)候循環(huán)結(jié)束,循環(huán)結(jié)束之后輸出登錄成功的信息,只要循環(huán)沒(méi)有結(jié)束就表示用戶名和密碼還是不對(duì),當(dāng)然,在現(xiàn)實(shí)的系統(tǒng)當(dāng)中我們不可能允許用戶無(wú)限制的輸入用戶名和密碼,通常會(huì)給幾次輸入機(jī)會(huì),當(dāng)機(jī)會(huì)用完之后還是沒(méi)有登錄成功,通常該賬戶就被鎖定了,你不妨試試這種業(yè)務(wù)又應(yīng)該如何完成。
while和do while循環(huán)的區(qū)別就在于do while會(huì)先執(zhí)行一次循環(huán)體,然后再判斷條件,這樣do while的循環(huán)體至少執(zhí)行一次。而while循環(huán)則是先判斷條件是否合法,如果不合法,則循環(huán)體就沒(méi)有任何執(zhí)行的機(jī)會(huì)。while循環(huán)體執(zhí)行次數(shù)是0~N次,但是do while循環(huán)體執(zhí)行次數(shù)則是1~N次。
相信通過(guò)上面對(duì)實(shí)例的說(shuō)明,大家對(duì)do while語(yǔ)法及原理可以有更好的理解和幫助。do while語(yǔ)法是在一個(gè)程序中經(jīng)常使用到的,在java程序員的實(shí)際項(xiàng)目中使用do while循環(huán)語(yǔ)句的頻率也很高,所以希望朋友們可以在理解了do while語(yǔ)法及原理后,加以練習(xí),熟練的使用do while語(yǔ)句。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)