Java用戶交互scanner及運(yùn)算結(jié)構(gòu)代碼詳解
用戶交互Scanner
通過(guò)Scanner類(lèi)的 next() 與 nextLine() 方法獲取輸入的字符串,在讀取前我們一般需要使用hasNext() 與 hasNextLine() 判斷是否還有輸入的數(shù)據(jù)。
next() 與 nextLine()
next():
1、一定要讀取到有效字符后才可以結(jié)束輸入。
2、 對(duì)輸入有效字符之前遇到的空白,next() 方法會(huì)自動(dòng)將其去掉。
3、只有輸入有效字符后才將其后面輸入的空白作為分隔符或者結(jié)束符。
4、 next() 不能得到帶有空格的字符串。
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方法接收:");
//判斷用戶有沒(méi)有輸入字符串
if(scanner.hasNext()){
//使用next方法接收
String str=scanner.next();
System.out.println("輸出內(nèi)容為:"+str);
}
//凡是屬于IO流的類(lèi)如果不關(guān)閉會(huì)一直占用資源,良好習(xí)慣用完就關(guān)!
scanner.close();
1、以Enter為結(jié)束符,也就是說(shuō)nextLine()方法返回的是輸入回車(chē)之前的所有字符。
2、可以獲得空白。
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方法接收:");
//判斷用戶有沒(méi)有輸入字符串
if(scanner.hasNextLine()){
//使用nextLine方法接收
String str = scanner.nextLine();
System.out.println("輸出內(nèi)容為:"+str);
}
//凡是屬于IO流的類(lèi)如果不關(guān)閉會(huì)一直占用資源,良好習(xí)慣用完就關(guān)!
scanner.close();
順序與循環(huán)結(jié)構(gòu)
- 順序結(jié)構(gòu)
- 選擇結(jié)構(gòu)
- switch多選擇結(jié)構(gòu)
switch語(yǔ)句中的變量類(lèi)型可以是:byte、short、int、或char
從JavaSE7開(kāi)始,支持String類(lèi)型,同時(shí)case標(biāo)簽必須為字符串變量或字面量
循環(huán)結(jié)構(gòu)
- while 循環(huán)
- do while 循環(huán)
While和do-While的區(qū)別:
while先判斷后執(zhí)行。do-while是先執(zhí)行后判斷!
Do...while總是保證循環(huán)體會(huì)被至少執(zhí)行一次! 這是他們的主要差別。
for循環(huán)
for循環(huán)語(yǔ)句是支持迭代的一種通用結(jié)構(gòu),是最有效、最靈活的循環(huán)結(jié)構(gòu)。
for循環(huán)執(zhí)行次數(shù)是在執(zhí)行前就確定的。
增強(qiáng)for循環(huán)
for(聲明語(yǔ)句 : 表達(dá)式)
{
//代碼句子
}
int[] numbers={10,20,30,40,50};
for(int x:numbers){
System.out.println(x);
}
聲明語(yǔ)句:聲明新的局部變量,該變量的類(lèi)型必須和數(shù)組元素的類(lèi)型匹配。其作用域限定在循環(huán)語(yǔ)句塊,其值與此時(shí)數(shù)組元素的值相等。
表達(dá)式:表達(dá)式是要訪問(wèn)的數(shù)組名,或者是返回值為數(shù)組的方法。
break 和 continue
break在任何循環(huán)語(yǔ)句的主體部分,均可用break控制循環(huán)的流程。break用于強(qiáng)行退出循環(huán),不執(zhí)行循環(huán)中剩余的語(yǔ)句。(break語(yǔ)句也在switch語(yǔ)句中使用)
continue語(yǔ)句用在循環(huán)語(yǔ)句體中,用于終止某次循環(huán)過(guò)程,即跳過(guò)循環(huán)體中尚未執(zhí)行的語(yǔ)句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。
應(yīng)用:打印三角形和 debug
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j=5;j>=i;j--){
System.out.print(" ");//打印空白區(qū)域
}
for (int j=1;j<=i;j++){
System.out.print("*");//先打印左邊半個(gè)三角形
}
for (int j=1;j<i;j++){
System.out.print("*");//打印右邊半個(gè),算是補(bǔ)齊吧!
}
System.out.println();
}
}
關(guān)于debug設(shè)置斷點(diǎn):點(diǎn)擊代碼左側(cè)區(qū)域,點(diǎn)擊“瓢蟲(chóng)”開(kāi)始debug,可以看到每個(gè)步驟的情況?。?!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
maven項(xiàng)目錯(cuò)誤:找不到或無(wú)法加載主類(lèi)?XXX問(wèn)題
這篇文章主要介紹了maven項(xiàng)目錯(cuò)誤:找不到或無(wú)法加載主類(lèi)?XXX問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
使用spring aop統(tǒng)一處理異常和打印日志方式
這篇文章主要介紹了使用spring aop統(tǒng)一處理異常和打印日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
JavaWeb-WebSocket瀏覽器服務(wù)器雙向通信方式
文章介紹了WebSocket協(xié)議的工作原理和應(yīng)用場(chǎng)景,包括與HTTP的對(duì)比,接著,詳細(xì)介紹了如何在Java中使用WebSocket,包括配置類(lèi)、服務(wù)編寫(xiě)和前端頁(yè)面的實(shí)現(xiàn)2025-02-02
SpringBoot實(shí)現(xiàn)定時(shí)任務(wù)和異步調(diào)用
這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)定時(shí)任務(wù)和異步調(diào)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Java中二叉樹(shù)的建立和各種遍歷實(shí)例代碼
這篇文章主要介紹了Java中二叉樹(shù)的建立和各種遍歷實(shí)例代碼,涉及樹(shù)節(jié)點(diǎn)的定義,后序遍歷,層序遍歷,深度優(yōu)先和廣度優(yōu)先等相關(guān)內(nèi)容,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
淺談Java回收對(duì)象的標(biāo)記和對(duì)象的二次標(biāo)記過(guò)程
這篇文章主要介紹了淺談Java回收對(duì)象的標(biāo)記和對(duì)象的二次標(biāo)記過(guò)程的相關(guān)內(nèi)容,小編覺(jué)得還是挺不錯(cuò)的,這里給大家分享一下,需要的朋友可以參考。2017-10-10

