06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Örnek: ReturnOrnek.java ()<br />

public class ReturnOrnek {<br />

public void calis(int deger) {<br />

try {<br />

System.out.println("calis yordamı cagrildi,<br />

gelen deger: "<br />

+ deger);<br />

if(deger == 0) {<br />

return; // yordamı sessizce terk et<br />

}<br />

System.out.println("-- calis yordamı normal bir<br />

sekilde bitti--");<br />

} catch (Exception ex) {<br />

System.out.println("catch blogu icerisinde");<br />

} finally {<br />

System.out.println("finally blogu cagrildi");<br />

System.out.println("----------------------");<br />

}<br />

}<br />

public static void main(String args[]) {<br />

ReturnOrnek ro = new ReturnOrnek();<br />

ro.calis(1);<br />

ro.calis(0); // dikkat<br />

}<br />

}<br />

calis() yordamına gönderilen parametre eğer sıfırsa, bu yordam çalıĢmasını sona erdiriyor fakat<br />

finally bloğu içerisindeki kodlar bu durumda bile çalıĢtırılmaktadır. Dikkat edilmesi gereken bir baĢka<br />

nokta ise calis() yordamının bilerek birĢey döndürmemesidir -void- olmasıdır. Çünkü eğer calis()<br />

yordamı birĢey - ör: String tipi- döndüreceğini söyleseydi, geri döndürme (return) iĢlemini finally<br />

bloğunun içerisinde yapması gerekirdi, aksi takdirde derleme anında (compile-time) uyarı alınırdı. Yani bir<br />

yordamın içerisinde try - finally blok sistemi tanımlanmıĢ ise try bloğunda return ile bir değer<br />

geri döndürülmesine izin verilmez. Uygulamanın çıktısı aĢağıdaki gibidir. ()<br />

calis yordamı cagrildi, gelen deger: 1<br />

-- calis yordamı normal bir sekilde bitti--<br />

finally blogu cagrildi<br />

----------------------<br />

calis yordamı cagrildi, gelen deger: 0<br />

finally blogu cagrildi<br />

----------------------<br />

8.1.8.2. Dikkat System.exit();<br />

Eğer System sınıfının statik bir yordamı olan exit() çağrılırsa finally bloğuna hiç girilmez.<br />

System.exit() yordamı uygulamanın içerisinde çalıĢtığı JVM'i (<strong>Java</strong> virtual machine) kapatır.<br />

Anlatılanları bir uygulama üzerinde incelersek. ()<br />

Örnek: SystemExitOrnek.java ()<br />

public class SystemExitOrnek {<br />

234

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!