Nếu các bạn đã từng làm việc với các ngôn ngữ như Python, Scala, các bạn sẽ biết chúng ta có thể viết code và thực thi code cho các ngôn ngữ đó sử dụng chỉ với command line. Điều này sẽ giúp cho chúng ta có thể test một đoạn code nào đó mà không cần phải thao tác nhiều thứ, chỉ đơn giản là viết code và thực thi. Chức năng này còn được gọi với tên gọi là REPL, Read-Eval-Print-Loop (Đọc-Đánh giá-In-Lặp). Nắm bắt được nhu cầu thiết yếu đó, từ phiên bản 9, Java đã giới thiệu cho chúng ta một công cụ tương tự với tên gọi là JShell. Cụ thể nó như thế nào, chúng ta hãy cùng nhau tìm hiểu nó trong bài viết này nhé các bạn!
Để khởi động JShell, các bạn chỉ cần mở Terminal lên rồi nhập câu lệnh sau:
1 |
jshell |
Thử viết 1 dòng lênh System.out.print() xem các bạn!
Các bạn thấy đó, sử dụng JShell chúng ta ko cần phải tạo mới class, thêm hàm main rồi bấm run. Tất cả chỉ đơn giản là những gì chúng ta muốn chương trình thực hiện, bỏ đi các thao tác rườm ra không cần tiết.
Để tìm hiểu những gì JShell có thể làm cho chúng ta, các bạn có thể nhập dòng lệnh “/help”.
Ở đây, các bạn sẽ thấy JShell có thể làm rất nhiều thứ cho chúng ta.
Ví dụ như câu lệnh import trong Java mà chúng ta thường hay sử dụng, JShell hỗ trợ cho chúng ta bằng cách import sẵn một số package, và do đó khi sử dụng chúng ta không cần khai báo những package đó bằng câu lệnh import nữa. Để kiểm tra những package mà JShell đã import sẵn, các bạn có thể nhập câu lệnh sau:
Ví dụ bình thường, khi sử dụng đối tượng Stream trong IDE, chúng ta sẽ viết code như sau:
1 2 3 4 5 6 7 8 9 10 11 12 |
package com.huongdanjava.javastream; import java.util.stream.Stream; public class Example { public static void main(String[] args) { Stream.of(1,2,3,4,5,6,7,8,9,10) .takeWhile(i -> i < 5) .forEach(System.out::println); } } |
Trong JShell thì đơn giản chỉ là:
JShell cũng hỗ trợ tốt đối với các method.
Ví dụ mình định nghĩa một method sum() như sau:
Khi đó, mình có thể gọi để sử dụng method sum() như sau:
Các bạn để ý là sau khi thực thi code, nếu kết quả có trả về một giá trị nào đó thì JShell sẽ tự động gán giá trị đó vào một biến. Như ví dụ về method sum() của mình, sau khi thực thi đoạn code sum(2, 3), giá trị trả về sẽ được gán vào biến $3.
Chúng ta có thể sử dụng lại các biến này. Ví dụ mình có thể in lại giá trị của biến $3 như sau:
Để thoát khỏi JShell, các bạn chỉ cần nhập “/exit”.