Skip to main content

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 main yazmadan 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)

  1. jshell kullanmak için IDE gerekli mi?

Hayır. jshell, doğrudan komut satırında çalışır ve IDE’ye gerek duymaz.

  1. Neden Java’ya REPL eklendi?

Scala gibi dillerin sunduğu etkileşimli kod test ortamının Java’da da olması hedeflendi.

  1. Noktalı virgül her zaman gerekli mi?

Hayır, basit ifadelerde gereksizdir. Ancak karmaşık yapılar veya döngülerde önerilir.

  1. jshell hangi Java sürümünde gelir?

Java 9 ve üzeri sürümlerde varsayılan olarak bulunur.

  1. 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.