So sánh next và nextline trong java năm 2024

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách dùng Scanner trong Java để nhập và xuất dữ liệu. Vậy có lúc nào các bạn nhận được một câu hỏi khi làm phần Java core rằng, hãy nhập và xuất dữ liệu từ bàn phím. Các bạn không biết và mơ hồ về cách sử dụng làm thế nào để nhập từ bàn phím? Câu trả lời là các bạn sử dụng Scanner trong Java nhé.Bài viết này sẽ giải đáp mọi thắc mắc cho các bạn!

Có thể hiểu Scanner bằng một ví dụ thực tiễn

So sánh next và nextline trong java năm 2024
[the_ad id=”3598″] Nhìn vào hình trên các bạn biết ngay rằng đây là một máy in? Chẳng liên quan gì đến bài mà chúng ta học hôm nay cả đúng không? Có. Thật ra Scanner trong Java các bạn cứ hiểu và tưởng tượng nó là một cái máy in, có thể nhập và xuất ra dữ liệu. Nghĩa là khi bạn muốn đi photo một giáy tờ giấy CMND, công việc đầu tiên chúng ta cần phải nhập vào thông tin để máy tin hiểu thông tin cần in là gì, sau đó chúng ta có kết quả tương ứng là một bản sao CMND, đó là xuất. Đến đây có lẽ hiểu cơ chế nhập và xuất dữ liệu với scanner trong Java rồi chứ? [the_ad id=”3598″]

Khi học một kiến thức gì đó, ngoài làm được các bạn phải hiểu để sau này áp dụng vào nhiều bài trong thực tế hơn, chứ không phải là làm được nhưng không hiểu. Với Scanner trong Java, giả sử khi có một yêu cầu như sau: Nhập vào một chuỗi trong java từ bàn phím? Với trường hợp này, chuỗi nhập từ người dùng nên chúng ta chưa biết trước là chuỗi gì cả. Lúc này các bạn sử dụng Scanner nhé. [the_ad id=”3598″]

Cách sử dụng Scanner

Để sử dụng được lớp Scanner (các phương thức của scanner trong java) thì các bạn cần import gói java.util.Scanner như sau:

import java.util.Scanner;

Để sử dụng các phương thức của lớp Scanner thì các bạn cần có đối tượng, vậy cách tạo đối tượng Scanner trong Java như sau:

Scanner input = new Scanner( System.in );

Bây giờ, chúng ta cần nhập dữ liệu vào với Scanner thì làm bằng cách nào? Chúng ta có thể nhập vào một chuỗi, nhập vào một số kiểu int, nhập vào một số kiểu số thực như float hay double, nhập ký tự… thì các bạn đã hình dủng ra được cách xử lý chưa? Khi chúng ta có đối tượng scanner tất nhiên chúng ta có quyền sử dụng các phương thức của lớp Scanner. Vậy các phương thức của lớp Scanner thường được sử dụng như sau:

Theo tôi các bạn chỉ cần học những phương thức này của lớp Scanner và áp dụng vào các bài toán thực tế thì quá đủ rồi:

Các phương thức thường được sử dụng của lớp Scanner trong Java:

Phương thức Mô tả public String next() Trả về kết quả nội dung trước khoảng trắng (String) public String nextLine() Trả về kết quả nội dung của một chuỗi nhập vào (String) public byte nextByte() Trả về kiểu dữ liệu byte public short nextShort() Trả về kiểu dữ liệu short public int nextInt() Trả về kiểu dữ liệu int public long nextLong() Trả về kiểu dữ liệu long public float nextFloat() Trả về kiểu dữ liệu float public double nextDouble() Trả về kiểu dữ liệu double

[the_ad id=”3598″]

Phân biệt phương thức next() và nextLine() trong scanner là gì?

Như vậy chúng ta đã có thể thực hiện được một bài toán nhập dữ liệu bằng Scanner được rồi đấy. Như các bạn thấy rằng ở trên, với lớp Scanner chúng ta có hai phương thức là .next() và .nextLine(). Cả hai phương thức này đều trả về kiểu dữ liệu là String vậy sự khác nhau giữa phương thức next() và nextLine() trong scanner là gì? chúng ta cùng xem một ví dụ bên dưới nhé:

package com.itphutran.demo; import java.util.Scanner; public class ScannerDemo1 { public static void main(String[] args) {

Scanner input = new Scanner(System.in);  
// sử dụng nextLine() => trả về kết quả một chuỗi  
System.out.println("Nhập vào họ và tên  : ");  
String fullname1 = input.nextLine();  
System.out.println("Họ tên bạn vừa nhập vào sử dụng method nextLine : "+fullname1);  
// sử dụng next() =>  
//Trả về kết quả nội dung trước khoảng trắng  
System.out.println("Nhập vào họ và tên  : ");  
String fullname2 = input.next();  
System.out.println();  
System.out.println("Họ tên bạn vừa nhập vào sử dụng method next : "+fullname2);  
} } Kết quả như hình dưới :

So sánh next và nextline trong java năm 2024

Qua đó, có lẽ bạn đọc đã nhận ra được sự khác biết giữa phương thức next() và nextLine() trong Sanner rồi đúng không nhỉ:

  • next() : Trả về kết quả nội dung trước khoảng trắng (String)
  • nextLine() : Trả về kết quả nội dung của một chuỗi nhập vào (String)

[the_ad id=”3598″] Ok.Bây giờ chúng ta cùng nhau làm một số bài tập về Scanner nhé:

Bài tập về Scanner trong Java

Bài 1: Nhập vào một tên một người yêu cũ.

Bài làm:

package com.itphutran.demo; import java.util.Scanner; public class ScannerDemo1 { public static void main(String[] args) {

Scanner input = new Scanner(System.in);  
System.out.println("Nhập vào tên người yêu cũ  : ");  
String mylove_old = input.nextLine();  
System.out.println("Tên người yêu cũ : "+mylove_old);  
} } Bài 2: Nhập vào hai số sau đó tính tổng của hai số đó và in ra kết quả.

package com.itphutran.demo; import java.util.Scanner; public class ScannerDemo1 { public static void main(String[] args) {

Scanner input = new Scanner(System.in);  
System.out.println("Nhập vào số thứ 1  : ");  
int so1 = input.nextInt();  
System.out.println("Nhập vào số thứ 2  : ");  
int so2 = input.nextInt();  
int kq = so1+ so2;  
System.out.println("Số thứ 1 : "+so1);  
System.out.println("Số thứ 1 : "+so2);  
System.out.println("------");  
System.out.println("Kết quả : "+kq);  
} } Bài 3: Nhập danh sách sinh viên trong java

Với sinh viên thì chúng ta có những biến như họ tên, tuổi và tên lớp. Tất nhiên thì chúng ta còn có những biến khác để nói lên thông tin của một sinh viên, tuy nhiên ở đây tôi chỉ lấy 3 đặc điểm của một sinh viên mà thôi.

package com.itphutran.demo; import java.util.Scanner; public class ScannerDemo1 { public static void main(String[] args) {

Scanner input = new Scanner(System.in);  
System.out.println("Nhập vào họ tên  : ");  
String hoten = input.nextLine();  
System.out.println("Nhập vào tuổi : ");  
int tuoi = input.nextInt();  
System.out.println("Nhập vào tên lớp  : ");  
String tenlop = input.nextLine();  
System.out.println(">> THÔNG TIN SINH VIÊN");  
System.out.println("Họ tên : "+hoten);  
System.out.println("Tuổi : "+tuoi);  
System.out.println("Tên lớp : "+tenlop);  
} } [the_ad id=”3598″] Chắc hẳn, bạn đọc học tập và tìm hiểu đến đây và làm phần bài tập thứ 3 này, có lẽ nhận ra được một điều là chúng ta không nhập được tên lớp đúng không? Lý do vì sao? Đây được gọi là trôi lệnh trong Java khi sử dụng Scanner.

Ở bài viết tiếp theo tôi sẽ hướng dẫn các bạn cách để xử lý trôi lệnh trong Java khi sử dụng Scanner nhé. Trước khi qua bài này , bạn đọc nhớ ôn tập và thực hành lại nhé.


Như vậy qua bài này chúng ta đã cùng nhau tìm hiểu về cách sử dụng scanner trong java dùng để nhập và xuất dữ liệu trong java, cũng như phân biệt được hai phương thức next() và nextLine() trong Scanner. Qua đó thực hiện những bài tập thực tế! Vấn đề trôi lệnh trong Java khi sử dụng Scanner tôi sẽ hướng dẫn các bạn sau bài này.

Chúc các bạn học tốt!

Xin chào! Tôi là Phú Trần.Kiến thức nền tảng và tư duy tốt về hướng đối tượng. Không ràng buộc ở ngôn ngữ mà căn bản ở giải thuật và tư duy con người. Lập trình JAVA/PHP.