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)文章
最新IntelliJ?IDEA?2022配置?Tomcat?8.5?的詳細(xì)步驟演示
這篇文章主要介紹了IntelliJ?IDEA?2022?詳細(xì)配置?Tomcat?8.5?步驟演示,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn)
這篇文章主要介紹了身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn),本文講解了18身份證號(hào)碼的結(jié)構(gòu)、根據(jù)17位數(shù)字本體碼獲取最后一位校驗(yàn)碼程序?qū)嵗葍?nèi)容,需要的朋友可以參考下2015-06-06
SpringDataJpa寫(xiě)原生sql遇到的問(wèn)題及解決
這篇文章主要介紹了SpringDataJpa寫(xiě)原生sql遇到的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java并發(fā)編程之LockSupport類(lèi)詳解
LockSupport是一種線程阻塞工具,它可以在線程內(nèi)任意位置讓線程阻塞.接下來(lái)就帶著大家詳細(xì)了解一下LockSupport類(lèi),,需要的朋友可以參考下2021-05-05
基于maven的springboot的"過(guò)時(shí)"用法解析
這篇文章主要為大家介紹了基于maven的springboot"過(guò)時(shí)"用法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09

