Bài 7: Nhập/Xuất Trên Console





Thực ra bài hôm nay sẽ nói hơi xa hơn kiến thức của các bạn đã làm quen từ các bài học trước, kiến thức hôm nay có liên quan nhiều đến OOP (hướng đối tượng) mà bạn sẽ học ở các bài sau.
Các bạn thân mến đừng vội nản. Tuy kiến thức này sẽ được nói đến sau này, nhưng những gì được nói đến hôm nay có thể được xem như một “công cụ” để các bạn thực hành nhập/xuất thông qua Console. Hay nói cách khác đây là công cụ cho các bạn nhập dữ liệu vào từ bàn phím, sau đó chính bạn sẽ kết hợp các dữ liệu này vào các bài học của bạn sau này, rồi dùng công cụ này in ra màn hình Console.
Do đó khi thực hành các dòng code của bài này, tôi muốn các bạn chỉ cần nhớ cách dùng chúng, như là cách dùng các công cụ ở nhà bạn vậy, còn cách thức vận hành của chúng thì chúng ta sẽ nói đến ớ bài sau nhé.
Trước hết, nãy giờ chúng ta nhắc đến Console, vậy nó là gì?

Khái Niệm Console

Console có thể hiểu như là một bảng điều khiển chuyên dụng, chẳng hạn các bạn cũng biết đến các Game Console chính là các thiết bị chuyên cho việc điều khiển game, hay các trang web quản lý như quản lý nhân viên cũng có thể coi là các Console chuyên dụng cho việc quản lý.
Trong ngôn ngữ lập trình, Console được biết đến như là một cách điều khiển ứng dụng đơn thuần nhất thông qua các dòng text (dòng lệnh), nó được phân biệt với điều khiển bằng UI.
Chú ý: các bài học cho Java trong chương trình này đều dựa trên việc điều khiển bằng Console, nên nó sẽ khác với các ứng dụng Java có giao diện cụ thể bạn nhé, các bài học chủ yếu mang đến cho bạn kiến thức sử dụng ngôn ngữ Java (để có thể lập trình ứng dụng Android), hơn là lập trình ứng dụng Java nên sẽ không có giao diện hoành tráng. Bạn nên nhớ điều này.
Và Console trong chương trình học của chúng ta là đây.
Screen Shot 2016-11-01 at 13.37.07.png

Nhập/Xuất Trên Consolse

Để bắt đầu thực hành Nhập/Xuất Trên Console, bạn hãy mở Eclipse lên và khai báo một thể hiện của đối tượng Scannerthể hiện này bạn đặt tên tùy ý, việc khai báo một thể hiện như vậy sẽ thông qua một từ khóa new như sau.
1
Scanner scanner = new Scanner(System.in);
Khái niệm đối tượng và thể hiện bạn sẽ được làm quen sau này, còn giờ đây bạn hãy cứ gõ đúng như trên nhé. Khi đó tổng thể code của bạn như sau.
1
2
3
4
5
6
7
8
9
public class MyFirstClass {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
    }
}

Lan Man Về Cách Thức Bạn Code

Nếu bạn là người lần đầu tiên lập trình, chắc chắn sau khi gõ các dòng lệnh trên đây bạn sẽ thấy hệ thống báo lỗi giống như sau.
Screen Shot 2016-10-30 at 21.53.47.png
Đó là bởi vì trước đây bạn chỉ sử dụng các biến nguyên thủy, hoặc các đối tượng nằm trong packagejava.lang mà chúng ta không cần phải khai báo. Chà vậy khai báo ở đây là gì? khai báo ở đây đơn giản là một dòng import được để ở đầu file java của bạn, theo sau import là một package có chứa đối tượng mà chúng ta cần dùng, ở ví dụ trên chúng ta cần đến đối tượng Scanner. Việc import mộtpackage nào đó báo cho hệ thống biết chúng ta cần dùng đến các đối tượng bên trong package đó,package là gì thì chúng ta sẽ làm quen ở bài kế tiếp, còn hiện tại chúng ta cần import đúng package mà hệ thống cần trước nhé.
Để import đúng package có đối tượng Scanner cần dùng trên đây là một điều cực kỳ dễ dàng, có nhiều cách để thực hiện điều này, bạn hãy chọn một trong những cách sau nhé.

Crl + Space

Tổ hợp phím thần thánh này ai lập trình cũng phải biết, khi bạn đang gõ một đối tượng nào đó của hệ thống mà muốn chúng được tự động điền các chữ còn lại, và tất nhiên với Eclipse tổ hợp phím này cũng sẽ khuyến mãi cho bạn dòng import package của đối tưỡng đó một cách tự động luôn.
Giả sử bạn gõ dòng code trên đây, nhưng thay vì gõ hết tất tần tật như trên, bạn gõ vài chữ rồi nhấn Ctr + Space, bạn sẽ thấy gợi ý hoàn thành đối tượng, khi này đừng gõ tiếp mà hãy đảm bảo vệt sáng ở đối tượng đầy đủ trong danh sách gợi ý rồi nhấn Enter, như hình sau.
Screen Shot 2016-10-31 at 23.13.45.png
Với vệt sáng đang ở dòng đầu tiên Scanner, bạn nhấn Enter, kết quả dòng code được tự động hoàn thành và hệ thống cũng import sẵn package java.util.Scanner cho bạn mà bạn không cần phải nhớ chúng là ai và từ đâu đến đúng không nào. Bạn thử gõ hết câu lệnh trên nhưng lần này siêng nhấn Ctr + Space ở mỗi từ (scannernewScannerSystem) xem sao nhé. Kết quả sẽ không còn lỗi nữa.
Screen Shot 2016-10-31 at 23.20.19.png

Sử Dụng Gợi Ý Từ Eclipse

Mỗi khi bạn gõ sai gì đó, đừng lo lắng, Eclipse luôn giúp bạn xác định lỗi và cách gỡ lỗi. Bạn hãy để ý nếu thanh bên trái của editor xuất hiện hình cái bóng đèn cùng với dấu X màu đỏ, là khi Eclipse đã xác định ra lỗi, bạn chỉ cần click chuột vào bóng đèn này sẽ thấy Eclipse gợi ý như hình sau.
Screen Shot 2016-10-31 at 23.26.40.png
Còn chờ gì nữa mà không chọn Import ‘Scanner’ (java.util), điều này có nghĩa là Eclipse đã hỏi bạn cho phép import package java.util.Scanner hay không rồi đó.

Import Thủ Công

Tất nhiên cách này dành cho bạn nào biết chính xác class này nằm trong package nào rồi nên bạn có thể gõ import một cách thủ công.
Lan man hơi dài rồi, quay trở lại với việc vừa khai báo đối tượng Scanner trên kia, dòng tiếp theo bạn chỉ cần gọi scanner.nextXxx(); thì khi bạn chạy chương trình, ở tại dòng biên dịch này, Console sẽ xuất hiện con nháy chờ người dùng nhập vào một giá trị có kiểu dữ liệu là Xxx rồi mới tiến hành gán giá trị này vào biến tương ứng và thực hiện tiếp các câu lệnh bên dưới.
Bạn hãy thử vài ví dụ sau cho từng scanner.nextXxx(); cụ thể nhé.

Ví Dụ Nhập Dữ Liệu Kiểu Chuỗi

Với ví dụ này bạn thử cho người dùng nhập vào tên của họ từ Console rồi in ra dòng xin chào ngay trên Console như sau.
Để đợi người dùng nhập vào tên bạn gõ dòng sau vào sau khi khai báo scanner.
1
String name = scanner.nextLine();
Khi đó tên người dùng nhập vào từ Console sẽ được gán vào biến kiểu String (đây là kiểu chuỗi mà bạn sẽ được làm quen sau) có tên là name. Nhưng để dễ dàng hơn cho người dùng, chúng ta nên có các dòng System.out để in ra chỉ dẫn cho người dùng nhập tên, và in ra dòng chào hỏi cuối chương trình. Code tổng thể của chúng ta như sau.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;;
public class MyFirstClass {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        System.out.println("Please enter your name here: ");
        String name = scanner.nextLine();
        System.out.println("Hello! " + name);
    }
}
Khi này nếu bạn chạy chương trình, chỉ có dòng text “Please enter your name here: “ xuất hiện, đừng tắt cửa sổ Console nhé, hãy tiếp tục nhập vào một text, sau khi Enter bạn sẽ nhận được một text nữa in ra với nội dung “Hello!” và text bạn vừa nhập, text in ra đó chính là nội dung biến name đượcscanner lấy dữ liệu từ Console rồi gán vào đấy.
Screen Shot 2016-10-31 at 23.46.03.png

Ví Dụ Nhập Dữ Liệu Kiểu int

Tương tự nếu ví dụ này hỏi người dùng nhập tuổi, bạn cũng nên có câu in ra gợi ý, dòngscanner.nextInt(), và dòng in ra kết quả như sau.
1
2
3
System.out.println("How old are you? ");
int age = scanner.nextInt();
System.out.println("Your age is: " + age);

Ví Dụ Nhập Dữ Liệu Kiểu Float

Scanner hỗ trợ nhập cho tất cả các kiểu dữ liệu nguyên thủy, ví dụ này nhập vào kiểu float và bạn hoàn toàn có thể áp dụng cho các kiểu dữ liệu nguyên thủy còn lại.
1
2
3
System.out.println("How about your salary? ");
float salary = scanner.nextFloat();
System.out.println("Your salary is: " + salary);
Bạn vừa cùng tôi thực hành các câu lệnh nhập/xuất đáng giá từ console, hãy xem chúng giúp ích gì cho chúng ta ở các bài học kế tiếp nhé.

Bài Kế Tiếp

Bạn sẽ thực hành các câu điều kiện trong Java.
Java Bài 8: Đang Được Viết Tiếp… →


                           Nguồn : yellowcodebooks.com


Đăng nhận xét

Cảm Ơn Bạn Đã Để Lại Bình Luận

 

Quản Trị Viên

Lượt xem

Lên Trên