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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Ö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!