× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

Lớp Scanner trong Java - Phương thức và hàm tạo lớp Scanner trong Java

03/11/2021 13:29

Trong những bài viết trước, chúng ta tìm hiểu về từ khóa triển khai trong Java. Trong bài viết này, chúng ta sẽ thảo luận về một lớp đặc biệt trong Java đó là Lớp Scanner Java. Chắc hẳn, bạn đã biết cách in thông tin lên màn hình của người dùng bằng chương trình Java, nhưng nếu có nhu sử dụng lấy đầu vào từ người dùng trong khi viết chương trình, bạn có thể sử dụng lớp Scanner trong Java. Trong bài viết này, chúng ta sẽ tìm hiểu về lớp này cùng phương thức của nó và các ví dụ đi kèm.

 

Lớp Scanner trong Java

java scanner la gi

Lớp Scanner trong Java là một lớp được xác định trước giúp chúng ta lấy đầu vào từ người dùng. Lớp này có trong gói java.util và chúng ta cần nhập gói này vào bên trong chương trình Java của mình để sử dụng lớp này. Có nhiều phương thức được xác định trước trong lớp java.util.Scanner để thực hiện các hoạt động khác nhau như đọc và phân tích cú pháp các kiểu nguyên thủy khác nhau. Về cơ bản, chúng ta phải tạo đối tượng của lớp Scanner để sử dụng các phương thức này. Lớp Scanner cũng có thể phân tích cú pháp chuỗi và kiểu nguyên thủy bằng cách sử dụng biểu thức chính quy.

Lớp Scanner trong Java mở rộng lớp Object và triển khai các giao diện Cloneable và Iterator.

Nhập lớp Scanner trong Java

Để sử dụng các phương thức và chức năng của lớp Scanner, chúng ta cần đưa lớp vào chương trình Java của mình bằng cách nhập gói java.util bằng cách sử dụng từ khóa import ở đầu mã.

Chúng ta có thể làm điều đó theo hai cách sau:

  1. import java.util.Scanner;

//nhập lớp Scanner trong Java

  1. import java.util.*;

//nhập tất cả các lớp của gói trong java.util 

Sử dụng lớp Scanner trong Java

Sau khi nhập lớp Scanner, chúng ta phải lấy thể hiện của lớp này để đọc đầu vào từ người dùng. Chúng ta sẽ tạo một cá thể và chuyển Input Stream System.in trong khi tạo cá thể như sau:

Scanner ScannerObject = new scanner (System.in);

Ởđây, bằng cách viết Scanner scannerObject, chúng ta đang khai báo scannerObject là đối tượng của lớp máy quét. System.in biểu thị rằng đầu vào sẽ được cấp cho Hệ thống.

>>> Đọc thêm: Tham khảo khóa học lập trình Java

Hàm tạo của lớp Scanner trong Java

Lớp Scanner chứa các hàm tạo cho các mục đích cụ thể mà chúng ta có thể sử dụng trong chương trình Java của mình.

 

STT

Hàm tạo

Mô tả

1

Scanner (Nguồn tệp)

tạo đối tượng Scanner tạo ra các giá trị được quét từ tệp được chỉ định

2

Scanner (File source, String charsetName)

xây dựng đối tượng Scanner tạo ra các giá trị được quét từ tệp được chỉ định

3

Scanner (InputStream source)

tạo một đối tượng Scanner mới tạo ra các giá trị được quét từ luồng đầu vào được chỉ định.

4

Scanner (InputStream source, String charsetName)

tạo một Scanner mới tạo ra các giá trị được quét từ luồng đầu vào được chỉ định.

5

Scanner (Readable source)

tạo một Scanner mới tạo ra các giá trị được quét từ nguồn được chỉ định.

6

Scanner (String source)

tạo một Scanner mới tạo ra các giá trị được quét từ chuỗi được chỉ định.

7

Scanner (ReadableByteChannel source)

tạo một Scanner mới tạo ra các giá trị được quét từ kênh được chỉ định.

8

Scanner (ReadableByteChannel source, String charsetName)

tạo một Máy quét mới tạo ra các giá trị được quét từ kênh được chỉ định.

9

Scanner (Path source)

tạo một Scanner mới tạo ra các giá trị được quét từ tệp được chỉ định.

10

Scanner (Path source, String charsetName)

tạo một Scanner mới tạo ra các giá trị được quét từ tệp được chỉ định

>>> Đọc thêm: Lập trình Socket trong Java - Nâng cấp kỹ năng lập trình Java của bạn

Phương thức của lớp Scanner trong Java

Dưới đây là một số phương thức quan trọng của lớp Scanner trong Java



STT

Tên phương thức

Mô tả

1

boolean nextBoolean ()

đọc giá trị boolean từ người dùng.

2

byte nextByte()

đọc giá trị byte từ người dùng

3

double nextDouble()

chấp nhận đầu vào trong kiểu dữ liệu kép từ người dùng.

4

float nextFloat()

nhận giá trị float từ người dùng.

5

int nextInt()

quét đầu vào kiểu int từ người dùng.

6

String nextLine()

đọc giá trị Chuỗi từ người dùng.

7

long nextLong()

đọc loại giá trị dài từ người dùng.

8

short nextShort()

đọc loại giá trị ngắn từ người dùng.

9

char next()

đọc đầu vào ký tự từ người dùng.

>>> Đọc thêm:  Toán tử trong Java - Tìm hiểu các loại toán tử trong Java

Phương thức hasNextDataType của Java

Có những lúc chúng ta cần kiểm tra xem giá trị tiếp theo mà chúng ta đọc có thuộc một loại nào đó không hoặc đầu vào có EOF hay không. Sau đó, chúng ta kiểm tra xem đầu vào của máy quét có thuộc loại chúng ta muốn hay không với sự trợ giúp của các hàm hasNextXYZ () trong đó XYZ là kiểu dữ liệu mà chúng ta muốn sử dụng. Phương thức trả về true nếu máy quét có mã thông báo thuộc loại đó, ngược lại trả về false. Có một số phương thức boolean cho mỗi loại dữ liệu. Để kiểm tra xem mã thông báo tiếp theo của một loại dữ liệu cụ thể có sẵn trong đầu vào nhất định hay không. Bảng sau đây cho thấy chúng:

 

Phương thức

Mô tả

boolean hasNextBoolean ()

Phương pháp này kiểm tra xem mã thông báo tiếp theo trong đầu vào của máy quét này có hiểu là Boolean bằng phương thức nextBoolean () hay không.

boolean hasNextByte ()

Phương pháp này kiểm tra xem mã thông báo tiếp theo trong đầu vào của máy quét này có hiểu là Byte bằng cách sử dụng phương thức nextByte () hay không.

boolean hasNextDouble ()

Phương pháp này kiểm tra xem mã thông báo tiếp theo trong máy quét này có phải là đầu vào BigDecimal bằng cách sử dụng phương thức nextBigDecimal () hay không.

boolean hasNextFloat ()

Phương pháp này kiểm tra xem mã thông báo tiếp theo trong đầu vào của máy quét này có hiểu là một Float bằng cách sử dụng phương thức nextFloat () hay không.

boolean hasNextInt ()

Phương thức này kiểm tra xem mã thông báo tiếp theo trong đầu vào của máy quét này có hiểu là một int sử dụng phương thức nextInt () hay không.

boolean hasNextLine ()

Phương pháp này kiểm tra xem có dòng khác trong đầu vào của máy quét này hay không.

boolean hasNextLong ()

Phương thức này kiểm tra xem mã thông báo tiếp theo trong đầu vào của máy quét này có hiểu là Long bằng phương thức nextLong () hay không.

 

Kết luận: Lớp Scanner là một cách hữu dụng giúp lập trình viên lấy đầu vào người dùng trong chương trình. Bài viết trên đã giới thiệu tới bạn về lớp Scanner trong Java và các phương thức và hàm tạo của lớp Scanner. Hy vọng bạn có thể hiểu rõ hơn về Scanner trong Java qua bài viết này. Tìm hiểu thêm về Java và các ngôn ngữ lập trình khác qua các khóa học lập trình tại T3H bạn nhé!