久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)

瀏覽:157日期:2022-08-21 16:46:14

1、基本語(yǔ)法

1.1基本使用方法

本篇博客重點(diǎn)nextLine()會(huì)讀取換行(’r’),但是不會(huì)進(jìn)行輸出。

Java中Scanner類中的方法next()和nextLine()都是吸取輸入臺(tái)輸入的字符,區(qū)別:

next()不會(huì)吸取字符前/后的空格/Tab鍵,只吸取字符,開(kāi)始吸取字符(字符前后不算)直到遇到空格/Tab鍵/回車截止吸取; nextLine()吸取字符前后的空格/Tab鍵,回車鍵截止。

輸入兩行字符串:我愛(ài)學(xué)JAVA 我真的很愛(ài)愛(ài)學(xué)JAVA我真的很愛(ài)很愛(ài)學(xué)JAVA

期望輸出結(jié)果:我愛(ài)學(xué)JAVA 我真的很愛(ài)愛(ài)學(xué)JAVA我真的很愛(ài)很愛(ài)學(xué)JAVA

package scanner;import java.util.Scanner;public class Sun_01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str1 = scanner.nextLine(); String str=scanner.next(); System.out.println(str1); System.out.println(str); scanner.close(); }}

詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)

沒(méi)錯(cuò),和我們期望輸出結(jié)果一樣。

2、nextLine()易錯(cuò)點(diǎn)

2.1 nextLine()使用錯(cuò)誤案例

我們第一行使用next()進(jìn)行讀入,第二行使用nextLine()進(jìn)行讀入兩行字符串

輸入兩行字符串:我愛(ài)學(xué)JAVA我愛(ài)學(xué)JAVA 我真的很愛(ài)愛(ài)學(xué)JAVA

期望輸出結(jié)果:我愛(ài)學(xué)JAVA我愛(ài)學(xué)JAVA 我真的很愛(ài)愛(ài)學(xué)JAVA

package scanner;import java.util.Scanner;public class Sun_01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); String str2=scanner.nextLine(); System.out.println(str); System.out.println(str2); scanner.close(); }}

詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)

​ 會(huì)發(fā)現(xiàn),輸入臺(tái)輸入“我愛(ài)學(xué)JAVA'后接著輸出了,與我們期望輸出結(jié)果不一樣。

到底是因?yàn)槭裁茨兀?/b>

​ Scanner是一個(gè)掃描器,我們錄取到鍵盤的數(shù)據(jù),先存到緩存區(qū)等待讀取,它判斷讀取結(jié)束的標(biāo)示是 空白符;比如空格,回車,tab 等等。

​ next()方法讀取到空白符就結(jié)束,也就是讀取完“我愛(ài)學(xué)JAVA”;

​ nextLine()只讀取到回車結(jié)束也就是“r”;

通俗解釋為:因?yàn)閚ext()讀取到空白符前的數(shù)據(jù)時(shí)結(jié)束了,然后把回車“r”留給了nextLine();所以上面nextLine()沒(méi)有輸出,不輸出不代表沒(méi)數(shù)據(jù),是接到了空(回車“/r”)的數(shù)據(jù)。

正確的解決方式:

package scanner;import java.util.Scanner;public class Sun_01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.next(); String str1=scanner.nextLine(); String str2=scanner.nextLine(); System.out.println(str); System.out.println(str2); scanner.close(); }}

詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)

解決方式為多用一個(gè)nextLine()將換行讀入。

到此這篇關(guān)于詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)的文章就介紹到這了,更多相關(guān)Java next()和nextLine()內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 阿克苏市| 潮安县| 福海县| 德州市| 保山市| 万山特区| 邻水| 新兴县| 内黄县| 女性| 琼海市| 枞阳县| 赤水市| 蛟河市| 昌图县| 大悟县| 沁源县| 连云港市| 珠海市| 炉霍县| 凯里市| 舟曲县| 定襄县| 满洲里市| 苍南县| 大新县| 新干县| 双城市| 民丰县| 台湾省| 日喀则市| 从江县| 长乐市| 洪洞县| 阿克苏市| 莱西市| 白沙| 长沙县| 循化| 西和县| 汝南县|