Ş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]
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.
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();
}
}
/**
* 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);
}
}
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();
}
}
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);
}
}
Ö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]
