国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - Java中Scanner類與BufferReader類的不同點(非常詳細)

Java中Scanner類與BufferReader類的不同點(非常詳細)

2020-06-04 11:59crane-yuan JAVA教程

這篇文章主要介紹了Java中Scanner類與BufferReader類的不同點(非常詳細)的相關資料,需要的朋友可以參考下

java.util.Scanner類是一個簡單的文本掃描類,它可以解析基本數據類型和字符串。它本質上是使用正則表達式去讀取不同的數據類型。

Java.io.BufferedReader類為了能夠高效的讀取字符序列,從字符輸入流和字符緩沖區讀取文本。

下面是兩個類的不同之處:

當nextLine()被用在nextXXX()之后,用Scanner類有什么問題

嘗試去猜測下面代碼的輸出內容;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Code using Scanner Class
import java.util.Scanner;
class Differ
{
public static void main(String args[])
{
Scanner scn = new Scanner(System.in);
System.out.println("Enter an integer");
int a = scn.nextInt();
System.out.println("Enter a String");
String b = scn.nextLine();
System.out.printf("You have entered:- "
+ a + " " + "and name as " + b);
}
}

Input:

50
Geek

Output:

Enter an integer
Enter a String
You have entered:- 50 and name as

讓我們嘗試使用BufferReader類,并且使用相同的輸入

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Code using BufferedReader Class
import java.io.*;
class Differ
{
public static void main(String args[])
throws IOException
{
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println("Enter an integer");
int a = Integer.parseInt(br.readLine());
System.out.println("Enter a String");
String b = br.readLine();
System.out.printf("You have entered:- " + a +
" and name as " + b);
}
}

Input:

50
Geek

Output:

Enter an integer
Enter a String
you have entered:- 50 and name as Geek

在Scanner類中如果我們在這任何7個nextXXX()方法之后調用nextLine()方法,這nextLine()方法不能夠從控制臺讀取任何內容,并且,這游標不會進入控制臺,它將跳過這一步。這nextXXX()方法是這些方法,nextInt(),nextFloat(), nextByte(), nextShort(), nextDouble(), nextLong(), next()。

在BufferReader類中就沒有那種問題。這種問題僅僅出現在Scanner類中,由于nextXXX()方法忽略***換行符***,但是,nextLine()并不忽略它。如果我們在nextXXX()方法和nextLine()方法之間使用超過一個以上的nextLine()方法,這個問題將不會出現了;因為nextLine()把換行符消耗了。可以參考這個程序的正確寫法(http://code.geeksforgeeks.org/CErAhD)。這個問題和C/C++(http://www.geeksforgeeks.org/problem-with-scanf-when-there-is-fgetsgetsscanf-after-it/)中的scanf()方法緊跟gets()方法的問題一樣。

其他的不同點:

•BufferedReader是支持同步的,而Scanner不支持。如果我們處理多線程程序,BufferedReader應當使用。

•BufferedReader相對于Scanner有足夠大的緩沖區內存。

•Scanner有很少的緩沖區(1KB字符緩沖)相對于BufferedReader(8KB字節緩沖),但是這是綽綽有余的。

•BufferedReader相對于Scanner來說要快一點,因為Scanner對輸入數據進行類解析,而BufferedReader只是簡單地讀取字符序列。

以上所述是小編給大家介紹的Java中Scanner類與BufferReader類的不同點(非常詳細),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://www.cnblogs.com/VioletLove/archive/2016/08/17/5778825.html

延伸 · 閱讀

精彩推薦
562
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美精品一区视频 | 成人午夜精品 | 久久久亚洲国产天美传媒修理工 | 国产嫩草91| 精品亚洲一区二区三区四区五区 | 天天澡天天狠天天天做 | 久久一精品| 在线看国产 | 久久亚洲一区 | 亚洲精品成人 | 成人午夜视频网 | 日本精品一区二区三区在线观看视频 | 久久久久av | 中文字幕亚洲欧美日韩在线不卡 | 二区三区在线 | 色伊人| 午夜色播 | 精品国产青草久久久久福利 | 羞涩网站| av一区二区三区 | 日韩中文字幕av | 综合自拍 | 国产日产欧产美韩av | 午夜电影网址 | 成人福利网 | 亚洲欧美精品 | 欧美专区在线 | 国产日韩欧美在线观看 | 日韩电影二区 | 欧美在线观看免费观看视频 | 久久久成人动漫 | 欧美日韩精品一区二区三区四区 | 日韩视频在线免费播放 | 日本在线免费观看 | 欧美日韩一级二级三级 | 日本淫片 | 国产一级一级国产 | 成人午夜精品久久久久久久网站 | 久久精品一区 | 欧美日韩高清在线 | 欧美精品一区二区三区四区在线 |