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 nesneye yönelik, bir kere tasarla her yerde çalıştır felsefesine dayanan, belleği verimli kullanmak için çöp toplama sistemi olan, güvenli, İnternet ve Web uygulamaları için elverişli (Applet, JSP, Servlet, Corba, RMI, EJB, Apache Wicket) bir tasarım aracıdır.


(...) 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

 

Türkiye'de en çok satan JAVA kitabı;   6. basım...


         


Türkiye'nin İnternet kitapçısı ---> www.tdk.com.tr    şimdi satın al


İÇİ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Şimleri

4.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 KULLANILMASI

5.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İZM

6.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ıflar

7.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)  DURUMLAR

8.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İKLERI

10.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 TORBALAR

12.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) programlama

13.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 - Dr. Gökhan SILAHTAROGLU

Veri Madenciligi Yöntemleri - Dr. Yalçın ÖZKAN

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 - Ortak Yazarlı

Endüstri Mühendisliğine Giriş - Ortak Yazarlı (Editör: Prof. Dr. Ercan ÖZTEMEL)

Bilgisayar Ağları - Dr. Demir ÖNER

Bilgisayar Mühendisliğine Giriş - Ortak yazarlı (Editör: Dr. Rifat ÇÖLKESEN)

Veritabanı ve Uygulamaları - Yımaz KAYA ve Ramazan TEKIN

Sistem Analizi ve Tasarımı (Bilgisayar Bilimlerinde)  - Prof.Dr. Oya KALIPSIZ ve ark.

Yazılım Mühendisliği  - Dr.Erhan SARIDOĞAN

C++ ve Nesneye Yönelik Programlama  - Dr.Erhan SARIDOGAN

Programlama Sanati Algoritmalar (C Uyarlamasi)  - Dr.Cengiz UGURKAYA (Editör)

C Programlama Dili, İş te C  - Dr.Rifat ÇÖLKESEN

Uygulamali C Programlama Dili  - Bora TUNCER

Veri Yapıları ve Algoritmalar - Dr.Rifat ÇÖLKESEN

Veri Yapıları Algoritma Temelleri  - Dr.Sefer KURNAZ

MATLAB Kılavuzu - Dr.Aslan INAN

Linux Altında Programlama  - Ali VARDAR

GTK/GNOME Programlama - Ali VARDAR

Kitaplarımızın tüm listesi için buraya tıklayınız.


Akademik Bilimsel ve Üniversite Ders Kitaplarında Papatya Yayıncılık Eğitim