Java jshell REPL: Etkileşimli Ortam ile Hızlı Kod Testi
🧠 Bu Rehberde Ne Öğreneceksiniz?
Bu rehber, Java 9 sürümüyle gelen jshell aracını tanıtır.
JShell, Read–Evaluate–Print–Loop (REPL) yaklaşımıyla çalışan etkileşimli bir Java kabuğudur.
IDE’ye gerek kalmadan, tek satırda Java ifadelerini test edebilir, küçük kod parçalarını anında çalıştırabilirsiniz.
💡 Neden jshell?
Java, uzun yıllar “derlemeden kod çalıştıramama” eleştirilerine maruz kaldı.
Scala ve Python gibi dillerin sunduğu REPL ortamları, öğrenme sürecini hızlandırırken Java’da bu imkan yoktu.
Java 9 ile gelen jshell, tam olarak bu eksikliği giderdi.
Avantajları:
public static void mainyazmadan kodu test etme- Noktalı virgül olmadan hızlı ifade çalıştırma
- Anlık değişken tanımlama ve hesaplama yapabilme
- Kod bloğu, sınıf veya metot testleri
⚙️ 1. jshell Nasıl Başlatılır?
Java 9 veya üstü bir sürüm kuruluysa terminalde şu komutu yaz:
jshell
Çıktı:
| Welcome to JShell -- Version 9
| For an introduction type: /help intro
jshell>
Bu arayüz, artık Java ifadelerini doğrudan yazıp çalıştırabileceğiniz etkileşimli bir ortamdır.
🧩 2. Basit İfadeleri Çalıştırma
Klasik public class yapısına gerek olmadan değişkenleri veya ifadeleri test edin:
jshell> System.out.println("Merhaba Rabisu Geliştiricileri")
Merhaba Rabisu Geliştiricileri
jshell> String projeAdi = "RabisuCloud-TR"
projeAdi ==> "RabisuCloud-TR"
jshell> int sayac = 5
sayac ==> 5
jshell> sayac++
$6 ==> 5
jshell> sayac
sayac ==> 6
💬 Not: Basit ifadelerde ; zorunlu değildir, ancak karmaşık kod bloklarında kullanılmalıdır.
🧱 3. Sınıf ve Metot Tanımlama
jshell yalnızca ifadeler değil, sınıf ve metot tanımları da destekler:
jshell> class Uygulama {
...> public static void mesajVer() {
...> System.out.println("Uygulama Basladi");
...> }
...> }
| created class Uygulama
jshell> Uygulama.mesajVer()
Uygulama Basladi 💡 Bu örnek, derleme işlemi olmadan bir sınıfın doğrudan bellekte oluşturulabileceğini gösterir.
🔍 4. Yardım ve Çıkış Komutları
Tüm jshell komutlarını görmek için:
/help
Oturumu kapatmak için:
/exit
Alternatif olarak Ctrl + D kısayolunu da kullanabilirsiniz.
🧭 5. Sıkça Sorulan Sorular (SSS)
- jshell kullanmak için IDE gerekli mi?
Hayır. jshell, doğrudan komut satırında çalışır ve IDE’ye gerek duymaz.
- Neden Java’ya REPL eklendi?
Scala gibi dillerin sunduğu etkileşimli kod test ortamının Java’da da olması hedeflendi.
- Noktalı virgül her zaman gerekli mi?
Hayır, basit ifadelerde gereksizdir. Ancak karmaşık yapılar veya döngülerde önerilir.
- jshell hangi Java sürümünde gelir?
Java 9 ve üzeri sürümlerde varsayılan olarak bulunur.
- Büyük projelerde jshell kullanılabilir mi?
Hayır, jshell hızlı testler içindir. Gerçek projeler için IDE veya build sistemi gerekir.
🚀 Sonuç
jshell, Java geliştiricilerinin öğrenme sürecini hızlandıran güçlü bir araçtır. Anında geri bildirim sağlar, küçük testler için mükemmeldir.
Yeni özellikleri ve Java sürümlerini güvenli bir ortamda test etmek için Rabisu Bulut platformunda kendi sanal sunucunuzu (instance) oluşturabilir, Java 9 ve sonrası yenilikleri anında deneyebilirsiniz.