Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách tránh lỗi biên dịch trong JShell Java 9

JShell (REPL Java 9) thực thi code và hiển thị kết quả tức thì. Nếu dùng biến chưa khai báo, JShell báo lỗi biên dịch với dấu ^--^ chỉ vị trí lỗi.

Ví dụ lỗi: dùng biến chưa khai báo

jshell> int div = num1 / num2
|  Error:
|  cannot find symbol
|  symbol: variable num1
|  int div = num1 / num2;
|  ^^
|  Error:
|  cannot find symbol
|  symbol: variable num2
|  int div = num1 / num2;
|  ^^

Sửa: khai báo biến trước

jshell> int num1 = 35
num1 ==> 35
jshell> int num2 = 7
num2 ==> 7
jshell> int div = num1 / num2
div ==> 5

Nguyên tắc tránh lỗi

  • Khai báo trước, dùng sau: JShell thực thi tuần tự, biến phải tồn tại trước khi dùng.
  • Chú ý dấu ^--^: Chỉ chính xác vị trí lỗi trong dòng code.
  • Sửa ngay tại chỗ: Gõ lại dòng code đúng, JShell sẽ ghi đè snippet cũ.
  • Dùng /list xem lại các snippet đã nhập.
  • Dùng /edit mở editor ngoài để sửa code phức tạp.

Đặc điểm JShell vs Java thường

Đặc điểmJava thườngJShell
Biến chưa khai báoLỗi compile-timeLỗi runtime (khi gõ dòng đó)
Sửa lỗiSửa file → compile lạiGõ lại dòng → kết quả ngay
Trạng tháiMỗi run độc lậpGiữ trạng thái giữa các snippet

JShell cho phép "trial-and-error" nhanh: sai thì sửa ngay, không cần chu trình compile-run đầy đủ.