Tweet

Ana Sayfa   Forum   Java Teknolojileri
Yeni Başlık Cevap Ekle
white_bullet Java da döngü kavramı (02/07/2008 05:51)
profil seyhan
 offline OFFLINE
 Junior Coder

Şimdi Java da döngü kavramlarına giriş yapacağiz.
Ve siz de göreceksiniz ki döngü kavramının altında yatan mantık tüm diller olmasa da
aynı.Şimdi giriş yapalım.

KONTROL İFADELERİ:

Kontrol ifadeleri bir uygulamanın hangi durumlarda
ne yapması gerektiğini belirtir.
Java programlama dilinde toplam 4 adet kontrol ifade çeşidi bulunur




İfadeTipi AnahtarKelime

Döngü while, do-while , for

Kararverme if-else, switch-case

Dallandırma break, continue, label, return

İstisna yakalama try-catch-finally, throw





WHİLE DÖNGÜSÜ:

while ifadesi, çalışması istenen kod bloğunu, durum true ifadesini bulana kadar devamlı olarak çalıştırır.
Çalışma şekli aşağidadir:

while (koşul) {

...
çalışması istenen kod bloğu

}


DO - WHİLE DÖNGÜSÜ:

do-while ifadesi, koşulu en yukarıda değilde en aşağıda hesaplar.
Böylece do-while ifadesinde durum false olsa bile çalışması istenen kod bloğuna en az bir kere girilir.
Çalışma şekli aşağidaki gibidir:

do {

...
Çalişması istenen kod

}while(koşul)


WHİLE DÖNGÜSÜNDE PÜF NOKTALAR:

1.Döngü kontrol değişkenine uygun bi rşekilde değer atandığına dikkat edilmeli.
2.Döngü durumunun true ile başlamısına dikkat edilmeli.
3.Döngü kontrol değişkeninin uygun bir şekilde güncellendiğinden emin olunması gerekir (sonsuz döngüye girmemesi için).


FOR DÖNGÜSÜ:

Döngünün ne zaman başlayacağı ve ne zaman biteceği en başta belirtilmiştir.
for (başlangıç; koşul; artış).Çalışma şekli aşağidaki gibidir.

for(başlangıç;koşul;artım)
{
....
çalışması istenen kod parçası.

}



ÖRNEK PROGRAM:
CODE:

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

for ( int i = 0 , j = 0 ; i < 20 ; i++ , j++ )
{
i *= j ;
System.out.println("i= " + i + " j = " + j);
}
}
}


İF-ELSE KALIBI:
Çalışma şekli aşağidaki gibidir.

if (koşul) {
durum true olduğunda çalışması istenen kod bloğu
}
else {
durum false olduğunda çalışması istenen kod bloğu
}




Daha fazla detaya inmeden diyebilirizki döngü kavranları
C de ki mantığın aynısıdır.Sadece farklı olan ekrana yazdırma
biçimidir.Diğer arkadaki mantık aynıdır.



Diğer dersimizde ise Başlangıç Durumuna getirme ve
temizlik kavramlarına giriş yapacagız.Bir daha ki dersimize kadar
herkese iyi çalışmalar.

Saygılarımla.
Seyhan Uçar.









































[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]

Üye Profili

white_bullet Re:Java da döngü kavramı (14/07/2008 15:42)
profil Oguzz
 offline OFFLINE
 Senior Coder

Seyhan sana gerçekten teşekkür ediyorum.Hem c ders hazırlıyosun hemde javaya ve gerçek hayattada başın kalabalık biliyorum.Birşeyi alıntı yaparak yazmak kolay iş ama oturup kafadan veya kendi ders notlarından ayırıp elle tek tek buraya yazmak gerçekten emek işi.Lütfen okuyanlar teşekkür etsin yeterli biz bu dersleri bitirene kadar yazıcaz seyhan la.Kolay gelsin kardeşim.

just code it!

profil

white_bullet Re:Java da döngü kavramı (25/09/2008 07:02)
profil The Hawk
 offline OFFLINE
 New Coder

Merhaba benim bir sorum olacakti bu konu ile ilgili. Mesela 4 tane takimim var bunlari birbiri ile mac yaptirmak istiyorum. Takimlar Gs, Fb, Bjk, Ts

CODE:

public class Fußball
{

public static void main (String[] args) {

Team gs = new Team(11, "Galatasaray", 0, 6);
Team fb = new Team(11, "Fenerbahce", 0, 8);
Team bjk = new Team(11, "Besiktas", 0, 4);
Team ts = new Team(11, "Trabzonspor", 0, 7);
gs.datenAusgeben();
gs.spielGewinnen();
gs.spielUnentschieden();
gs.spielVerlieren();
}


}


asagida ekleyecegim kod da ise takimlarin özelliklerini tanimlayip, kazanma, kaybetme ve beraberlik durumlarini yazdi. Buraya kadar da hata vermedi.


CODE:
/**
* Beschreiben Sie hier die Klasse Team.
*
* @author (Ihr Name)
* @version (eine Versionsnummer oder ein Datum)
*/
public class Team
{
// Instanzvariablen - ersetzen Sie das folgende Beispiel mit Ihren Variablen
int x;


private int spielerzahl;
private String teamname;
private int punkte;
private int rezervezahl;


public Team(int spielerz, String teamn, int punkt, int rezerv)
{
spielerz = spielerzahl;
teamn = teamname;
punkt = punkte;
rezerv = rezervezahl;
}

public void datenAusgeben() {
System.out.println("Spielerzahl= " +spielerzahl);
System.out.println("Teamname= " +teamname);
System.out.println("Punkte= " +punkte);
System.out.println("Rezervespielerzahl= " +rezervezahl);




}

public void spielGewinnen() {

punkte++;
punkte++;
System.out.println("GEWONNEN");
System.out.println("Punkte= " +punkte);
}

public void spielUnentschieden(){
punkte++;
System.out.println("UNENTSCHIEDEN");
System.out.println("Punkte= " +punkte);

}

public void spielVerlieren() {
punkte--;
System.out.println("VERLOREN");
System.out.println("Punkte= " +punkte);
}

}



Yukaridaki iki kodu birbirine bagladim. Calisti bir problem yok ama benim görevim bir de bu takimlara mac yaptirip bir tabela olusturmak. Yani bunun icin önce takimlarin güclerini tanimlamak gerekiyor sanirim. Sonra da bir döngü ile birbirleri ile mac yapip atip, yedikleri goller ve kazandiklari puanlar ile bir tabela olusturmaya calisiyorum. Ama acikcasi beceremedim. Yani maclari kendim yazip, sonuclari kendim verdim, ama o kadar basit bir sey istenmiyor ödev olarak. O yazdigim kodlari da ekleyeyim. Orada söyle bir sey denedim ilk dosya Oyun isimli

CODE:
public class Spiel
{

public static void main (String[] args) {

Spiel derby1 = new Spiel("Galatasaray-Fenerbahce", 4, 1);
Spiel derby2 = new Spiel("Besiktas-Trabzonspor", 2, 2);
derby1.vergleichen();



}
}


buradaki kodda maclarin sonuclarini kendim verdim. Asagidaki kodda da if ile atilan ve yenilen gollerin sonucu olarak kazandi,kaybetti olarak sonuc verdim:

CODE:
public class Ergebnis
{
public String derby;
private int homescore;
private int awayscore;

public Ergebnis(String drby, int hs, int as) {

drby = derby;
hs = homescore;
as = awayscore;
}

public void vergliechen() {

if (homescore == awayscore) {

System.out.println("UNENTSCHIEDEN= " +homescore "-" +awayscore);
}

if (homescore > awayscore) {

System.out.println("HOME WIN= " +homescore "-" +awayscore);
}

if (homescore < awayscore) {

System.out.println("AWAY WIN " +homescore "-" +awayscore);
}

}


biliyorum uzun oldu ama bana yardim edecek yol gösterecek fikir varmi? Hangi kodlari nasil kullanmaliyim ki takimlari otomatik oynatip, sonuclari ile tabela olusturayim?

Tesekkürler...

profil

white_bullet Re:Java da döngü kavramı (29/09/2008 08:40)
profil seyhan
 offline OFFLINE
 Junior Coder

Öncelikle merhaba ;

Senden özür dilerim The Hawk eğitim yılımız yeni başladığı için bu aralar biraz yoğunum.
Soruna dönecek olursam sana tavsiyem tipi takım(team) olan bir dizi tutman ve bu dizinin
her bölmesine new operatörü kullanarak yer açman daha sonra bu dizinin index i arlalığında
rastgele bir sayı üretmelisin.Bunu yapmanın bir çok yolu var ama en bilinen yol Math.rand() fonksiyonudur
Konuyu açacak olursam "Math.rand() * 5 " kodu 1 ile 5 arasında rastgele sayı üretecektir yani aralığı sen koyabilirsin.
Takım nesnesinin içine takım ismi kazanma kaybetme beraberlik durumlerı için değişkenler koyabilirsin hatta
oynadiği maç attığı gol yediği gol.... sana kalmış.Daha sonra ürettiğin rastgele sayılı indexli kısmı diziden çıkarmalısın
çünkü aynı isimli iki takım karşılaştırmak istemeyiz değil mi?bunu basit bir for döngüsü ile yapacağindan eminim
Atılan yenilen golleri de bu fonksiyon ile aralığını kendin belirlemek üzere rahatlıkla bulabilirsin.Tablo şeklinde
basma işine dönecek olursak "t" işini görür zannederim yok daha karışık bir şey istersen GUI ile
uğraşmalısın.Anlattıklarım işigında kodunu bir daha yaz ve derle sorun olursa profilimdeki
mail adresimden bana ulaş sana bu konularla ilgili bir kaç ing. kitap atabilirim.
Umarım açıklayıcı olmuşumdur.Sana kolay gelsin bol javalı günler...

Saygılarımla.
Seyhan Uçar

[IMG SRC="http://img225.imageshack.us/img225/2408/seyhanzt2.jpg" ALIGN="oğuz"]seyhan[/IMG]

profil
 
1 /
 
Ana Sayfa   Forum   Java Teknolojileri
Yeni Başlık Cevap Ekle
 

MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg