2 JAVA ÇALIŞTIRMA ORTAMI



Benzer belgeler
İÇİNDEKİLER VII İÇİNDEKİLER

KiM KORKAR AN. TEMEL JAVA KOLAYLASTIRILMIS KOD TAKİBİYLE 215 ÖRNEK. Alper AKALIN TÜRKİYE'NİN EN ÇOK SATAN JAVA KİTABI. Veritabanlarına Giriş

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

I Java Veri Yapıları 1

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

1 PROGRAMLAMAYA GİRİŞ

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

1 JAVASCRIPT NEDİR? 1

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

HB2001: JAVA PROGRAMLAMA (32 saat)

Görsel Programlama DERS 07. Görsel Programlama - Ders07/ 1

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Java da. ve AWT ve SWING Kütüphaneleri. BBS-515 Nesneye Yönelik Programlama. Ders #8 (9 Aralık 2009)

Java String İşlemleri

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Java Programlama. Diziler, Döngüler ve Karakter Katarları (String Sınıfı)

Dizi ( Array ) ve Dizgi ( String )

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Yazılım Kodlama ve İ simlendirme Standartları v1.0

MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Java da Program Denetimi ve Operatörler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

Java da İşleçler, Ders #3 (4 Kasım 2009)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

1 APACHE SERVER KURULUMU 1 Kurulum 1 Apache Ayarları (httpd.conf) 6 PHP Ayarlaları (php.ini) 7 PHP5.4 Yükseltme 8 phpmyadmin Yükseltme 10

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

JAVA DA GİRİŞ/ÇIKIŞ İŞLEMLERİ. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 9 1

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

YZM 2105 Nesneye Yönelik Programlama

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

BİLİŞİM TEKNOLOJİLERİ NESNEYE DAYALI PROGRAMLAMA - JAVA GELİŞTİRME VE UYUM EĞİTİMİ MODÜLER PROGRAMI (YETERLİĞE DAYALI)

Görsel Programlama 1

Üst Düzey Programlama

Ç NDEK LER 1 PHP 6 1 PHP Nedir? 1 PHP nin Tarihi 2 PHP nin Avantajlar 4 PHP nin Dezavantajlar 4 PHP nin Çal flma Mant 6 PHP nin Çal flma Aral 8 PHP

Nesneler için torbalar (Collections) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 12 1

Programlama Dillerinde Kullanılan Veri Tipleri

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Java da Program Denetimi ve Operatörler. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 2 1

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

Swing ve JDBC ile Database Erişimi

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

Karşılaştırma İşlemleri ve Koşullu İfadeler

MOBIL UYGULAMA GELIŞTIRME

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

BİL-141 Bilgisayar Programlama I (Java)

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

Java Dersi. Altuğ Bilgin Altıntaş

BİL132 Bilgisayar Programlama II

C# ve T-SQL Geliştiriciler için Java ve Oracle. Yalçın Kaya. Editör C. Banu Üçüncüoğlu 19-0

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir.

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Erişim konusunda iki taraf vardır:

AOSB 2017 EĞİTİM PROGRAMI

1. HAFTA TEMEL KURULUM İŞLEMLERİ ve NESNE TABANLI PROGRAMLAMA KAVRAMLARI

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

HSancak Nesne Tabanlı Programlama I Ders Notları

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

JAVA. public class Welcome { // class isimleri her zaman büyük harfle başlar. public static void main(string[] args){ System.out.print("Welcome"); } }

Programlama Dilleri 3

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Java Nedir? 7 Java nın Diğer Programlama Dillerinden Farkı 8

Nesne Tabanlı Programlama

Görsel Programlama DERS 08. Görsel Programlama - Ders08/ 1

Transkript:

İÇİNDEKİLER VII İÇİNDEKİLER 1 JAVA DİLİNE GİRİŞ 1 Java Dilinin Kısa Tarihi 1 Java Dilinin Üstünlükleri 2 JVM (Java Virtual Machine - Java Sanal Makinesi) 3 JRE (Java Runtime Environment - Java Çalışma Ortamı) 5 JDK (Java Development Kit - Java Geliştirme Kiti) 5 J2EE, J2SE, J2ME Kavramları 6 J2EE (Enterprise Edition) 6 J2ME (Micro Edition) 6 J2SE (Standart Edition) 6 Değerlendirme Soruları 7 2 JAVA ÇALIŞTIRMA ORTAMI 9 JDK Kurulumu 9 Path Ayarları 13 Eclipse Kurulumu 15 Eclipse Ortamını Tanıyalım 17 Eclipse Arayüzü 17 Eclipse İçerisinde JRE Ayarları 19 Eclipse ile Proje Oluşturma 20 Bir Projeyi Eclipse İçerisine Dahil Etme 21 Eclipse Kısayolları 23 Java Uygulamasını Eclipse Dışında Çalıştırma 24 Java ile İlk Programımız 26 Intellisense Teknolojisi 30 Not Defteri ile Java Kodu Yazma ve Derleme 31 Eclipse Üzerinde Debug İşlemleri 32 Debug Nedir? 32 Breakpoint Yerleştirme 33 Breakpoint Görünümü ve Breakpoint leri Kaldırma 36 Değerler Görünümü ve Değişkenlerin 37 Debug Modunda Değerlerini Değiştirme 37 Değerlendirme Soruları 38

VIII YENİ BAŞLAYANLAR İÇİN JAVA 3 PAKET (PACKAGE) KAVRAMI 39 Paket (Package) Kavramına Giriş 39 Paket Tanımlaması 39 Paketleri Import Etme 41 Java Path ve ClassPath Ayarları 43 Değerlendirme Soruları 46 4 DEĞİŞKENLER VE VERİ TİPLERİ 47 Değişkenler ve Veri Tiplerine Giriş 47 Değişken Tanımlama Kuralları 48 Primitif Tipler 49 Byte 49 Short 50 Int 50 Long 50 Float 50 Double 51 Char 51 Boolean 52 Referans Tipler 52 String Veri Tipi 53 Primitive Tipleri, Referans Tipi Şeklinde Yazma 55 Sayılarda Altçizgi ( _ ) Kullanarak Sayıları Bölümleme 57 İkili Tabandaki Sayıları Değişkenlerde Tutma 58 Boxing ve Unboxing Kavramları 60 Lokal Değişkenler 61 Sabit Tanımlama 62 Tip Dönüşümleri (Type Casting) 64 Java da Kullanılan Anahtar Kelimeler 69 Değerlendirme Soruları 70 5 OPERATÖRLER 71 Operatörlere Giriş 71 Atama Operatörleri 71 Temel Atama Operatörü ( = ) 72 Diğer Atama Operatörleri ( +=, -=, *=, /= ) 72 Çoklu Atama İşlemi 73

İÇİNDEKİLER IX İki Değişkenin Değerinin Takas Yapılması 74 İlişkisel Operatörler 75 Aritmetik Operatörler 78 Temel Aritmetik Operatörler ( +, -, *, / ) 78 Mod Operatörü ( % ) 79 ( - ) Operatörü ile Sayıyı Negatif Yapma 79 Arttırma (++) ve Azaltma (--) Operatörleri 80 Mantıksal Operatörler 82 Bitsel Operatörler 84 Temel Bitsel Operatörler ( ~, &,, ^ ) 84 Kaydırma Operatörleri ( >>, << ) 86 Tip Karşılaştırma Operatörü 88 Operatör Önceliği 89 Değerlendirme Soruları 91 6 KONTROL YAPILARI VE DÖNGÜLER 93 Kontrol Yapıları 93 If-Else Yapısı 93 If-Else if Yapısı 96 İç içe If Yapıları 97 Switch Yapısı 98 Döngüler 104 While Döngüsü 104 Do-While Döngüsü 107 For Döngüsü 109 Gelişmiş For Döngüsü 113 Break ve Continue İfadeleri 115 Değerlendirme Soruları 118 7 METODLAR 119 Metod Nedir? 119 Metod Oluşturma 119 Parametresiz Metodlar 120 Parametreli Metodlar 122 Metodlara Dizi Türünden Parametre Geçirmek 129 Metodları Aşırı Yükleme (Overloading) 131 Metodlarda Özyineleme (Recursion) 134

X YENİ BAŞLAYANLAR İÇİN JAVA Static Metodlar 137 Main Metodu Neden Static? 140 Değerlendirme Soruları 141 8 DİZİLER 143 Dizilere Giriş 143 Dizi Tanımlama Şekilleri 143 Dizi Elemanına Erişme 145 Dizi Elemanlarını Listeleme 146 Object Sınıfından Dizi Oluşturma 149 Bir Dizinin Boyutu 150 Dizileri Kopyalama 152 System.arraycopy Metodu ile Diziyi Kopyalama 153 Dizileri Sıralama 154 Array.sort Metodu ile Diziyi Sıralama 154 Dizilerde Arama 155 binarysearch Yöntemi ile Dizilerde 155 Arama İşlemi 155 Dizileri Karşılaştırma 157 Arrays.equals Metodu ile Dizilerde Eşitlik Kontrolü 157 Çok Boyutlu Diziler 158 Çok Boyutlu Dizi Tanımlaması 158 Çok Boyutlu Dizi Elemanlarına Erişim 159 Çok Boyutlu Dizileri Listeleme 161 Çok Boyutlu Dizinin Uzunluğu 163 String [ ] args Dizisi 164 Arrays Sınıfı Metotları 169 Arrays.asLıst Metodu ile Diziyi Liste Yapısına Kopyalama 169 Arrays.copyOf Metodu ile Dizinin Belli Bölümünü Kopyalama 170 Arrays.copyOfRange ile İki İndis Arasındaki Elemanları Kopyalama 171 Arrays.fill Metodu ile Diziye Eleman Atamak 172 Değerlendirme Soruları 174 9 SCANNER SINIFI VE JOPTIONPANE İLE KLAVYEDEN VERİ ALMA 177 Scanner Sınıfına Giriş 177 Scanner Sınıfı ile İlgili Örnekler 178 JOptionPane Kullanımı 185

İÇİNDEKİLER XI Kullanıcıdan Veri Alma 185 Bilgi Mesajı Gösterme 186 JOptionPane ile İlgili Örnekler 189 Değerlendirme Soruları 193 10 NESNEYE YÖNELİK PROGRAMLAMA 195 Nesneye Yönelik Programlamaya Giriş 195 Sınıf ve Nesne Kavramları 196 Sınıf Oluşturma 197 new Anahtar Kelimesi ile Nesne Oluşturma 198 Sınıf ve Nesne Değişkenleri 201 Pass By Value - Pass By Reference (Değer ve Referans Tipler) 205 Yapıcılar (Constructor) 209 Kapsülleme (Encapsulation) 214 Erişim Belirleyiciler (Access Modifiers) 214 Private Anahtar Kelimesi 215 Protected Anahtar Kelimesi 217 Public Anahtar Kelimesi 219 Getter ve Setter Metodlar 222 Getter ve Setter Metodlarını Tanımlama 222 Eclipse Üzerinde Kısayoldan Getter ve Setter Oluşturma 225 this Anahtar Kelimesi 226 Static Anahtar Kelimesi 229 Static Metodlar 231 Static Import 232 Enum Kavramı 233 Enum Tanımlama 233 Enum İçerisindeki Elemanları Yazdırmak 236 Ordinal Metodu ile enum Elemanlarının İndisini Öğrenme 237 Enum İçerisinde Metod Tanımlama 239 Annotation Kavramı 240 Annotation Oluşturma 241 Garbage Collector (Çöp Toplayıcı) 244 Finalize Metodunun Kullanımı 245 Değerlendirme Soruları 248

XII YENİ BAŞLAYANLAR İÇİN JAVA 11 KALITIM (INHERITANCE) 251 Kalıtım Kavramına Giriş 251 Super Class (Üst Sınıf) ve Sub Class (Alt Sınıf) Kavramları 253 Super Metodu ile Üst Sınıfın Yapıcısını Çağırmak 257 Metod Overriding 262 tostring Metodunun Override Edilmesi 267 Final Anahtar Kelimesi 271 Final ile Sabit Tanımlama 272 Final ile Metodların Override Edilmelerini Engelleme 274 Final ile Parametrelerin Değerinin Değişmesini Engelleme 275 Final ile Sınıfların Kalıtımını Engelleme 276 Upcasting ve Downcasting Kavramları 277 Değerlendirme Soruları 282 12 SOYUT (ABSTRACT) SINIFLAR, METODLAR 283 Soyut Sınıflar ve Metodlara Giriş 283 Soyut Sınıf ve Kalıtım Arasındaki İlişki 284 Soyut Sınıf Örneği 285 Değerlendirme Soruları 291 13 ARAYÜZLER (INTERFACE) 293 Arayüz Kavramına Giriş 293 Arayüz Örneği 294 Arayüzlerde Genişletilme Özelliği 298 Arayüz İçerisinde Başka Bir Arayüz Kullanma 301 Değerlendirme Soruları 303 14 DAHİLİ SINIFLAR (INNER CLASSES) 305 Dahili Sınıflara Giriş 305 Dahili Üye Sınıflar 305 Dahili Üye Sınıflar ve Erişim Belirteçleri 307 Yerel Sınıflar 314 İsimsiz Sınıflar 316 Değerlendirme Soruları 318 15 ÇOK BİÇİMLİLİK (POLYMORPHISM) 319 Polimorfizm Kavramına Giriş 319 Geç Bağlama 324 Instanceof ile Tip Kontrolü 327

İÇİNDEKİLER XIII getclass Metodu ile Nesnenin Sınıfını Öğrenme 331 Değerlendirme Soruları 334 16 MATH SINIFI İLE MATEMATİKSEL İŞLEMLER 335 Math Sınıfına Giriş 335 Math.pow Metodu ile Sayının Üssünü Alma 335 Math.sqrt Metodu ile Sayının Karekökünü Alma 336 Math.abs Metodu ile Sayının Mutlak Değerini Alma 337 Math.floor Metodu ile Sayıyı Alt Değere Yuvarlama 338 Math.ceil Metodu ile Sayıyı Üst Değere Yuvarlama 338 Math.max Metodu ile Büyük Sayıyı Bulma 339 Math.min Metodu ile Küçük Sayıyı Bulma 340 Math.random Metodu ile Rastgele Sayı Üretme 341 Random Sınıfı ile Rastgele Sayı Üretme 344 Math.toDegrees Metodu ile Radyanı Dereceye Çevirme 348 Math.toRadians Metodu ile Dereceyi Radyana Çevirme 348 Math.sin Metodu ile Sinüs Bulma 349 Math.asin Metodu ile Ters Sinüs Bulma 350 Math.cos Metodu ile Cosinüs Bulma 350 Math.acos Metodu ile Ters Cosinüs Bulma 351 Math.PI ile PI Sabitini Kullanma 352 Logaritma Metodları 353 Değerlendirme Soruları 355 17 STRING SINIFI İLE METİNLER ÜZERİNDE ÇALIŞMA 357 String Sınıfına Giriş 357 String Nesnesinin Uzunluğu 358 Karakter Katarlarını Birleştirmek 359 + Operatörü ile Strıng İfadeleri Birleştirme 359 Concat Metodu ile String İfadeleri Birleştirme 360 String Nesnelerini Karşılaştırma 361 equals ve equalsignorecase Metodları ile String Nesneleri Karşılaştırma 361 compareto ve comparetoignorecase Metodları ile Büyüklük Kontrolü 363 regionmatches Metodu ile Belirli Bir Bölgenin Karşılaştırılması 365 startswith ve endswith Metodları ile Başlangıç ve Bitiş Kontrolü 366 Karakter Metodları 368 getchars Metodu ile String İçerisindeki Bir Bölümü Diziye Aktarma 368 charat Metodu ile String İçerisindeki Karaktere Ulaşmak 369

XIV YENİ BAŞLAYANLAR İÇİN JAVA tochararray Metodu ile String Nesneyi Karakter Dizine Dönüştürme 370 indexof ve lastindexof Metodları ile String İçerisinde Karakter Arama 371 String Düzenleme Metodları 373 substring Metodu ile String İçerisinden Bir Bölüm Seçme 373 replace Metodu ile String İçerisindeki Karakteri Değiştirme 374 trim Metodu ile String İfadenin Yanındaki Boşlukları Silme 375 touppercase ve tolowercase Metodları ile Harf Kipini Değiştirme 376 valueof Metodu ile Veri Tiplerini String Veri Tipine Çevirme 376 StringTokenizer ve StringBuffer Sınıfları 378 StringTokenizer Sınıfını Kullanarak Metni Parçalama 378 StringBuffer Sınıfı ile Bazı Metin İşlemleri 384 Değerlendirme Soruları 387 18 HATA YAKALAMA (EXCEPTION HANDLING) 389 Exceptions (İstisnalar) 389 Hata Yakalama (try-catch blokları) 390 Hata Yakalamada Yeni Catch Bloğu Sistemi 396 finally Bloğu 398 Hata Yakalamada Finally Bloğunun Alternatifi 399 Finally Bloğunda try-catch Kullanımı 401 Birden Fazla Hata Yakalama 402 throw Anahtar Kelimesi 404 throws Anahtar Kelimesi 405 Exception Türü Oluşturma 410 Hata Türleri 412 RuntimeException Hata Türü 414 Çözülemeyen Hatalar (Error) 414 Değerlendirme Soruları 416 19 GİRİŞ ÇIKIŞ (IO) İŞLEMLERİ 417 I/O Kavramına Giriş 417 Karakter Tabanlı Veri Taşıma 418 Byte Tabanlı Veri Taşıma 419 File Sınıfının Kullanımı 420 createnewfile Metodu ile Dosya Oluşturma 421 getname Metodu ile Dosyanın Adını Öğrenme 421 getabsolutepath Metodu ile Dosyanın Yolunu Öğrenme 422 delete Metodu ile Dosyayı Silme 422

İÇİNDEKİLER XV mkdir Metodu ile Klasör Oluşturma 423 renameto Metodu ile Dosyanın Adını Değiştirme 423 canread ve canwrite Metodları ile Yazma Okuma Kontrolü 424 FileReader ile Dosya Okuma 426 FileWriter ile Dosyaya Yazma 428 FileInputStream ile Dosya Okuma 431 FileOutputStream ile Dosyaya Yazma 433 BufferedReader ile Dosyadan Okuma 434 BufferedWriter ile Dosyaya Yazma 436 BufferedInputStream ile Dosya Okuma 437 BufferedOutputStream ile Dosyaya Yazma 438 Scanner Sınıfı ile Dosya Okuma 439 Scanner Sınıfı Yapıcıları 443 Rastgele Erişimli Dosyalarda Okuma ve Yazma 444 Object Serialization (Nesne Serileştirme) 448 Serializable Arayüzü 448 Externalizable Arayüzü 452 Transient Anahtar Kelimesi 457 Değerlendirme Soruları 458 20 JAVA KOLEKSİYONLARI (JAVA COLLECTIONS) 461 Koleksiyonlara Giriş 461 Java Koleksiyonlarının Avantajları 461 Java Koleksiyonlarının Dezavantajları 462 Collection Arayüzü 462 Iterator 463 Set (Kümeler) 464 HashSet 465 LinkedHashSet 468 Sorted Set 469 TreeSet 469 Liste Yapıları (Lıst) 472 ListIterator 472 ArrayList 473 LinkedList (Bağlı Liste) 476 Vector 480 Queue (Kuyruk) 481 Map Arayüzü 482

XVI YENİ BAŞLAYANLAR İÇİN JAVA HashMap 483 LinkedHashMap 486 SortedMap 487 TreeMap 487 Elmas Operatör İçerisindeki Tanım Zorunluluğu 490 SafeVarags ile Uyarı ve Hata Giderimi 491 Değerlendirme Soruları 493 21 OLAY YÖNETİMİ (EVENT HANDLING) 495 Olay Yönetimine Giriş 495 Olay Sınıfları 496 ActionEvent 497 AdjustmentEvent 497 ComponentEvent 498 ContainerEvent 499 FocusEvent 500 InputEvent 500 ItemEvent 501 KeyEvent 502 MouseEvent 503 MouseWheelEvent 505 TextEvent 506 WindowEvent 506 Olay Dinleyicileri (Event Listeners) 507 ActionListener 507 AdjustmentListener 508 ComponentListener 508 ContainerListener 508 FocusListener 508 ItemListener 509 KeyListener 509 MouseListener 509 MouseMotionListener 509 MouseWheelListener 510 TextListener 510 WindowFocusedListener 510 WindowListener 510 Fare ve Klavye Olay Metodlarının Kullanımı 511 Değerlendirme Soruları 516

İÇİNDEKİLER XVII 22 JAVA GUI İLE ARAYÜZ PROGRAMLAMA 517 GUI (Graphical User Interface) Nedir? 517 GUI Kurulumu 517 GUI Projesi Oluşturma 520 SWING 523 SWING Bileşenleri 523 JFrame 524 Container 526 JLabel 528 JButton 531 JTextField 533 JComboBox 536 JRadioButton 538 JCheckBox 541 JToggleButton 544 JTable 546 JList 549 JScrollPane 552 JTabbedPane 555 JTree 557 Layout (Yerleşim Düzenleri) 561 GridLayout 561 BorderLayout 562 FlowLayout 563 GridBagLayout 564 Diğer Layout Tipleri 565 Değerlendirme Soruları 566 23 JDBC İLE VERİTABANI 567 Veritabanı Kavramına Giriş 567 Veritabanı Yönetim Sistemleri (VTYS) 569 JDBC Tanımı 570 Temel SQL Komutları 570 SELECT-WHERE-LIKE Komutlarının Kullanımı 571 INSERT Komutu ile Kayıt Ekleme 572 DELETE Komutu ile Kayıt Silme 573 UPDATE Komutu ile Kayıt Güncelleme 573 MySQL Kurulumu 574

XVIII YENİ BAŞLAYANLAR İÇİN JAVA MySQL için JDBC Connector 583 JDBC Bileşenleri 584 Connection 585 Statement Bileşenleri 586 Statement 586 PreparedStatement 587 CallableStatement 588 ResultSet 590 JDBC ile Veri Sorgulama 591 JDBC ile Veritabanına Veri Ekleme 594 JDBC ile Veritabanından Veri Silme 596 JDBC ile Veritabanındaki Verileri Güncelleme 597 Navicat Kurulumu 598 Navicat ile Örnek Uygulama 602 Değerlendirme Soruları 615 24 THREAD KAVRAMI 617 Thread Kavramına Giriş 617 Thread Oluşturma 618 Thread i Başlatmak ve Durdurmak 622 Thread i Beklemeye Almak ve Devam Ettirmek 625 Bir Thread Nesnesine Öncelik Atamak 626 Thread in Çalışıp Çalışmadığının Kontrolü 629 MultiThreading 631 Thread lerin Senkronizasyonunu Sağlamak 631 Değerlendirme Soruları 634 25 JAVA SE 8 İLE GELEN YENİLİKLER 635 Lambda İfadeleri 635 Fonksiyonel Arayüzler ve Lambda İfadeleri 638 Varsayılan Metotlar 640 Metot Çakışması 642 DateTime API 643 LocalDate 643 LocalTime 644 LocalDateTime 644 ZoneId ve ZonedDateTime 644 CEVAP ANAHTARI 647