Java Main() Method

Java Main() Method

Table of contents

Arkadaşlar merhaba,

Bu yazımızda Java'da uygulamının çalışması olmazsa olmaz main method örneklerine bakacağız.

Bir java uygulaması main() methodu ile çalışmaya başlar.

Main() methodu, Java Sanal Makinesi (JVM) tarafından yönetilen bir Java işleminin başlatılması ile

programcı kodunun başlangıcı arasındaki ağ geçididir.

public class MainExample {
    public static void main(String[] args) {

    }  
}
  • Çalışma zamanı daima main metot’dan başlar.
  • Java'nın main() methodunu çağırmak için bir nesne oluşturulmasına gerek yoktur.
  • Programı çalıştırmak için java komutuna main metodunun içinde olduğu sınıfın ismi geçilir.
  • Değişken adı args ile bu listenin JVM başladığında argümanlar içinde okunan değerleri içerdiğini gösterir
  • main metod static değil ise hata fırlatır.
  • public değil ise hata fırlatır.

Metod hiç bir şekilde değiştirilmeden aşağıdaki 3 şekilden 1'i gibi yazılmalıdır.Bu yazımlar dışındaki yazım şekilleri hatalıdır.

  1. public static void main(String[] args){...}

  2. public static void main(String args[]){...}

  3. public static void main(String . . . args){...}

Fakat önceki örnek ortak args parametre adını kullanırken, istediğiniz herhangi bir geçerli değişken adını kullanabilirsiniz. Aşağıdaki üçüne de izin verilir.

-String[] options

-String options []

-String... options;

Parametre Geçme

public class MainExample {
    public static void main(String[] args) {
        System.out.println(args[0]);
        System.out.println(args[1]);
    }  
}

Komut satırı üzerinden de önce javac MainExample.java komutu ile compiler ediyorum.

Daha sonra java MainExample Dog Zoo şeklinde argümanları geçiyorum.

Çıktı olarak iki argümana geçtiğim Dog Zoo yazdırılacaktır.

java MainExample "San Diego" Zoo tırnak işareti ile boşluk bırakılır.

San Diego
Zoo

şeklinde çıktı verecektir.

Tüm komut satırı bağımsız değişkenleri, sayı gibi başka bir veri türünü temsil etseler bile, String nesneleri olarak kabul edilir.

Diğer bir örnekte argüman olarak San Diego Zoo geçildi.0'a San 1'e Diego geçecektir.

System.out.println(args[2] şeklinde bir argüman okunmadı için Zoo boş bırakılır.Sadece San geçilir ise [1]'ni argümanda java 2'inci bir argümanı bulamadığı için hata verir.

San
         Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
         at OCP/Chapter1.MainExample..main(MainExample..java:34)

Java 11'den itibaren, bir programı derlemeden, yani javac komutunu yazmadan çalıştırabilirsiniz.

Java SingleFileZoo.java Ankara

şeklinde çalıştırılabilir.

Doğrudan çalıştırırken, dosyanın adını java komutuna iletebilirsiniz.Yalnızca programınız bir dosya ise kullanılabilir.Buna single-file source-code denir.

Bu, programınızın iki .java dosyası varsa, yine de javac komutunu kullanmanız gerektiği anlamına gelir.