- Sản phẩm & Dịch vụSản phẩm & Dịch vụ
- Giải phápGiải pháp
- Bảng giáBảng giá
- Công tyCông ty
- Tài liệuTài liệu
vi
vi
Chuyên mục với các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.
Web Developer
I’m passionate about web development and sharing my insights through articles, with over 8 years of experience. I hope these sharings inspire you and help build a strong web development community. @#@ Tôi đam mê phát triển web và chia sẻ những hiểu biết của mình thông qua các bài viết, với hơn 8 năm kinh nghiệm. Tôi hy vọng những chia sẻ này sẽ truyền cảm hứng cho các bạn và giúp xây dựng một cộng đồng phát triển web mạnh mẽ.
Thảo luận (0)
Đăng nhập để thảo luận
Hôm nay chúng ta sẽ tìm hiểu những kiến thức cơ bản về Java REPL (jshell) trong Java 9 và chạy một số chương trình thử nghiệm trong giao diện jshell.

Trước tiên, hãy thử hiểu tại sao REPL lại được thêm vào trong Java, và nếu nó quan trọng đến vậy thì tại sao lại xuất hiện muộn như vậy. Như bạn biết, Scala đã trở nên rất phổ biến trong việc phát triển từ ứng dụng nhỏ đến ứng dụng quy mô lớn nhờ các tính năng và ưu điểm của nó. Nó hỗ trợ multi-paradigm (Object-Oriented và Functional Programming) và REPL. Oracle Corporation đang cố gắng tích hợp hầu hết các tính năng của Scala vào Java. Họ đã tích hợp một số tính năng của functional programming vào Java 8, chẳng hạn như lambda expressions. Một trong những tính năng tốt nhất của Scala là REPL (Read-Evaluate-Print-Loop). Đây là một command line interface và Scala Interpreter để thực thi các chương trình Scala. Rất dễ dàng để sử dụng Scala REPL nhằm học những kiến thức cơ bản của lập trình Scala và thậm chí chạy các đoạn code thử nghiệm nhỏ. Nhờ có Scala REPL và những lợi ích của nó trong việc giảm độ khó khi học cũng như sự tiện lợi khi chạy code thử, Java REPL đã được giới thiệu trong Java 9.
Ứng dụng Java REPL có tên là jshell. JShell là viết tắt của Java Shell.
jshell là một công cụ interactive để thực thi và đánh giá các chương trình Java đơn giản như khai báo biến (variable declarations), câu lệnh (statements), biểu thức (expressions), các chương trình nhỏ (simple programs), v.v.
Hãy mở dấu nhắc lệnh (command prompt) và kiểm tra phiên bản Java để chắc chắn rằng bạn đang sử dụng Java 9 hoặc cao hơn, bởi chỉ từ phiên bản này trở đi bạn mới có thể dùng jshell.

Bây giờ, đã đến lúc thực thi một vài ví dụ Java đơn giản để trải nghiệm công cụ Java REPL.
pankaj:~ pankaj$ jshell
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell>
jshell> System.out.println("Hello World");
Hello World
jshell> String str = "Hello JournalDev Users"
str ==> "Hello JournalDev Users"
jshell> str
str ==> "Hello JournalDev Users"
jshell> System.out.println(str)
Hello JournalDev Users
jshell> int counter = 0
counter ==> 0
jshell> counter++
$6 ==> 0
jshell> counter
counter ==> 1
jshell> counter+5
$8 ==> 6
jshell> counter
counter ==> 1
jshell> counter=counter+5
counter ==> 6
jshell> counter
counter ==> 6
jshell>

Như được minh họa trong các ví dụ Java REPL ở trên, việc phát triển chương trình “Hello World” rất dễ dàng. Chúng ta không cần phải định nghĩa “public class” và phương thức public static void main(String[] args) chỉ để in ra một thông báo.
Lưu ý: Chúng ta không cần sử dụng “dấu chấm phẩy” (“semicolons” ) cho các câu lệnh đơn giản như trong sơ đồ trên.
Chúng ta cũng có thể định nghĩa và thực thi các class methods trong Java REPL shell.
jshell> class Hello {
...> public static void sayHello() {
...> System.out.print("Hello");
...> }
...> }
| created class Hello
jshell> Hello.sayHello()
Hello
jshell>

Để mở phần trợ giúp của công cụ jshell, sử dụng lệnh /help. Để thoát khỏi jshell, sử dụng lệnh /exit.
jshell> /help
| Type a Java language expression, statement, or declaration.
| Or type one of the following commands:
| /list [<name or id>|-all|-start]
| list the source you have typed
| /edit <name or id>
...
jshell> /exit
| Goodbye
pankaj:~ pankaj$
Chúng ta cũng có thể sử dụng tổ hợp phím Ctrl + D để thoát khỏi công cụ jshell. Như vậy là toàn bộ phần cơ bản về Java REPL và công cụ jshell, đọc thêm tại jshell – java shell. Tham khảo: JEP 222.