1. sayfa
Derslerin olması güzel ancak hiç programlama bilmeyen birine anlattığını düşünüp en az 4-5 bölüm object-oriented mantığına girmesen iyi olur. Methodlar sınıflar genel mantık bittikten sonra daha rahat olur. İstersen ben de birkaç bölüm yazabilirim. ![]() |
Haklısın önce tek başlarına sınıfları metotları tanımlamalıyım.Kafa karışıklığına sebep olmamalı.Tabiki de sen de konu yazabilirsin Anlatmak istediğin konuyu söylersen ona göre konuşabiliriz. A.F.ASLAN hocam sizim konunuzdan da alıntı yapacağım teşekkür ederim. Okuyan arkadaşlar misafir üyeler kafanızda soru işaretleri oluşabilir üye olup sorabilirsiniz. |
Alıntı yapmana gerek yok. O konuyu silip yeni konuda tamamen nesne ve bellek yapısı üzerine anlatmayı düşünüyorum. O yüzden şimdiden sana lazım olacak yerleri bir kenara al derim. Orjinal cümleleri değiştirerek yazarsan okuyucular için daha iyi olur, yukardaki arkadaşın da rica ettiği gibi temel konuları nesne, bellek, belirteçlere girmeden anlatırsan daha faydalı olur. |
Tamam bi dersi sadece temel yapısı oturtmak için kod falan vermeden anlatayım o zaman.![]() |
Güncelleme yapılmıştır.Konumuz devam edecek olumlu olumsuz yorumlarınızı bekliyorum.![]() |
Selam arkadaşlar, öncelikle Alexander Supertramp! ellerine klavyene sağlık, bildiğin veya halen öğrenmeye çalıştığın şeyleri burada paylaşman gerçekten çok iyi. Bu başlık altında gerçekten güzel işler çıkacağına eminim. Ben de diğer arkadaşlar gibi biraz ağırdan alma taraftarıyım. Öncelikle type decleration, if conditions, while loops, methods, ... vb. şeklinde ilerleyip baştan başlama daha anlaşılır kılabilir. Aralarda da Javanın avantajlarından bahsederiz. =) Eğer katılım olursa haftada 1-2 assignment verilerek problem-çözümü şeklinde ilerleyebiliriz. (ödev gibi önce herkes yapmaya calisacak, sonra çözüm açıklanacak, okul misali ). zamanım oldukca bende katılmak isterim. konuyu takipteyim ![]() Emeğinize sağlık. |
temel seviyeden başlayarak ödev-çözüm konusu mu açsak? bir konu belirlenir; elinde örnek olanlar paylaşır bir süre sonra da cevabı verilir, çözümler üzerinde değerlendirme yapılır. |
Öncelikle Konuyu takipte olduğunuz için teşekkür ederim.Her ne kadar bilgimi paylaşsam da sonuçta paylaşıldığını bilmedikten sonra pek hevesli ilerleyemiyordum.Fakat Takip olduğunu görmek biraz daha hevesli olmamı sağlıyor. Öncelikle şunu belirtmeliyim ki yeni öğrenenler için en zor şey temel oturtmaktı.Çünkü birsürü terim kullanılıyor.Onları yavaş yavaş öğretmek çok zor.Veri türlerini koşul yapılarını dediğiniz gibi bir derste anlatmayı planlıyorum.Ama bi konuya girdiğimde diğer konulara değinmeden konuyu anlatmak çok zor.Hem de sürekli ilerde göreceğiz demeyi sevmiyorum akılda kalıcı olmuyor. Aslında yapılabilecek en güzel şey dediğiniz gibi bir kod vermek ya da bir sorun söylemek ve onun üerine kodlamak ve açıklamak.Ama öyle bir konu ayrıca açılabilir.Çünkü yeni öğrenmek isteyen biri Topiğe girecek ve bir bakacak onun gözünde bir kod yığını..Böyle görünmesini istemediğimden temeli bu şekilde atıp kodları ayrı vermek isterim.ikinci dersten sonra 2-3 gündür 3. dersi koyamadım şu 2-3 gündür Java bilgime az da olsa güvenerek Android Programming işine kalkıştım.Java eğlenceli bir dil bırakmamak gerekiyor tabi ki de. İnşallah yarın bir ders eklemeyi düşünüyorum.Yine döküman tarzında ekleyeceğim.Video kaydetmeyi düşündüm fakat bu konuda acemiyim o yüzden Kafa karıştırmak istemem.Klavyede yazarken yanlış yazdığımız şeyi düzeltebiliyoruz ama videoda anlatırken bu öyle olmayabiliyor. Dediğim gibi Ders 3 ile devam edeceğim.Yeni arkadaşlara da yardımcı olmuş oluruz.Bu arada bu başlık altında Anlatılsın anlatılmasın sorular olursa yöneltin burda birsürü arkadaşımız var cevaplayabilecek ve bende bildiğim kadarıyla yardımcı olmaya çalışırım.. |
Arkadaşlar basit ama önemli bir dersi daha ekledim değişken veri tiplerini.Normalde bir kaç satırla hepsi anlatılabilirdi ama uygulamalı gösterdim.Hadi kolay gelsin. |
Anlatımın çok güzel takipteyim 4. dersi merakla bekliyorum ![]() ![]() |
şöyle ön sayfalardan |
resimlerde olu. |
up.. nerde devamı... |
Devamı gelmicek mi? |
Istanbul'da ozel bir sirket icin ben de java dersi veriyorum. Konuyu devam ettirebilirim ama konuyu baslatan arkadasin ve takip eden kimselerin planini bilmem gerek. Genelde temel class,lar ; if - else, loop , exception falan seklinde gidiyor ders mufredati. |
1. sayfa
Öncelikle bu java programlama temel olarak olucak.Direk 500-600 satırlık kodlara girilmeyecek mantığını kavratmaya çalışacağım.Sakın yazıyı yarıda bırakmayın bu yazıyı uygulamanız en fazla 1 saatini alıcaktır. Lütfen bırakmayın yazıyı.
Bsit bir anlatımla konuyu size sunayım.
Ders 1 - Programlamaya Giriş
Bu yazıda sizleri Java programlamaya yeni başlamış Eclipse(kodları yazacağımız IDE)’ini yeni yüklemiş Eclipse simgesine tıklamış ama ne yapabileceğini nereye kod yazacağını bilmeyen biri olarak görerekten bende sizinle beraber eclipse’imi açıyorum ve Öğrenmeye başlıyoruz.
Burada size javaya giriş kapsamında bir kaç örnek kod yazıcam.Öcelikle Eclipse’i açıyoruz.Solda bulunan Package explorer sütunumuz var.Burda paketlerimiz tutuluyor.Bunu daha sonra ayrıntılı olarak söyleyeceğiz zaten. Şimdilik elimiz alışsın diye bir program yazmamız gerek.Evet package axplorer sutununa sağ tıklıyoruz New>New project diyoruz.Daha sonrada projemize bir isim veriyoruz.”BenimDünyam” ismini verelim mesela.Sonra OK’liyoruz.Artık Package Explorer sutunumuzda bir projemiz var.şimdi bu paketin içinde sınıf(Class)ımızı oluşturalım.Bunu oluşturmak için BenimDünyam projesine sağ tıklayıp New>Class’ ı seçiyoruz.Bunun ismini de ne koyalım? “Merhaba Dünyam” koyalım.Ayrı yazdım ve kabul etmedi.Bunu da öğrenmiş olduk.Sınıfa isim verirken birleşik bir kelime kullanmalıyız.Class yani sınıf( artık yabancı terim kullanmaya alışalım) adımızı koyduktan sonra enterlıyoruz ve artık sınıfımız oluşuyor.Farkında bile olmadan program yazmaya başladık bile.Şimdi aşağıdaki resimde aslında programlama bilenler için basit gelsede.Yeni başlayanlar çok şey öğrenicek.Bu kadar ayrıntıya girmem bilenler için komik geliyor olabilir ama temeli sağlam atmaları gerekiyor yeni başlayanların.
< Resime gitmek için tıklayın >
Resimde kafamıza takılan yerleri anlattım.Sınıf adını da dosya adıyla aynı hale getirdikten sonra programımız çalışır hale gelicektir.Ben bu programı nasıl çalıştırcam diyorsunuz duyar gbiyim. Ctrl+f11 kısayolu ile çalıştırabilirsiniz.Ya da üst kısımdaki “run” kısmından halledebilirsiniz.
Şimdi kafamıza “ya bu public ne static ne void ne?” diye soru işaretleri olabilir.Olması da çok güzel birşey körü körüne öğrenmemiş olursunuz.Kısaca bunlardan söz edicem ilerde daha açık bir şekilde öğrenicez.
Bu bizim main method(ana metod) umuz.Her programda bu main metot bulunmak zorunda.
System.out.println(“”);
Bu ise java dilinde çıktı vermek için kullanılır eğer ekrana bişeyler yazdırmak istiyorsak bu satırı kullanmak zorundayız.
Yani biz ne yapacaksak bu main metot içinde mi yapmak zorundayız diye bir soru işareti oluşabilir tabiki de hayır.Başka bir sınıf daha oluştururuz ve bunun içinden diğer sınıftan bir yordam çağırabiliriz.Örnek üzerinde görsek daha iyi olucak.
Bu bizim JavaDunyam sınıfımız diyelim.Bunun çıktısı ne olur.Tabiki de main metodun içini okur program.Main metodun içinde ne var?
System.out.println("Java Dunayasina ilk adimimi attim galiba...");
Sadece bu var.Ee alttaki Deneme isimli metodumuzu niye yazdık?tabiki de başka bir sınıftan bunu okumam için.Şimdi ayrı bir sınıf daha oluşturuyoruz.Sınıf olusturmayı öğrenmiştik bir projede yüzlerce sınıf olabilir.O yüzden yeni bir sınıf oluşturun ve ismini “Dıger” koyun.Ya da başka bi şey adı size kalmış.
Bakın ne yaptım? Diğer isimli bir sınıf oluşturdum.hemen ardından bir main metot tanımladım.
JavaDunyam jd=new JavaDunyam();
Bu da neyin nesi diyebilirsiniz.Burda ben bir nesne oluşturdum.Bu kod diyor ki: Buralarda biryerlerde JavaDunyam isimli bir sınıf var ve ben o sınıfın içindeki metotları kullanabilirim demek.Yani artık JavaDunyam sınıfının içine erişebilirim. Bu JavaDunyam nesnesinin ismini jd yaptık.Şimdi önceden yazdığımız Deneme(); isimli kodu kullanabiliriz.Çünkü Deneme isimli metotun içinde bulunduğu sınıfı tanımladık artık tanıyoruz. Jd.Deneme(); satırı bizi jd nesnesinin Deneme(); metoduna gönderiyor.
Sanırım açıklık getirdim bu duruma.Elimden geldiğince basit anlatmaya çalıştım Kafanız biraz karışmış olabilir.Farklı farklı çıktılar verip elinizi alıştırın.Bir çok kez sınıf oluşturun hepsinin içinde metotlar yazın basit basit ve çıktı alın.
Bu arada kimse de sormuyor “;” bunu biz niye koyuyoruz diye.Dil bilgisi dersinde görmüşüzdür.Biten cümlenin sonuna ne sonra gelir? Nokta. Bizde de böyle yani biz javacılar her satırın sonuna “;” koyarız.Bazen koymayız ama şimdilik koymucağımız durumları bilmiyoruz.Öğrendiğimizde zaten koymamamız gereken yerleri göreceğiz.
Unuttuğum yerler inşallah yoktur.Biz de insanız sonuçta bütün herşey aklımıza gelmeyebiliyor.
Umarım javacılar bütün bu dediklerimi uygular ve en önemli adımı atmış olurlar.
Hadi kolay gelsin.
Ders 2 - Herşey Kod Değildir!!
Bu konuda Class mantığını anlatıcam yeni başlayan arkadaşlara.Class lara başlamadan önce Bilmemiz gerek bir kaç şey var. Java dilinin nasıl bir dil olduğu..Java dili bilindiği gibi OOP yani object oriented programming türkçe haliyle nesneye yönelik programlamadili.Nedir bu nesneye yönelik programlama dili.Düşünenler düşünüyor “ nesneye yönelik nesneye yönelik hani nesne? Yoksa nesne de mi bir bilgisayar terimi” Tabiki de hayır.Bu programlar yazılırken tamamen insan çevresi ihtiyac duyduğu araçlar yani insan ihtiyaçları düşünülmüş.Nesne dediğimiz ise biziz.Yani çevremizdeki herşey yaşadığımız alan. Ben size bunu uzun uzun anlatmak yerine mükemmel şekilde anlatmış bir hocamın yazısından alıntı yaparak bu bilgileri size sunmak istiyorum.Unutmayın ki iyi bir programcı da bu bizim geçtiğimiz yollardan geçti. Şimdi size o kısa yazıyı sunuyorum..
Java'nın Tadı Sınıflarda Saklı
Pazar sabahları ne yaparsınız? Peki bir bilgisayar programcısı olsanız ne yaparsınız? Muhtemelen, cumartesi gecesinin sabaha kadar süren çalışmalarından başınızı kaldıramadığınız için, bütün gün uyumak isteyebilirsiniz. Ben çoğunlukla ve düzenli olarak, İstanbul Bostancı sahilinde çok erken saatlerde yürüyüş yaparım. Sabah 6 ile 7 arası inanılmaz bir huzur bulurum burada. Bir yandan denizden gelen tertemiz iyotlu hava, diğer yandan sessizlik, martı seslerinin ahengi ve göz kamaştırıcı güzelliği ile İstanbul boğazının Marmara denizi ile kucaklaşması. Matematikçi olmamın bana verdiği kazanımlardan birisi, etrafta olup bitenleri son derece felsefik inceleyebilme yeteneği. Sizde bilirsiniz ki tarihin en ünlü matematikçileri mantık, sosyoloji, felsefe, psikoloji gibi bilimlerle hep yakından ilgilenmişlerdir. Onlardan birisi olmayı çok isterdim gerçekten.
Herşeyden önce bir programcı pek çok zorlukla, hayatta karşılaştığından çok, programlarını yazarken karşılaşır. O nedenle, sağlıklı ve ruhsal açıdan huzurlu bir beden, onun bu zorlukları aşmasında en büyük yardımcıdır. Ben bu yürüyüşleri çoğunlukla kafamı boşaltmak, kendi dünyamda huzur bulmak ve gözümden kaçan ayrıntıları daha sağlıklı inceleyebilmek amacıyla yaparım. İşte bu sabahta o amaçla yapılan bir yürüyüşteyim.
Adımlarımı attıkça, ciğerlerime dolan nefis iyotlu deniz havası daha sağlıklı düşünmemide sağlıyor. Etrafıma baktığımda, her türden nesneyi daha berrak sezinleyebiliyorum. Nesne! O o! Bu lafı bana kim söyletti? Nesne...Nesne...Gerçekten de şöyle bir durdum ve etrafıma bakındım. Her yerim , ben de dahil olmak üzere nesnelerden oluşmaktaydı. Evrenin sahip olduğu gizemi ve mükemmelliği kimse inkar etmez. Çağımız boyunca ve gelecektede pek çok teknolojik, endüstüriyel, matematik yaklaşıma ilham kaynağı olmuş sistematikler içerir. Bu düşünceler ile tekrar yürümeye başladığımda, nasıl olduysa bir anda kendimi bilgisayar dillerinin gelişimini düşünürken buluverdim. Basic, pascal, C, Fortran vesaire... Sonra tekrar durdum. Aklıma C++,Java,C# gelivermişti birden bire. Hepside nesneler ile uğraşan, nesneler üzerine kurulu yapılara sahipti. Hepside Nesneye Dayalı Programlama dillerindendi.
Nesne kavramını, günümüz modern programlama dillerine kim yerleştirmiş ise eminimki benim gibi bir yürüyüş sırasında bunu yapmıştır diye düşünüyordum. Bir anda kendimi Yazılım Mimarları gibi düşünürken, ayağımı yere sürtüp tepe taklak tabir yerinde ise iki seksen yere uzandım. Allahın tokatı yoktur derler. Neyseki kendime gelmiştim. O adamların tırnağı bile olmak büyük bir onur olurdu sanırım. Evet sonuç itibariyle sabahları bu kadar erken yürümemin nedeni buydu. Tökezleyip düştüğümde etrafta kimsenin olmayışı...Sonuç itibariyle geriye dönüp baktığımda, hem programlama dillerinin nesneye dayalı hale gelmesi ile, yaşamımızın ekosistemini örnek alarak ne kadar büyük üstünlükler sağladığını düşünüyor, bir yandanda ne kadar uzağa yürümüşüm şimdi nasıl geriye dönecem diye veryansın ediyordum. Aklıma her zaman olduğu gibi parlak bir fikir geldi. Dönüşte çevremdeki nesnelerin programlama dillerindeki etkilerini düşünecektim.
Çevremizde ne kadar çok nesne var. Çiçekler, böcekler, insanlar, arabalar, otobüsler, kuşlar, taşlar, kayalar...Bu liste o kadar kabarıkki saymaya kalkmak bile sonsuzlukla çarpışmak gibi bir şey olsa gerek. Her nesnenin belli bir takım özellikleri, işlevsellikleri ve hatta amaçları var. Bazı nesneler bir araya gelerek başka yeni nesnelerin doğmasına neden olurlarken onlara bir takım ortak özelliklerinide veriyorlar. Aynı insanların bir araya gelerek evlenmesi, çocuk sahibi olması ve çocuklarına kendi özelliklerinden bir takım kalıtımlar bırakması gibi. Bazı nesneler kendi içinde kapalı, sahip olduğu değerleri değiştirilemeyen ama gözlemlenebilen türden. Bazı nesneler ufak değişikliklere uğrayarak başka nesnelere ilham kaynağı olmuşlar. Bu çeşitlilik altındaki tüm neselerin ortak özelliklerini bir arada düşünmek ve bir kenara koymak onları bu ortak niteliklerine göre sınıflandırmaktan başka bir şey değil.
Otomobilleri bir sınıf altında düşünebiliriz. Her otomobil 4 tekerlekli, motoru olan, ileri geri hareket edebilen, direksiyona sahip ve benzinle çalışan, gaza basıldığında viteste ise hareket eden, frene basıldığında duran ve bunlar gibi pek çok ortak özelliğe ve işleve sahip olan birer nesne. Ama bu sınıfa ait tüm nesneler bir birlerinden farklı olabileceği gibi birbirlerinin aynısıda olabilir. Otomobil firmalarının arabalarını düşündüğümüzde, hepsinin farklı özelliklere sahip ama temel işlevsellikleri neredeyse aynı olan nesneler olduklarını söyleyebiliriz. Hatta üretim hattından yeni çıkmış tüm gri renkli opel vectra 1.6'lar motor seri numaraları hariç birbirlerinin aynısı olan nesnelerden oluşan bir nesne koleksiyonundan başka bir şey değildir.
İşte gerçek hayattaki nesnelerin bizler için anlamı ve önemi neyse, nesneye dayalı bir programlama dili içinde nesnelerin anlamı o derece önemlidir. Herşeyden önce, bu dillerde bütün kavramlar, nesnelere ve dolayısıyla bu nesneleri oluşturmak yada örneklemek için kullanılan sınıflara bağlıdır. Düşünün ki object sınıfı değilmidir C# dilinde ve hatta Java'da en üst sınıf. Java programlama dilide tam anlamıyla nesneye dayalı bir dil. Dolayısıyla nesneleri kullanan bir dil. Nesneleri, sahip oldukları özellikleri, değerleri ve işlevleri ile kullanan bir dil. Bu düşünceler eşliğinde geri dönüş yolunu tamamladım. Artık eve dönme vaktim gelmişti. Şu andan sonra yapılacak en güzel şey, eve gitmek sıcak bir duş almak ve Pazar sabahının gazetelerini okuyup güne merhaba demekti. Ama ne yazıkki böyle olmamıştı. İçimdeki korkunç öğrenme açlığı, gazete yerine Java ile ilgili kaynakları araştırmama neden oldu. Ama her zaman olduğu gibi yanımda sıcak bir kahvem vardı.
Uzun süre camdan dışarı bakarak sınıfların yerini düşündüm ve onları daha iyi anlamaya çalıştım. Gerçektende Javada'da diğer nesneye dayalı programlama dillerinde olduğu gibi herşey sınıflar üzerine kurulu idi. Dolayısıyla sınıfları çok iyi kavramak programlama dilini öğrenirken yaşadığım süreçte çok ama çok önemliydi. Önemli olan sadece sınıfların nasıl yazıldığını öğrenmek neleri ihtiva edeceğini bilmek değildi. Sınıfları en uygun şekilde, en etkin ve verimli şekilde kullanabilmekte çok önemliydi. Söz gelimi, bu gün .net dilinde, veritabanlarındaki veriler ile çalışmak için inanılmaz kabiliyetli ve yetenekli sınıflar vardı. Java içinde bunların benzerlerini yazmak istememiz bu tip sınıfları tasarlamamız anlamına geliyordu. Veya veritabanlarından okuduğumuz veri satırlarını düşünelim. Bunları birer sınıf nesnesi olarak uygulamamıza yerleştirmek , işlemlerimizi dahada kolaylaştırmazmıydı. Veritabanına bağlanır istediğimiz satıra ait verileri uygun bir sınıf nesnesine aktarır ve bunları tekrar veritabanına gönderinceye kadar bağlı olmak zorunda kalmazdık. Aynı DataSet kavramı gibi. Ama daha sade, daha kolay ve belkide daha etkili.
Elbette Java dilinde veritabanları ile ilgili ne tür işlemler yapabileceğimi ne tür kabiliyetlere sahip olduğumu şu an için bilmiyorum ama ileride bunları öğrenmek içinde can atıyorum. Ama şu an için yapacağım sınıfların nasıl oluşturulduğunu ve kullanıldığını anlamak olucak. Java dilini öğrenmeye devam ettikçe sanıyorumki sınıf kavramını çok daha iyi kavrayacağım. Gerçi, bu kavrama C# dilinden oldukça aşine ve hakimim. Ama Sun'ın belkide bilmediğim sürprizleri vardır bu konuda. Neyse deneyip göreceğiz. Normalde kendimce bu kadar çok konuşmam. Aslında daha az söz ve daha çok hareket taraftarıyımdır. Eeee atalırımız ne demiş; nerde hareket orda bereket. Tipik bir uygulamacı işte. O bakımdan makinemin başına geçip ilk sınıfımı yazsam iyi olucak sanırım.
Hocamızın bu yazısının devamını koymayacağım çünkü ben bu konuda sadece söz ile iletişim kurmak istedim. Kod ile değil.Önce mantık olarak sevmeliyiz bu dili.
Yukarda hocamızın da yazdığı gibi nesne yönelik programlamanın temelleri atılmış.Şimdi düşünelim etrafımızda herhangi bir cisim düşünelim. Ben eve şöyle bir göz gezdirdim. Karşımda 82 cm bir LCD tv gördüm.Şimdi bu bir televizyon.Bunu nasıl Class’a bağlıcak demeyin.Bakın şimdi nasıl bağlayacağım.Bu LCD televizyon bir sınıfım olsun benim.Bu sınıfın ismi LCD TV olsun.Yani etrafımdaki bir nesneye Programlama dilinde LCDtv ismini verdim.Benim televizyonumbu sınıfa ait.Ama olmayabilirdi de.Ya LCD olmasaydı LED olsydı ne olacaktı sınıfsız mı kalacaktı.Bakın günlük yaşamımızda LED tvler çıkmaya başladı bu da demek olabiliyor ki varolan her şeyin bir sınıfı vardır.Ben o LED tv yi de LEDtv isimli bir sınıfa koyarım kafamda. Bir çok çeşidi sınıflandırırım.
Şimdi diyeceksiniz ee hepsi televizyon bunların LED de olsa televizyon LCD de olsa televizyon.E tamam bişey demedik zaten Java da karşı gelmiyor buna. İkisininde babası televizyon diyor. TELEVİZYON sınıfının içinde bunlar dallanmış ve kendi sınıflarını oluşturmuşlar. Televizyon sınıfı ,çamaşır makinesi sınıfı, buz dolabı sınıfı vesaire.Bunlarda Elektronik eşya sınıfının içinde dallanmış ve oluşmuş.böyle böyle hepsinin bir sınıfı var gerek alt alta gidiyor bu sınıflandırma gerek farklı farklı ama hepsinin bir sınıfı var.Ve herşeyin bir en üst sınıfı vardır değil mi.”Varlık” Herşey bir varlıktır değil mi.Yani her sınıf ne olursa olsun mesela Tvkumandası, bu da bir varlıktır değil mi.Java da da bu var.Her sınıfın Atası “Object” yani nesne sınıfı.Bakın doğamızla ne kadar da benziyor java.Doğada bulunup da Java programlama dilinde bulunmayan bir şey görmedim ben.
Şimdi arkadaşlar sınıf kavramını biraz da olsa oturttuk Kısaca Bir sınıfın özelliklerinden bahsedip bitircem.Şimdi az önce biz sınıf saydık saydık saydık da kimse de demedi arkadaş bu sınıflar nedir içlerinde neler vardır.
Sınıfların içinde neler var bakalım.Yine benim güzel LCDtv sınıfımı örnek vericem.Benim bu sınıfımın nesi var.İçinde neler var.Öncelikle bu televizyonumun bir boyu var , bir eni var, bir ağırlığı var tuş sayısı var her tuşun ayrı bir özelliği var, hatta Kumandası bile var!!
Ee var da var.İşte sınıfımızın içinde bunlar var.Ben bir televizyon sınıfı oluşturmak istediğimde de bu sınıfın içini değerlerle doldurmalıyım özellikler atamalıyım bu sınıfıma.İşte biz bu sınıfa atadığımız değerlere değişken diyoruz.Biz ağırlık değişkenini, boy değişkenini en değişkenini direk kendimiz belirliyoruz.Yani bi bir televizyon yapıyoruz aslında.
Sanırım konu burda kod yetmezliğine uğruyor yavaş yavaş.Bu yazıyı burda noktalamak istiyorum bidahaki anlatımda değişken tiplerini ve metodları anlatmayı düşünüyorum.Umarım açıklayıcı olmuştur. Hocama da yazısı için teşekkür sunuyorum.
Kolay gelsin .. Java java java
Ders 3 - Değişken Veri Tipleri
Bu yazı dizimizde kısa olarak değişken veri tiplerinden bahsedeceğim.Zaten uzatmanın anlamı yok tamamen bakıp aklımızda tutacağımız kullandıkça artık toplama çıkartma gibi gelicek bir konu.Neyse uzatmadan konuya gireyim.
Biz bir iş başvurusuna gittiğimizde bize bir form verdiler.Formda doldurmamız gereken yerler ad: soyad: yaş: vs. Bu şekilde gider.ad gördüğümüz yere adımızı yazarız değil mi.Tutup da ad yerine 21 yazarsak Formu okuyacak kişi bunu anlamaz.Değişken veri tipleri de böyledir.Bir program yazarken sayısal verilere ihtiyaç duyarız değil mi.Mesela bir oyun kodlarken arabanın bir hızı vardır değil mi.bu da sayısal bir terimdir.Ya da karakter seçerken her karakterin bir ismi vardır ayrıyetten bu karakterimizin kilosu boyu ve yaşı vardır.
Mesela bu karakterimizin yaşına 20 gibi bir tam sayı değeri diyebilirken boyuna 1 metre ya da 2 metre diyemeyiz bir buçuk metre ise 1.50 cm deriz.Yani ondalıklı bir sayı kullanırız.İşte programlama dilinde bunlara bizim dediğimiz gibi tamsayı ondalıklı sayı gibi kelimeler yerine bazı sözcükler verilmiş.
Şimdi size onlardan bahsedeceğim.
< Resime gitmek için tıklayın >
Yukarıdaki tabloda da görüldüğü gibi.4 tane tamsayı veri tipi,2 tane kesirli sayı tipi,1 tane karakter tipi, 1 tane de mantıksal veri tipi vardır.Şimdi bunları tek tek açıklığa kavuşturacağım.
Tamsayı veri tiplerine şöyle bir bakalım.Alan büyüklüğü Byte dan başlıyor longa kadar artıyor.
Neden böyle olduğunu az çok tahmin ediyorsunuzdur.Alan büyüklüğü artarsa içinde tutabileceği değer de artar.
Mesela bir sayıyı Byte oalrak tanımlayacaksak. Ona -2^7 ile 2^7-1 yani -128 den 127 ye kadar değerleri verebiliriz.Ben programımda doğum yılını istiyorsam Byte’ı kullanamam çünkü 1985 gibi bir rakam girilcek ve bu rakam doğum yılına ait olucak.
Değerler bu şekildedir.Bunların kullanım sıklığı genelde integer(int) veri tipi tercih edilir.Ama deneyimli bir programcı neyi nerde kullanıcağını bilir. Çünkü byte kullanabileceğin yerde sürekli int kullanırsan yazacağın program tabloda da görüldüğü gibi 8 kat fazla yer kaplıyor değil mi? İşte bu yüzden neyi nerde kullancağınız ilerde önemli olucak.Ben daha yolun başındağım hepsini kullanamıyorum bu sizin için de o kadar öenmli değil mantığını kavrayın yeter.
Şimdi bu tamsayı veri tipiyle ilgili bir program yazıp bir SS ini alayım.
< Resime gitmek için tıklayın >
Burada programımız çalışmadı. Nedenini de açıklamıştım Byte c değerine aralığı dışında bir değer atadım o yüzden.Bu şekilde değerleri değiştirip deneyebilirsiniz.
Byte’ ın değer aralığını söyledim ama diğerlerini söylemedim.Onu şöyle hesaplayabilirsiniz. Byte 8 bit alan kaplar, short 16 bitlik , int 32 bitlik. -2^(n-1) den başlayıp +2^(n-1) -1 e kadar gider.
Tam sayı veri tiplerini anladığımıza göre şimdi kesirli sayı tiplerini şöyle bir özet geçelim.
Kesirli sayı bildiğimiz gibi ondalıklı 25.6 ya da 98.658 gibi sayılardır.Bu değerleri ben int,byte , short gibi değerlerle gösteremem. Bunların da kendi değerleri vardır.Bunlar double ve float dır.
Şimdi bir kod parçacığıyla olan biteni açıklığa kavuşturacağım.Ama bu kod parçasında sizin görmenizi isteyeceğim bir şey daha yapacağım.Bakalım..
< Resime gitmek için tıklayın >
Resimde yeterli şekilde anlattım umarım.Kaçırdığım yerler olabilir biz de insanız sonuçta.
Şimdi elimizde ne kaldı.Sadece char ve boolean.Bunları da anlatıp bitirmek istiyorum.
Char nedir? Şimdi tamsayıları ondalıklı sayıları gördük ama char sayı değildir arkadaşlar karakter dizisidir.
“a” bir karakterdir mesela “f” de bir karakterdir.
Ve javada şu şekilde gösterilir.
Tek tırnak arasında belirtilir.
Şimdi geldik boolean veri tipine.Bu önemli bir tiptir.Önce sözel olarak anlatıcam sonra bir kod göstericem.
Şimdi boolean 2 tane değer döndürür.Doğru ya da yanlış yani true ya da false.
Bilgisayar için bir şey ya True dur ya da False dur. Şimdi aslında biraz düşününde Loops konusunda anlatmam daha iyi olur bu true false kavramını.Ama kullanımını altta vereyim kullanımını bilin siz.
Bu kodu yazdıktan sonra MyBoolean ifadem true değerini alır. Sayı değil de true ya da false işte.
Arkadaşlar bilmiyorum ne kadar açıklayıcı oldu.Aklınıza takılan birşey varsa sorabilirsiniz.Belki biraz yavaş ilerliyorum ama hiç bilmeyenleri de göz önüne alıyorum.Artık konular biraz da alengirli yerlere girecek.Eğlenceli olmaya başlayacak.Olumlu olumsuz eleştrilerinize açığım.Takipte kalın.
Hadi kolay gelsin kodlayın bakalım..
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi Alexander Supertramp! -- 20 Temmuz 2012; 17:07:31 >