13 Mayıs 2011 Cuma

JSP Makaleleri 0007 – JSP de Değişkenler-Veri Tipleri-Operatörler ve Karar Kontrol Yapıları

            Java dilinde kullanılan veritiplerinin, degişkenlerin ,dizilerin,operatörler ve kontrol ifadelerinin kullanımını bu bölümde JSP ile ele alacağız.Bu saydığımız kavramların hepsinin kullanımı  Java  dilindeki gibidir.Sadece web ortamında bazı JSP temel Tagların kullanımıyla konuyu işleyeceğiz. Javadaki söz dizimlerini bilen kişiler için JSP’deki kullanımın çok yakın olduğunu hemen fark edeceklerdir. Konumuzu dört kısım altında örneklerle inceleyelim.
Kısım 1 – JAVA nın Genel Yapısı.
JAVAyı genel hatlarıyla tanıyalım. OOP kavramını ele alalım.Object Oriented Programming -OOP (Nesne yönelimli programlama - NYP) Javanın temelidir. OOP  bir programlama yaklaşımıdır. Javada her şey bir nesnedir.O yüzden OOP yaklaşımının kavranması çok önemlidir.
Bütün bilgisayar programlamları iki temel üzerinde yaşar.Bu temel şeyle kod ve veridir.Her hangi bir veri ile bir kod parçasına ulaşmak, sonuçlar elde etmek, bunların organizasyonunu, uyumunu düşünündüğünüzde işimiz zorlaşabilir. Birde bunların üstüne proje dev bir proje ise verilerin saklanması kodumuzun saklanması tekrardan kullanıma açılması kod hataları gibi işlerin üstesinden ancak OOP ile gelebiliriz.
 
OOP un temelinde yatan bir kavramda abstraction(özetleme-soyutlama)dır.Mesela kullanıdğınız bilgisayarın binlerce ufak tefek parçası var ve iç kısımdaki dönen olaylar sizi ilgilendirmez.Siz sadece bilgisayarı bütün olarak algılarsınız çalışıyor mu çalışmıyor mu? Bu sizi ilgilendirir.Bilgisayarınızın parçalarını sayın desem.Kasa,ekran,klavye,kamera,printer gibi birimlere ayırırsınız.Bu gruplama nereye müdahale edilecekse o kısımdaki işinizi kolaylaştırır.Karmaşıklığa meyadan vermez.Karmaşık sistemlerin katmanlara bölünmesi ve daha çok yönetilebilir alt dallarda ele alınmasını  abstraction(özetleme-soyutlama) ile yapabiliriz.Dikkat edeceğiniz nokta karmaşıklığı kategorileyip idare etmenizdir.
Object Oriented Programming -OOP (Nesne yönelimli programlama - NYP) nin üç temel altın kuralı vardır.
Altın Kural 1 - Encapsulation (Saramalama)
Kodumuzu bir ambalaj gibi sarar ve dışarıdan gelebilecek kötüye kullanımlara izin vermez. Nesnelerin bazı özelliklerinin saklanarak erişiminin sınırlandırılması OOP içinde vazgeçilmez bir durumdur.
        Çok fazla uzağa gitmenize gerek yok programlama yaparken ilk örnek olarak kendinizi düşünün.Mesela siz bir sınıfsınız.Birçok ayrıntınız var.Aynı zamandada bir nesnesiniz.Demek ki her sınıf  aynı zamanda oda bir nesnedir.Size dışarıdan bakanlar  vucüdunuzun bazı kısımlarını izin verdiğiniz ölçüde görebilir.Saklı kalan kısımlar sarmalama ile kötü niyetli kişilerin erişimler için açılmamıştır.Zamanı gelince erişim hakkı olan izin verdiğiniz ölçüde istediği gizli kısımlarada erişebilir.Yani Encapsulation OOP mantığında kodlama yaparken programcıya nesneleri koruma gücünü vermektedir.
Sizin herkese açık  kısımlarınızın OOP mantığındaki anahtar sözcüğü public (herkese açık) tir.Sadece size özel kısımlarınızın OOP mantığındaki anahtar sözcüğü private (özel) dir.
Altın Kural 2 - Inheritance (Kalıtım-Miras)
Bir nesnenin başka bir nesnenin özelliklerini devralmasıdır.Yani dedenizin malı mülkü babanıza babanızın malı mülkü serveti size miras kalıyor.Artı ek olarak sizin kendi işiniz gücünüz var.Bu tarz bir düşünce OOP içindede var bu kodların tekrardan kullanımını ve hızlıca projeler oluşturmada çok faydalıdır.
Altın Kural 3 - Polymorphism (Çok Biçimlilik)
İnsanların her biri bir nesnedir. İnsan sınıfındaki her insanında yüzü, gözü, huyu suyu farklıdır. OOP tada bu mantık desteklenir. Buna Polymorphism (Çok Biçimlilik ) denir.
Polymorphism (Çok Biçimlilik ) Sarmalama ve Miras ile birlikte çalışır.
Javada yazılan her program Encapsulation (Saramalama), Inheritance (Kalıtım-Miras),
ve Polymorphism (Çok Biçimlilik) ‘e sahiptir.
 
Kısım 2-Veri Tipleri, Değişkenler ve Diziler
Variables ( Değişkenler )programlanın temel taşlarından biridir.   Java’ da bir tanımlanan değişkenlerin veri tipleri belirtilir. Değişkenleri mutfaklarınızdaki tencereye, tavaya benzetebilirsiniz. Ebatları çapları genişlikleri farklıdır ama içlerine bir şeyler koyarsanız taşısınız aktarırsınız. Veri Tipi bu tencere, tava ve kapların türüdür.
 
Diziler nedir derseniz?
Aynı türdeki su bardaklarını bir tepside düşünün su bardaklarının her biri o tepsinin içindeki elemanlardır. Çayları doldurdukça içlerinde bir şeyleri barındırır. İster çay ister çorba koyun bardaklara ama sırasıyla koyarsınız dilediğinizi dilediğiniz kişiye daha sonra ikram edersiniz.
Nesne yönelimli programlama dillerinde, genel olarak, her sınıf bir veri tipidir, her veri tipi bir sınıftır. Java bu genel kurala uyar. Java dilinde veri tiplerini üç ana grupta inceleyebiliriz. Bazıları Null veri tipini unutarak veri tiplerini iki kısımda ele alırlar. J
1-Primitive (İlkel) Veri Tipleri
2-Referans tipleri
3-Null veri tipi
1. Primitive (İlkel) Veri Tipleri
Sayısal veri tipleri
Tamsayı veri tipleri: byte,  short, int, long,   char
Kesirli sayı veri tipleri: float, double
Mantıksal veri tipi: boolean
2.Referans Tipleri : class, interface,  array
3.Null Tip :  null
Java’da değişkenlerin tanımlamasında nelere dikkat etmeliyiz?
 
1.Değişkenin ilk karakteri İngilizce harfler den olmalı daha sonrakiler harf, rakam, $  _ gibi olalabilir.
2.Değişkenin içersinde asla boşluk olamaz.
3.Değişkenlerin içinde başında sonunda  %, ( ,) ,{, [,],),}  +,  -,  *,  “,  @, ), <   gibi özel karakterleri kulanmamalıyız.
4. Java büyük küçük harf duyarlıdır. O yüzden değişkeninizin adını verirken dikkatli olmalısınız.
5. Java diline ait anahtar sözcükler değişken adı olamaz.
 
Basitte olsa bir atama örnek kod bölümü yazar mısınız?
veri_tipimiz   degiskenimizinAdi ;
veri_tipimiz   degiskenimizinAdi = atanan_ilk_deger ;
(Değişken veri tipi )   (Değişken adı)   (Atama operatörü)  (Atanacak Değer) ;
Şimdi kodumuzu yazalım
int  istanbulunFetihTarihi = 1453 ;
2.Referans Tipleri : class, interface,  array
Referans tiplerinin ilkel tiplerden en belirgin farkı yardımcı metodlarının olmasıdır.İlerleyen kısımlarda örnekler üzerinde sıkça referans tiplerini kullanacağız.
3.Null Tip :  null
İlerleyen kısımlarda java sınıflarındaki metodlarda sıkça null değerini göreceksiniz.Kelime anlamı olarak null ( hükümsüz, önemsiz) demektir.Programlamadaki kullanı boş veya sıfır değildir.Null  hükümsüz, önemsiz maksadıyla kullanılır.
Kısım 3-Operatörler
Toplama + , çıkarma -, çapma *, bölme / , mod alma  % , eşittir =  gibi programlanın olmazsa olmazlarıdır. Mutfakta tencerelerde yemek pişirirken işimize yarayan tuz, şeker, biber, kekik, nane gibi yardımcı operatörlere benzetebiliriz.
Operatörler değişkenlerimize değerler atamada ve değişkenlerin değerlerini değiştirmede de işimize yararlar.
Java programlama dilinde kullanılan operatörler:
Temel Atama Operatörü ( = )
Aritmetik Operatörler ( + , – , / , * , % )
Bileşik Atama Operatörleri ( += , -= , *= ,  /= , %= )
Tekli Operatörler ( + , – , ++ , – - , !)
Eşitlik ve İlişkisel Operatörler ( == , != , < , > , <= , >=  )
Mantıksal Operatörler ( && , || , ? : )
Bitsel ve Bit Değiştirme Operatörleri ( ~ , << , >> , >>> , & , ^ , | )
Tür Karşılaştırma Operatörü (instanceof )
Kısa Devre İlişkisel Operatörler
Kısım 4-Kontrol İfadeleri
Yemek yapıyoruz madem bunun bir tarifi olacak elbet, Ne kadar şu konacak. Kaç kaşık tuz atılacak ve ne kadar pişirilecek. Kontrol etmek lazım gelir. Eğer yarım saat pişirilecek şeyi bir saat pişirirseniz hata alırsınız iştahınız kaçar. Geçek hayattaki her şey şartla doludur. Javada bu işi kontrol ifadeleri yardımıyla programlamada kullanıyoruz.
Java programlama dilinde kullanılan kontrol ifadeleri:
İf
if ( koşul veya koşullar ) {
// Koşul veya koşullar sağlanırsa yapılacak işlemlerimiz
}
 
if – else
if ( koşul veya koşullar ) {
// Koşul veya koşullar sağlanırsa yapılacak işlemlerimiz
}
else {
// Koşul veya koşullar sağlanırsa yapılacak işlemlerimiz
}
 
if – else if – else
if ( koşul veya koşullar ) {
// Koşul veya koşullar sağlanırsa yapılacak işlemlerimiz
}
else  if ( koşul veya koşullar ) {
// Koşul veya koşullar sağlanırsa yapılacak işlemlerimiz
}
else {
// Koşul veya koşullar sağlanmazsa yapılacak işlemlerimiz
}
switch
int secim;
switch (secim) {
case secim-1 :  // Koşul sağlanırsa yapılacak işlemlerimiz
break;  // Mola ver ve kapsam dışına çıkış yap
case secim-2 : // Koşul sağlanırsa yapılacak işlemlerimiz
break; // Mola ver ve kapsam dışına çıkış yap
case secim-3 : // Koşul sağlanırsa yapılacak işlemlerimiz
break; // Mola ver ve kapsam dışına çıkış yap
..
.
default ://Varsayılan değer
// Uygun seçim yapılmadığında yapılacak işlemlerimiz
}
while döngüsü
while ( Koşul ) {
// Koşul sağlanırsa yapılacak işlemlerimiz
}
 
do- while döngüsü
do {
// Koşul sağlanırsa yapılacak işlemlerimiz
} while ( Koşul );
 
for döngüsü
for ( Başlangıç Değeri veya Değerleri;  Koşul veya Koşullarımız ;  Arttırımlar veya Azaltımlar ) {
// Koşul veya Koşullar sağlanırsa yapılacak işlemlerimiz
}
 
for-each
for ( DeğişkenAdımız : DiziAdımız)  {
// Koşul veya Koşullar sağlanırsa yapılacak işlemlerimiz
}
 



Bilgisayar Mühendisi Mimar ASLAN
Ukrayna-Donetsk

Makaleleri referans göstermek kaydıyla alıp yayınlayabilirisniz.
Mimar ASLAN

1 yorum:

  1. Merhaba sevgili hocam sitenizi analiz ettim baktım güzel paylaşımlar yapıyorsunuz ve sizi herzaman takip ediyorum yararlı paylaşımlar yapıyorsunuz. Teşekkürler….

    YanıtlaSil