Java Console’da String Formatlama – Printf()

Bu ara java ile uğraşıyorum.. Gerçekten güzel bir dil. Eğer Eclipse gibi bir editör ile yazarsanız çok kolay bir dil haline geliyor. Henüz tam olarak OOP (Object Oriented Programming (Nesneye Yönelik Programlama)) mantığım çok iyi olmadan yazsam da bir şeyler yazabiliyorum : ) Konsolda çalışıyorum ve konsolda string formatlamayı internette çok aradım, sonunda buldum.. Şöyle oluyormuş…

konsol1.png

Konsolda string formatlamaya, resimdeki gibi yazıları tablo gibi hizalı biçimde göstermek istediğim için ihtiyacım oldu. Genelde böyle işlerde kullanılıyor.. Java’da String formatlamayı printf metodu ile yapabiliyoruz..

Printf şu şekilde kullanılıyor;

System.out.printf(format, argümanlar);

Örneğin resimdeki gibi bir çıktı almak için şuna benzer kodlar yazıyoruz;

System.out.printf(“%7s | “, “Ucus No”);
System.out.printf(“%-12s | “, “Tarih”);
System.out.printf(“%-9s | “, “Kalkis”);
System.out.printf(“%-9s | “, “Varis”);
System.out.printf(“%-13s | “, “Nereden”);
System.out.printf(“%-13s | “, “Nereye”);
System.out.printf(“%10s | “, “Fiyat”);
System.out.printf(“%11s | “, “Ind.Fiyat”);
Sistem.aracizgi(); // aradaki _ karakterinden olusan cizgiler..
while (rs.next()) {
System.out.printf(“%7s | “, rs.getString(“ucusNo”));
System.out.printf(“%-12s | “, rs.getString(“tarih”));
System.out.printf(“%-9s | “, rs.getString(“kalkisSaati”));
System.out.printf(“%-9s | ” , rs.getString(“varisSaati”));
System.out.printf(“%-13s | “, rs.getString(“nereden”));
System.out.printf(“%-13s | “, rs.getString(“nereye”));
System.out.printf(“%6s YTL | “, rs.getString(“yetiskinFiyati”));
System.out.printf(“%7s YTL | “, rs.getString(“indirimliFiyat”));
}

Şimdi kodlardan birini inceleyelim..

System.out.printf("%-12s | ", "Tarih");

Format kısmındaki

  • % buraya formatlanmış bir stringin geleceğini gösteriyor.
  • işareti sola hizalı yazmamızı sağlıyor.
  • 12 ise o string için ayırdığımız karakter sayısı
  • s formatlamayı String’e göre yapıyor. Buraya d girseydik formatlama decimal integer’a göre yapılırdı.

argümanlar kısmına yazılan Tarih formatlı şekilde ekrana yazılıyor.. Yani 12 karakter ayrılan yere Tarih yazıyor.. Alt satırlarda da 12 karakter ayırdığımız için düzenli bir görünüm elde ediliyor..

Buradaki sayfada printf ‘in tüm özelliklerini açıklayan referans sayfası bulabilirsiniz. Burada da çok güzel printf örnekleri var..

FavoriteLoadingFavorilerime Ekle