Java'da Komut Satırı Argümanları [Örnekle]
Yayınlanan: 2021-03-03Java programlarınızı yazarken, main() yöntemindeki (String[] args) ifadesini fark etmiş olmalısınız. Bunlar, ana yönteme iletilen dizede saklanan komut satırı bağımsız değişkenleridir. Bu argümanlara komut satırı argümanları denir.
Uygulamanızın her çalıştırmada aynı şeyi yapmasını istemediğiniz için komut satırı bağımsız değişkenlerini kullanmak oldukça yaygındır. Davranışını bir şekilde yapılandırmak istiyorsak, komut satırı argümanlarını kullanmamız gerekecek.
İçindekiler
Komut Satırı Argümanlarının Kullanımı Nedir?
Bu komut satırı bağımsız değişkenleri konsoldan iletilir. Java programında girdi olarak kullanılmak üzere alınabilirler. Bir dizide saklandığı için istediğimiz kadar argüman iletebiliriz. İşte komut satırı argümanlarını nasıl kullanabileceğinize dair bir örnek.
Programda
sınıf testi
{
public static void main(String[] args)
{
for(int i=0;i< bağımsız değişkenler.uzunluk;++i)
{
System.out.println(args[i]);
}
}
}
konsolda
java args1 args2 args3 …
Sonuç olarak girdi olarak geçirdiğimiz bu argümanlar ile bir çıktı alacağız. Bu program, tüm bu argümanları yeni bir satırla ayırarak yazdıracaktır:
argümanlar1
args2
args3
Gördüğümüz gibi, komut satırı argümanları yalnızca String türünde olabilir. Sayıları argüman olarak iletmek istersek ne olur? Diyelim ki ilettiğiniz argümana bir şeyler eklemek istiyorsunuz. Yukarıdaki programla yaparsanız, şöyle bir şey olacaktır:
Programda
sınıf testi
{
public static void main(String[] args)
{
for(int i=0;i< bağımsız değişkenler.uzunluk;++i)
{
System.out.println(args[i]+1);
}
}
}
konsolda
java testi 11 12 13
Çıktı
111
121
131
Karakterleri sayıların “Dizesine” eklediğini görebilirsiniz. Onlara bir sayı eklemek için, argümanları tamsayı formuna dönüştürmemiz gerekir. Bunu yapmak için Integer sınıfının parseInt() yöntemini kullanırız. Uygulama şöyle olacak -
Programda
sınıf testi {
public static void main(String[] args) {
for (int i = 0; i < args.length ; ++i ) {
int arg = Tamsayı.parseInt(args[i]);
System.out.println(arg + 1);
}
}
}
konsolda
java testi 11 12 13
Çıktı
12
13
14
Gördüğünüz gibi istediğimiz sonuçları nasıl elde ediyoruz. Aynısını parseDouble() ve parseFloat() kullanarak double() ve float() ile de yapabiliriz.
Bazen, sağlanan bağımsız değişkenler belirli bir sayısal türe dönüştürülemez, bu da NumberFormatException adlı bir özel durumla sonuçlanacaktır.
Şimdi bu argümanları uygulamamıza aktardığımızı düşünebilirsiniz. Uygulamanın performansını herhangi bir şekilde etkiler mi? Bunun cevabı hayır. Argümanları iletmek, uygulamanızı yavaşlatmaz veya üzerinde başka herhangi bir performans isabeti sağlamaz. Olsa bile, çok azdır ve fark edilmemelidir.
Okuyun: Java Projesi Fikirleri ve Konuları
Java'da Değişken Argümanlar
JDK 5'te Java, değişken sayıda argümana ihtiyaç duyan yöntemler oluşturmayı basitleştiren yeni bir özellik içeriyordu. Bu özelliğe değişken uzunluklu argümanlar anlamına gelen varargs adı verilir. Değişken argümanlarını alan yönteme varargs yöntemi denir.
Bu özellik Java'da uygulanmadan önce, bir uygulamada değişken argümanları iletmenin iki olası yolu vardı. Bunlardan biri aşırı yüklenmiş bir yöntem kullanıyordu, diğeri ise argümanları bir Array'de geçirmeyi ve ardından bu diziyi bir yönteme geçirmeyi içeriyordu. Bu yöntemlerin her ikisi de hataya açıktı. Varargs, önceki yöntemlerle gelen tüm sorunları, temiz ve çalışmak için daha az kodun ek avantajıyla çözdü.
Değişken uzunluklu bağımsız değişkenler üç nokta (…) ile belirtilir, aşağıda aynısı için tam sözdizimi verilmiştir –
public static void varMethod(int … x)
{
// metodun gövdesi
}
Yukarıdaki sözdizimi derleyiciye varMethod() öğesinin sıfır veya daha fazla bağımsız değişkenle çağrılabileceğini söyler.
Vararglar da aşırı yüklenebilir.
Varargs kullanmanın bazı kuralları vardır:
- Yöntemde yalnızca bir değişken argümanı olabilir.
- Değişken argümanları son argüman olmalıdır.
Varargs Yönteminde İki Bağımsız Değişken Kullanırken Oluşan Bir Hata
void method(String… str, int… a)
{
// İki vararg olduğu için zaman hatası derleyin
}
Varargs'ı Son Argüman Yerine İlk Argüman Olarak Belirttiğimizde Oluşan Hata
void method(int… a, String str)
{
// vararg göründüğünde zaman hatası derle
// normal argümandan önce
}
Bu nedenle, değişken argümanları iletmek istiyorsanız, varargs yöntemini kullanabilirsiniz.
Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Beceri Geliştirme, Yükseltme ve Güncelleme
Java gerçekten de istisnai bir dildir ve çeşitli çok uluslu şirketler ve şirketler tarafından büyük ölçekli uygulamalar geliştirmek için kullanılmaktadır.
Bu tür becerilerin kapsamı, kariyerinizi gerçekten yükseltebilir. upGrad , Java, C++, C, AI, Doğal Dil işleme ve çok daha fazlası gibi birçok dilde Makine Öğrenimi, Kodlama konusunda olağanüstü kurslar sunmaktadır. Geleceğin diline yükselterek kariyerinizi aydınlatın: Java!
Java, tam yığın yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ projeler ve ödevler, IIIT-B Mezunları statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.
Komut satırını kullanarak bir Java sınıfı nasıl çalıştırılır?
Komut satırını kullanarak bir Java sınıfını çalıştırmak için, örneğin kabuk isteminden Java -jar jar_file.jar komutunu yazın; burada jar_file.jar, JAR dosyanızın adıdır (örn. QuoraAnswerManager.jar). Bir Java sınıfını komut satırında çalıştırmanın en basit yolu onu derlemek ve ona bir sınıf yolu sağlamaktır. Java sınıfınızı aşağıdaki komutla derleyin: javac -classpath classpathMainFolder myClass.java. Ardından derlenen sınıfı aşağıdaki komutla çalıştırın: Java -classpath classpathMainFolder myClass.
Java'daki jar dosyaları nelerdir?
Java'da birçok jar dosyası türü vardır. Jar dosyaları basitçe paketlerdir. JAR dosya formatı orijinal olarak Java için oluşturulmuştur ve yazılım dağıtımı için tasarlanmıştır. JAR dosyalarına bazen JAR arşivleri denir, çünkü bir ZIP dosyasına benzer şekilde çalışırlar, çünkü kolay dağıtım için birden fazla dosya ve dizini tek bir dosyada depolarlar. Bir JAR dosyasına bazen Java Arşivi denir. Bu teknik olarak doğru değildir, ancak hem arşiv hem de paketleme kelimelerinin bazen JAR dosyalarına atıfta bulunmak için kullanıldığı Java topluluğunda sıklıkla kullanılır.