JAVA Programlama Dili ve YazılımTasarımı Yazar: Altuğ B. ALTINTAŞ Editör: Rifat ÇÖLKESEN
ISBN: 978-975-6797-40-2 7. basım, 17 Ağustos 2016, 720 sayfa, (16,5x24 cm2), 1. hamur kağıt. | |
Java Programlama Dili ve Yazılım Tasarımı PDF indir şimdi satın al
Bu
kitapta, Java programlama dili başlangıçtan ileri düzeye kadar her
açıdan ele alınmıştır. Böylesi bir eser bir yazılım tasarımcısının
veya bir programcının her zaman elinin altında bulunması gereken
klasik bir eser niteliğindedir. Çünkü Java programlama diliyle
ilgili, yeni başlayan ve profesyoneller için neredeyse herşey bu
kitapta vardır. Yazarının Java konusunda engin deneyimi ve
editörünün bilgisayar mühendisliği konusundaki olgunluğu bu kitaba
doğrudan yansımıştır ve böyle bir eserin bir benzerini hazırlamak
nerede ise imkansız olmuştur. (...) Java programlama dili, Sayın ALTINTAŞ’ında belirttiği gibi “uygulamaların farklı işletim sistemleri üzerinde çalıştırılabilmesi düşüncesiyle geliştirilmiş bir teknolojidir. Java teknolojisi kullanılarak aynı uygulama farklı ortamlarda çalıştırılabilir. Örneğin kişisel bilgisayarlarda, tablet bilgisayarlarda, üstelik cep telefonlarında... Java™ platformu hem programlama dili, hem de bir ortam olarak düşünülebilir. Programlama dili olarak, açık kodlu, nesneye yönelik, güvenli, sağlam, İnternet için elverişli bir teknolojidir denilebilir. Kısaca göz atılırsa Java ile, GUI (Grafiksel Kullanıcı Arayüzü) uygulamaları, Applet’ler, veritabanına erişimle ilgili uygulamalar, Servlet, Jsp (Web tabanlı uygulamalar), dağınık bileşenler, cep telefonları, Smart kartlar için uygulamalar, Apache Wicket ile Web uygulamaları vs gibi birçok alanda uygulama geliştirilebilir.” Dr. Rifat ÇÖLKESEN
İÇİNDEKİLER
Bölüm 1. Java nedir?1.1. Java ile Ne Yapılabilir? 1.2. Java Nasıl Çalışır? 1.3. Java Sınıflaması Standart Java Komple Java Gömülü Cihazlar İçin Java XML Teknolojileri Diger Teknolojiler 1.4. Java’nin Gelişim Evreleri 1.5. Java’nin Başarılı Olmasındaki Anahtar Sözcükler 1.6. Çöp Toplayıcı 1.7. Java’da Açıklama Satırı 1.8. Hersey Nesne 1.9. Sınıf Nedir? Nesne Nedir? 1.10. Depolanan Veriler Nerede Durmaktadır? 1.11. Temel Tipler 1.12. Geçerlilik Alanı 1.13. Nesnelerin Geçerlilik Alanları 1.14. Yeni Sınıf Oluşturma 1.15. Alanlar ve Yordamlar 1.16. Ilk Java Programımız 1.17. Java Kurulumu, Derleme ve Çalıştırma Java’nin Unix/Linux İşletim Sistemlerinde Kurulumu Java’nin Windows İşletim Sisteminde Kurulumu Java Kodlarini Derleme ve Çalıştırma 1.18. args[ ] Nedir? Ne İş e Yarar? 1.19. Javadoc = Yorum Ile Dokümantasyon Oluşturmak 1.19.1. Söz Dizimi Kurallari 1.19.2. Gömülü HTML 1.19.3. Doc Tag Ortak Kullanilan Yorum Ekleri Sınıflara Ait JavaDoc Etiketleri Global Degiskenlere Ait JavaDoc Etiketleri Yordamlara Ait JavaDoc Etiketleri 1.19.4. Dokümantasyon Örnegi 1.20. Sınıf İsimleri ve Yordam İsimleri 1.21. Dosya İsimleri 1.22. Özet 1.23. Sorular
Bölüm 2. JAVA’DA PROGRAM DENETİMİ VE OPERATÖRLER 2.1. Atamalar 2.1.1. Temel Tiplerde Atama 2.1.2. Nesneler ve Atamalar 2.2. Yordamların Çagrılmasi 2.3. Java Operatörleri 2.3.1. Aritmetik Operatörler Dönüstürme İşlemi Bir Artirma ve Azaltma 2.3.2. Iliskisel Operatörler 2.3.3. Mantiksal Operatörler 2.3.4. Bit Düzeyinde Operatörler: VE, VEYA, YA DA, TÜMLEME ve Öteleme Operatörleri 2.3.5. Atama Operatörleri 2.3.6. String Operatörü 2.3.7. Nesnelerin Karsilastirilmasi 2.4. Kontrol Deyimleri/Ifadeler 2.4.1. Döngü Deyimleri: while, do-while, for Döngü Deyimi 2.4.2. Karsilastirma Deyimleri: if-else ve switch Deyimi 2.4.3. Dallandirma Deyimleri: break, continue ve return Deyimi 2.5. Özet 2.6. Sorular
Bölüm 3. NESNELERİN BAŞLANGIÇ DURUMU VE TEMİZLİK 3.1. Baslangiç Durumuna Getirme İşlemi ve Yapılandırıcılar 3.1.1. Bir İsmin Birden Çok Yordam Için Kullanilmasi-Adaş Yordamlar - Adas Yordamlar Nasıl Ayirt Edilir? - Dönüs Degerlerine Göre Adas Yordamlar Ayirt Edilebilir mi? 3.1.2. Varsayılan Yapılandırıcılar - Büyünün Bozulmasi 3.1.3. this Anahtar Sözcüğü - Yordam Çagrimlarimda this Kullanimi - Bir Yapılandırıcıdan Diğer Bir Yapılandırıcıyı Çağırmak 3.1.4. Statik Alanlar 3.1.5. Statik Yordamlar 3.1.6. Bir Yordamın Statik mi Yoksa Nesne Yordamı mi Olacağı Neye Göre Karar Verilecek? 3.2. Temizlik İşlemleri: finalize() ve Çöp Toplayıcı 3.2.1. finalize() Yordamı 3.2.2. Bellekten Hangi Nesneler Silinir? 3.2.3. finalize() Yordamına Güvenilirse Neler Olur? 3.2.4. Çöp Toplayıcısı Nasıl Çalisir? 3.2.5. Heap Bölgesi 3.2.6. Yeni Nesil 3.2.7. Eski Nesil 3.2.8. Heap Bölgesi Boyutlari Nasıl Denetlenir? 3.2.9. Kopyalama Yönteminin Gösterimi 3.2.10. İş aretle ve Süpür Yönteminin Gösterimi 3.2.11. Ilk Degerlerin Atanmasi 3.2.12. Yerel Degiskenler 3.2.13. Nesnelere Ait Global Alanlar Nesnelere Ait Global Alanların Temel Bir Tip Olmasi Durumunda Nesnelere Ait Global Alanların Sınıf Tipi Olmasi Durumunda 3.2.14. Sınıflara Ait Global Alanlar Sınıflara Ait Global Alanların Temel Bir Tip Olmasi Durumunda Sınıflara Ait Global Alanların Sınıf Tipi Olmasi Durumunda 3.2.15. Ilk Degerler Atanirken Yordam Kullanimi 3.2.16. Ilk Deger Alma Sirasi 3.2.17. Statik ve Statik Olmayan Alanların Deger Alma Sirasi 3.2.18. Statik Alanlara Toplu Deger Atama 3.2.19. Statik Olmayan Alanlara Toplu Deger Atama 3.3. Diziler 3.3.1. Dizi Türündeki Referanslar 3.3.2. Dizileri Oluşturmak Temel Türlerden Olusan Bir Dizi Nesnelerden Olusan Bir Dizi 3.3.3. Dizi Boyu/Uzunlugunun Değiştirilmesi 3.3.4. Dizi Elemanlarina Erişim 3.3.5. Dizi Elemanlarını Sıralama 3.3.6. Dizilerin Dizilere Kopyalanması 3.3.7. Çok Boyutlu Diziler 3.4. Özet 3.5. Sorular
Bölüm 4. Paket EriŞimleri4.1. Paket 4.2. Varsayilan Paket 4.3. Paket Oluşturma 4.4. Classpath Ayarları 4.5. Çakisma 4.6. Paket İçerisindeki Tek Başına Yürütülebilir Uygulamaları Çalıştırmak 4.7. JAR Dosyaları 4.8. Erişim Belirleyiciler: friendly, public, private ve protected 4.9. Kapsüllenme 4.10. Genel Bir Bakış 4.11. Özet 4.12. Sorular
Bölüm 5. SINIFLARIN TEKRAR KULLANILMASI5.1. Komposizyon 5.2. Kalıtım 5.2.1 Gizli Kalıtım 5.2.2. Kalıtım ve Baslangiç Değeri Alma Sırası 5.2.3. Parametre Alan Yapılandırıcılar ve Kalıtım 5.3. Komposizyon mu? Kalıtım mi? 5.4. İptal Etmek 5.4.1. Sanki Iptal Ettim Ama... 5.4.2. Iptal Etmek ve Adaş Yordamların Birbiriyle Karıştırılması 5.5. Yukarı Çevrim 5.6. Final Özelliği 5.6.1. Global Alanlar ve Final Özelliği 5.6.2. Final Parametreler 5.6.3. Bos Final 5.6.4. Final Yordamlar 5.6.5. Private ve Final 5.6.6. Final Sınıflar 5.7. Kalıtım ve İlk Değer Alma Sırası 5.8. Özet 5.9. Sorular
Bölüm 6. POLİMORFİZM6.1. Ayrıntılar 6.2. Geç Baglama 6.3. Final Deyimi ve Geç Bağlama 6.4. Neden Polimorfizm? 6.5. Genişletilebilirlik 6.6. Soyut Sınıflar ve Yordamlar Niye Soyut Sınıf ve Yordamlara İhtiyaç Duyulur? 6.7. Yapılandırıcılar İçerisindeki İlginç Durumlar 6.8. Kalıtım ve Yukarı Çevrim 6.9. Asağıya Çevrim 6.10. Özet 6.11. Sorular
Bölüm 7. Arayüzler ve Dahili Sınıflar7.1. Arayüz 7.1.1. Birlestiricilik 7.1.2. Arayüz ve Soyut Sınıflar 7.1.3. Arayüz Ile Çoklu Kalıtım 7.1.4. Arayüzlerin Kalıtım Yoluyla Genişletilmesi 7.1.5. Çakismalar 7.1.6. Arayüzün İçerisinde Alan Tanımlama Arayüzün İçerisinde Tanımlanmış Alanlara Baslangıç Değerleri Verilmesi 7.1.7. Genel Bakış 7.1.8. Dahili Arayüzler Sınıflarda Tanımlanan Dahili Arayüzler 7.2. Dahili Sınıflar 7.2.1. Dahili Üye Sınıflar Dahili Üye Sınıflar ve Erişim Dahili Üye Sınıflar ve Bunlari Çevreleyen Sınıflar Arasındaki Ilişki Statik Dahili Üye Sınıflar Statik Dahili Üye Sınıflar ve Statik Yordamlar Statik ve Final Alanlar Dahili Üye Sınıflar ve Yapılandırıcılar Iç Içe Dahili Üye Sınıflar Soyut Dahili Üye Sınıflar Türetilebilen Dahili Üye Sınıflar 7.2.2. Yerel Sınıflar 7.2.3. İsimsiz Sınıflar 7.2.4. Fiziksel Ifade 7.2.5. Neden Dahili Sınıflar? 7.3. Özet 7.4. Sorular
Bölüm 8. AYRICALIKLI (İSTİSNA) DURUMLAR8.1. İstisnalara Giriş 8.1.1. İstisna Nasıl Oluşabilir? 8.1.2. Baska İstisnalar Neler Olabilir? 8.1.3. İstisna Yakalama Mekanizması 8.1.4. İstisna İfadeleri 8.1.5. İstisna Tip Hiyerarşisi Diğer İstisna Tiplerini Yakalamak RuntimeException İstisna Tipleri 8.1.6. İstisna Mesajları 8.1.7. Kendi İstisnalarimizi Nasıl Oluşturabiliriz? 8.1.8. finally Bloğu return ve finally Blogu Dikkat System.exit() 8.1.9. İstisnanın Yeniden Fırlatılması 8.1.10. printStackTrace() ve Hata Mesajlarının Kısaltılması 8.1.11. İlginç Gelişme 8.1.12. Iptal Etme ve İstisnalar 8.1.13. İstisnaların Sıralanması 8.2. Özet 8.3. Sorular
Bölüm 9. JAVA’DA GİRİŞ/ÇIKIŞ İŞLEMLERİ9.1. Sekizli Irmakları/Kanalları 9.1.1. InputStream Sınıfı 9.1.1.1. FilterInputStream Sınıfı 9.1.1.2. BufferedInputStream Sınıfı 9.1.1.3. CheckedInputStream Sınıfı Checksum Arayüzü, CRC, CRC32 Sınıfı, Adler32 Sınıfı 9.1.1.4. DataInputStream Sınıfı 9.1.1.5. PushbackInputStream Sınıfı 9.1.1.6. Standart Okuma 9.1.2. OutputStream 9.1.2.1. FilterOutputStream Sınıfı BufferedOutputStream Sınıfı CheckedOutputStream Sınıfı DataInputStream ve DataOutputStream Sınıfları Printstream Sınıfı 9.1.3. Önemli Noktalar 9.2. Karakter Irmakları 9.2.1. Reader 9.2.1.1. InputStreamReader Sınıfı FileReader Sınıfı 9.2.1.2. BufferedReader Sınıfı BufferedReader Ile Standart Okuma 9.2.1.3. PushbackReader Sınıfı 9.2.2. Writer OutputStreamWriter ve FileWriter Sınıfı PrinterWriter Sınıfı BufferedWriter Sınıfı StringWriter Sınıfı 9.3. Basarim (Performans) 9.4. Unicode 9.5. File Sınıfı 9.5.1. Geçici Dosyalar 9.5.2. Listeleme 9.6. Rasgele Erişimli Dosyalar 9.7. Dönüsüm 9.7.1. Externalizable 9.8. Sikistirma 9.9. Bölümleyiciler 9.9.1. StreamTokenizer Sınıfı 9.9.2. StringTokenizer Sınıfı 9.10. Özet 9.11. Sorular
Bölüm 10. JAVA’DA YENI GİRİŞ/ÇIKIŞ ÖZELLİKLERI10.1. Tamponlar 10.1.1. hasRemaining(), flip(), get() Yordamları 10.1.2. Bagil ve Mutlak Operasyonlar Bagil Operasyonlar Mutlak Operasyonlar 10.1.3. Sarmalama 10.1.4. Doğrusal ve Doğrusal Olmayan Tamponlar 10.1.5. compact() Yordamı 10.1.6. duplicate() 10.1.7. slice() Yordamı 10.1.8. ByteOrder Sınıfı 10.1.9. Nesne Dönüştürme 10.1.10. Salt Okunur Tamponlar 10.1.11. Tampon Nesneler ve Diziler 10.1.12. Işaretleme İşlemleri 10.2. Kanallar 10.2.1. FileChannel Sınıfı 10.3. Özet 10.4. Sorular
Bölüm 11. JAVA’DA İŞ PARÇACIKLARI (THREADS)11.1. İş Parçacıklarının Başlatılması 11.2. Durumlar 11.3. Öncelik Sırası 11.4. İş Parçaciklarinin Sonlandırılması 11.5. İş Parçaciklarinin Denetimi 11.5.1. sleep( ) ve interrupt( ) Yordamları 11.5.2. yield( ) Yordamı 11.6. İş Parçacigi Yasiyor mu? 11.7. Bekle Beni... join( ) Yordamı 11.8. İş Parçaciklarinin Tasarimi 11.8.1. Thread Sınıfından Kalıtım 11.8.2. Runnable Arayüzü 11.9. Giris/Çikis ve İş Parçacıkları 11.10. Daemon ve User İş Parçacıklarının Arasındaki Fark 11.11. Paylasilamayan Kaynak 11.11.1. Nesnenin Kilidi 11.11.2. synchronized Anahtar Kelimesi 11.11.3. wait(), notify() ve notifyAll() Yordamları wait() Yordamı notify() Yordamı notifyAll() Yordamı 11.11.4. Problemin Çözümü 11.11.5. synchronize Anahtar Kelimesi Üzerine... 11.11.6. Sınıf Kilidi 11.11.7. Semafor 11.11.8. Birden Fazla Nesne Kilidini Kullanmak 11.12. Ölümcül Kilitlenme 11.13. İş Parçacıkları Arasındaki Veri Alış Verişi 11.13.1. PipedReader ve PipedWriter Sınıfları 11.14. Gruplar 11.15. Oynaklık 11.16. suspend( ) ve resume( ) Yordamları Neden Tedavülden Kalktı? 11.17. stop( ) Yordamı Neden Tedavülden Kalktı? 11.18. Özet 11.19. Sorular
Bölüm 12. NESNELER İÇİN TORBALAR12.1. Diziler 12.2. Arrays Sınıfı ve Yordamları 12.2.1. fill( ) 12.2.2. equals( ) 12.2.3. sort( ) 12.2.4. binarySearch( ) 12.3. Torba Sistemi 12.3.1. Collection Arayüzü 12.3.2. Ayrintili Sema 12.3.3. List Arayüzüne Erişen Sınıflar 12.3.3.1. ArrayList Sınıfı 12.3.4. Iterator Arayüzü 12.3.5. ListIterator Arayüzü 12.3.6. Acaba Torbaya Ne Koymuştum? 12.3.7. Garantili Torbalar 12.3.8. LinkedList Sınıfı LinkedList Sınıfı Kullanılarak Yığın Yapısı Oluşturmak LinkedList Sınıfı ile Kuyruk Yapısı Oluşturmak 12.3.9. Collections Sınıfı 12.3.10. Hangisi Daha Hizli, ArrayList Sınıfı mi, LinkedList Sınıfı mi? 12.3.11. Set Arayüzü HashSet Sınıfı TreeSet Sınıfı 12.3.12. Map Arayüzü HashMap Sınıfı Hangisi Daha Hızlı, ArrayList Sınıfı mı, HashMap Sınıfı mı? TreeMap Sınıfı Hangisi Daha Hızlı, HashMap Sınıfı mı, TreeMap Sınıfı mi? 12.3.13. Iterator Arayüzü ve Dikkat Edilmesi Gereken Hususlar 12.3.14. Zamandas Torbalar 12.3.15. HashTable Sınıfı 12.3.16. Vector Sınıfı 12.4. Özet 12.5. Sorular
Bölüm 13. Java’da AĞ (NETWORK) programlama13.1. Kullanıcı/Sunucu Nedir? 13.2. IP Adresi ve Port Kavramlar 13.3. Sihirli Numara 127.0.0.1 13.4. IPv4 ve IPv6 Uyarlamaları 13.4.1. Ipv6’nin Adres Biçimi 13.4.2. Adres Gösterimi 13.5. Kullanici/Sunucu Uygulamaları 13.6. Bloke Bağlantilar 13.6.1. İş Parçacıkları İş Başında 13.6.2. Havuz 13.7. URL ve URLConnection Sınıfları 13.8. TCP ve UDP Protokolleri 13.9. Blokesiz Bağlantılar 13.9.1. Java 1.4’den Önce... 13.9.2. Java 1.4’den Sonra... 13.9.3. Kanal Arayüzü 13.9.4. Blokesiz Kanal Oluşturulması 13.9.5. Seçici Oluşturulması 13.10. Veritabanı Sunucularına Bağlantı SQL Java Veritabani Baglanilabilirligi - JDBC MySQL CLASSPATH Ayarları Ilk Baglanti SQL ve Java Uygulamaları MUSTERI Tablosuna Kayıt Eklenmesi MUSTERI Tablosundaki Kayıtların Değiştirilmesi MUSTERI Tablosundan Kayıt Silinmesi 13.11. Özet 13.12. Sorular
Bölüm 14. HATA YAKALAMANIN ÖTESI...14.1. Assertion Özelligi Nerede Kullanilir? 14.2. Assertion Özelligini Kullanmak - Birinci Yol - Ikinci Yol 14.3. Assertion ve Derleme 14.4. Assertion Özelliği Nasıl Kontrol Edilir? 14.5. Paket Denetimleri 14.6. Assertion Özelliği Açık mı? Kapalı mı? 14.7. AssertionError İstisnalarını Yakalamak 14.8. Assertion ve Baslangıç Değerlerinin Alınması 14.9. Ne Zaman ve Nerede? Kuralların Açılımı Assertion Özelliğinin Kullanılması Gereken Yerler 14.10. Özet 14.11. Sorular
Ekler KAYNAKÇA Dizin
Konuyla Ilgili Diger Eserlerimiz: Diskrete Matematik - Ortak Yazarlı
Veri Madenciligi
Network TCP/IP ve UNUX El Kitabı - Dr. Rifat ÇÖLKESEN Network/Veri Haberlesmeşi Uygulamaları - Yasin KAPLAN Veri Haberlesmeşi/Network Temelleri - Yasin KAPLAN Veri Haberlesmeşi/Network Kavramları - Yasin KAPLAN Java Programlama Dili ve Yazılım Tasarımı - Altuğ Altıntaş
Bilgisayar Mimarisi
Endüstri Mühendisliğine Giriş Bilgisayar Ağları - Dr. Demir ÖNER
Bilgisayar Mühendisliğine Giriş Veritabanı ve Uygulamaları - Yımaz KAYA ve Ramazan TEKIN
Yazılım Mühendisliği
C++ ve Nesneye Yönelik
Programlama Sanati Algoritmalar (C Uyarlamasi) C Programlama Dili, İş te C - Dr.Rifat ÇÖLKESEN Uygulamali C Programlama Dili - Bora TUNCER
Veri Yapıları ve Algoritmalar
-
MATLAB Kılavuzu
Linux Altında Programlama
GTK/GNOME Programlama
- Kitaplarımızın tüm listesi için buraya tıklayınız. |