Programlama Teknikleri ( Değişkenler, Döngüler, ... )

CorsaiR

Emektar
27 Ara 2005
1,228
18
Çekirdekten
Programlama Teknikleri ( Değişkenler, Döngüler, ... )
Yazacağınız Java programlamı içerisinde kullandığınız değişkenleri tanımlamanız gerekir. Değişken isimleri bir harf (türkçe karakterler Ğ,Ü,Ş,Ç,İ,Ö,ğ,ü,ş,ç,i,ö kullanmayın), bir alt çizgi(_) veya $ işareti ile başlayebilirler. Başlangıç harfinden sonra rakamlar da kullanılabilir. Değişkenlerde dikkat etmeniz gereken husus Java dilinin küçük/büyük harf ayırımı yapmasıdır. Buna göre üç harften 8 ayrı değişken ismi üretilebilir. Bir örnek aşağıda verilmiştir:

abc
abC
aBc
aBC
Abc
AbC
ABc
ABC

Bu değişkenlerin her biri farklı bir değişken olarak algılanmaktadır.

Kullanılan değişken türleri :

TürüBoyutuAlt SınırÜst Sınırboolean1 bittruefalse
byte8 bit-128+127short16 bit-3276832767int32 bit-21474836482147483647
long64 bit-92233720368547758089223372036854775807 .string........Değişik boyutlar char16 bit1 byte'lık karekter


Tanımlamaları yaparken önce değişken türü , sonra değişken adı yazılır. Aynı türden değişkenler yanyana sıralanabilir. Aşağıda birkaç geçerli değişken tanımlama örneği verilmiştir:
char basılanTus; int tutar,kdv,toplam;
Ayrıca bir değişkenin başlangıç değeri tanımlama sırasındada belirlenebilir:int a=700,b=18; gibi.
Yukarıdaki standart değişken türlerinin yanında class değişkenleride bulunur. Örneğin:
Font yatikfont;
Graphics graf;

tanımlamaları class değişkenlerine örnektir.

Son olarakta tabela tanımlamalarını unutmamak gerekir. Tabela tanımlamaları yaparken ya değişken türünden yada değişken isminden sonra köşeli parantezler kullanılmalıdır, fakat köşeli parantezler arasına boşluk konmayacaktır.
int noktalar[];veya int[] noktalar;
geçerli tabela tanımlamalarıdır. Tabela kullanımından önce new komutu ile, tabelanın kaç elaman içerebileceği sisteme bildirilmelidir:

int[] noktalar=new int[30];
satırı ile tabelanın içine 30 değişikm elaman yerleştirilebileceği belirtilmiştir.Tabela tanımı sırasında tabela içeriğide belirlenebilir. Örneğin: String[] takimlar={"Beşiktaş","Galatasaray","Tarbzonspor","Balıkesirspor","Fenerbahçe"};

örneğinde hem dizinlerden oluşan bir tabela tanımlanıyor, hem bu tabelanın 5 elamanı olduğu belirleniyor, hem de bu tabelanın 5 elamanının içeriklerine değişik değerler veriliyor.

Reserve Sozcükler

Aşağıdaki sözcükler Java sistemi tarafından kullanıldıklarından değişken isimleri olarak geçerli değildirler:


abstractdoimplementspackcagethrow booleandoubleimportprivatethrows breakelseinnerprotectedtransient byteextendsinstanceofpublictry casefinalintrestvar castfinallyinterfacereturn****catchfloatlongshortvolatile charfornativestaticwhile classfuturenewsure constgenericnullswitch continuegotooperatorsynchronized defaultifouterthis

Açıklamalar


Profesyonel programcılar yazdıkları program komutları arasına bol miktarda açıklama yerleştirirler. Amotörce program yazanlar ise 'nasılsa herşeyi hatırlarım' gibi bir düşünceyle program satırları arasında açıklama kullanmazlar.
Java programlarında açıklama yazabilmenin iki yolu vardır.


Birbirini takip eden iki taksim işaretinin sağında bulunan yazılar Java derleyicisi tarafından önemsenmezler. Örneğin:

//Aşağıdaki komut bir dikdörtgen çizmektedir.
graf.drawRect(15,15,150,100);
//Aşağıdaki komutla bir dikdörgenin içi doldurulmakta
graf.fillRect(15,15,150,100);


Aynı açıklama aşağıdaki şekildede olabilir.
graf.drawRect(15,15,150,100); //Dikdörtgen çizimi
graf.fillRect(15,15,150,100); //Dikdörtgenin içini doldur

Bu tür açıklama satırı yalnızca bir bir satır için geçerlidir. Birkaç satıra yayılması gerekiyorsa, her satırın başına // işareti konmalıdır.
İkinci yöntem ise /* sembolü ile */ sembolü arasında kalan tüm yazılar açıklama satırı olarak algılanmaktadır. Örneğin aşağıda /*Burada kare cizilmekte ve
içi boyanmaktadır....*/

iki satıra yayılmış bir açıklama görülüyor.

Açıklamalar için her iki yöntemide kullanabilirsiniz.

if - else

Bir programlama dilinin en önemli komutu olan if komutu ile çeşitli karşılaştırmalar yapılabilir, ve program akışı karşılaştırmanın sonucuna göre yönlendirilebilir. Yapılması istenen karşılaştırma parantez içinde yazılır ve if sözcüğünden sonra yer alır.

if (a == b) graf.drawString("A=B",15,60);

Program satırı ile eğer a değişkeninin değeri b değişkeninin değerine eşitse ekranda A=B yazısı belirir. Eğer iki değişkenin değerleri birbirlerine eşit değilse hiçbir şey yapılmaz.


if (a == b)
graf.drawString("A=B",15,75);
if (a < b)
graf.drawString("A<B",15,75);
if (a > b)
graf.drawString("A>B",15,75);


Program komutlarında eğer a değişkeninin değeri b değişkenine eşitse ekranda A=B ,Küçükse A<B, Büyükse A>B yazısı çıkar.Aynı işlem aşağıdaki komut satırı ilede gerçekleştirilebilir.


if (a == b)
graf.drawString("A=B",15,75);
else
{
if (a < b)
graf.drawString("A>B",15,75);
else
graf.drawString("A>B",15,75);
}


do while Döngüsü

Bu program tekniğinde { } parantezleri arasında kalan kısım içindeki komutlar, Bu program tekniğine Postchecked Loops adı verilir. Başka bir terimle önce blok içindeki program satırları icra edilir ve ondan sonra bir karşılaştırma yapılır. Aşağıda bunun bir örneğini görüyorsunuz.


i=0;

do
{
i++;
System.out.println("Herkese MERHABA");
}
while(i<10);


Yukarıdaki mantığa göre do sözcüğünü takip eden ve { } parantezleri ile sınırlanan blok içindeki komutlar en az bir kez işletilmektedir. Çünkü döngüden çıkış karşılaştırması bu komutlar işletildikten sonra yapılıyor.

For Döngüleri

Java'da For döngüleri diğer programlama dillerinden biraz farklıdır. Genelde for sözcüğünden sonra parantez içinde başlangıç değeri, karşılaştırma ve başlangıç değerinin değişim şekli belirtilir. Aşağıda bir örneği verilmiştir:


import java.awt.*;
import java.applet.*;

public class yaz extends Applet
{
public **** paint(Graphics yazi)
{
int i, y;
y = 10;
for ( i = 1; i < 10; i =i+1 )
{
yazi.drawString("Herkese MERHABA",5, y);
y = y + 20;
}
}
}

<applet code="yaz.class" align="left" hspace="0"width="150" height="200"></applet>

Yukarıdaki örnekte döngü sayacı olan i değişkeninin döngü öncesi başlangıç değeri bir'dir. Döngü i değişkeninin değeri 10'dan ufak olduğu sürece { } parantezleri ile sınırlı olan blok içindeki komutlar işletilecek ve her işletimden sonra i değişkeninin değeri 1 artacaktır. Değişken i'nin değeri 10 değerini geçtiği anda döngü sona erecektir. Yukarıdaki programın sonucunu yanda görmektesiniz.

switch Karşılaştırmaları

Bir çok program mantığı içinde bir değişkenin değerine göre belirli işlemler yapılır. Bu alanda en çok kullanılan teknik if ...else tekniğidir. Fakat ardarada bu tekniği kullanmak programın okunurluğunu zorlaştırabilir.


if (x==1)
y=a+b;
else if (x==2)
y=c+d;
else if (x==3)
y=a+c
else if (x==4)
y=a+d;


şeklinde yazılmış bir program mantığı istenileni yerine getirebilir. Fakat aşağıdaki yazım tarzı ile karşılaştırılacak olursa Switch kullanım rahatlığı hemen göze çarpar:


switch (x)
{
case 1:
y = a + b;
break;
case 2:
y = c + d;
break;
case 3:
y = a + c;
break;
case 4:
y = a + d;
break;
}


Yukarıdaki yazım tarzında x değişkeninin değerine göre mantık case sözcüğünü takip eden değere göre akımını sürdürüyor. Örneğin x'in değeri 3 ise, yalnızca y=a+c; komutu icra edilir. İlk break sözcüğünden sonra program switch mantığını terkediyor.
Aşağıda aynı tekniğin daha değişik bir kullanım örneği görülmektedir:


switch (x)
{
case 2:
case 4:
case 6:
case 8:
System.out.println("x'in değeri bir çift sayıdır");
break;
default:
System.out.println(x'in değeri bir tek sayıdır");
}


Bu örnekte x değişkeninin değeri 2, 4, 6 veya 8 olduğunda program x'in değeri bir çift sayıdır mesajını verir. Tüm diğer koşullarda program akışı default: başlıklı satırdan devam eder.

break ve continue

Döngü teknikleri içinde bazı anlarda döngü sayısı baştan belirlenmeden önce döngüyü terketmek gerekebilir. Bu gibi koşullarda break komutundan yararlanılır. Bu teknik tüm for, while ve do..while döngüleri için geçerlidir.


i=0;
while (1<1000){
if (y>100) break;
y=y+x;
i++
}


Yukarıdaki örnekte döngü, i değişkeninin değeri 1000 den ufak olduğu sürece devam edecek. Fakat y değişkeninin değeri 100'den büyük olursa, i değeri ne olursa olsun döngü sona erer.

Belirli bir koşulda normalde sona ermesi gereken döngünün devamını sağlamak için ise continue komutundan yararlanılır. Çalışma tekniği, break tekniğinin tam tersidir.
Gerek break gerekse continue komutlarının yanında bir atlama adresi bulunabilir. Aşağıda bunun bir örneğini görmektesiniz:


i=0;
while (i<1000) {
if (y>100) break devamEt;
y=y+x;
i++;
}

z=0;
devamEt;
z=z+y;


Örnekte döngü içinde y değişkeninin değeri 100'den fazla olmadığı sürece, döngü normal olarak sona eriyor ve z=0 komutunu icra ediyor. Buna karşılık eğer döngü içinde y değişkeninin değeri 100'ü geçerse, döngü derhan sona eriyor ve program akışı devamEt başlıklı satırına sıçrıyor ve z=0 komutu icra ediliyor.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.