GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - eemustafasahin/Complete_Java_Course_Notes: These notes cover almost every aspects of core Java. Then there will be JavaEE applications. Note: Codes in these notes have been written by Oğuz Karan, trainer and instructor in C and System Programmers Association. https://github.com/oguzkaran

BranchesTags
Open more actions menu

Latest commit

 

History

157 Commits
157 Commits

Folders and files

NameName
Last commit message
Last commit date
JavaHomeworks
JavaHomeworks
 
 
JavaLesson001
JavaLesson001
 
 
JavaLesson002
JavaLesson002
 
 
JavaLesson003
JavaLesson003
 
 
JavaLesson004
JavaLesson004
 
 
JavaLesson005
JavaLesson005
 
 
JavaLesson006
JavaLesson006
 
 
JavaLesson007
JavaLesson007
 
 
JavaLesson008
JavaLesson008
 
 
JavaLesson009
JavaLesson009
 
 
JavaLesson010
JavaLesson010
 
 
JavaLesson011
JavaLesson011
 
 
JavaLesson012
JavaLesson012
 
 
JavaLesson013
JavaLesson013
 
 
JavaLesson014
JavaLesson014
 
 
JavaLesson015
JavaLesson015
 
 
JavaLesson016
JavaLesson016
 
 
JavaLesson017
JavaLesson017
 
 
JavaLesson018
JavaLesson018
 
 
JavaLesson019
JavaLesson019
 
 
JavaLesson020
JavaLesson020
 
 
JavaLesson021
JavaLesson021
 
 
JavaLesson022
JavaLesson022
 
 
JavaLesson023
JavaLesson023
 
 
JavaLesson024
JavaLesson024
 
 
JavaLesson025
JavaLesson025
 
 
JavaLesson026
JavaLesson026
 
 
JavaLesson027
JavaLesson027
 
 
JavaLesson028
JavaLesson028
 
 
JavaLesson029
JavaLesson029
 
 
JavaLesson030
JavaLesson030
 
 
README.md
README.md
 
 

Repository files navigation

Image of Java Logo

JAVA_COURSE_NOTES

These notes cover almost every aspects of core Java. At the time you have seen this content, there might be Turkish headers and subheaders. Learner of java programming language, I try to upload new topics and edit some of them. As I repeat the lessons uploaded here, edits will be increasing. When finishing Core Java Course I will complete editing these lessons and start to use as a reference.

TABLE OF CONTENTS (CORE JAVA)

  1. Lesson

    • Hello, World
    • Yorum satırları (comment lines)
    • Atomlar (token)
    • Java' da atomlar arasında istenildiği kadar boşluk (whitespace) bırakılabilir
    • Anahtar sözcükler ve değişkenler dışında atomlar bitişik yazılabilir.
    • Java'da paket bildiriminin (declaration) genel biçimi:
    • Java'da Metot bildirimi
    • Java'da Metot çağırmanın (call) genel biçimi:
    • Java'da Metotların çağrılmasi
    • Javada Çagiran metodun (caller) ait oldugu sinif ile çagrilan metodun (callee) ait oldugu sinif ayni pakette ise çagirma sirasinda paket ismi yazilmayabilir.
    • Java'da Çagiran metot ile çagrilan metot ayni sinifta ise çagirma sirasinda sinif ismi yazilmayabilir.
  2. Lesson

    • Tür nedir ?
    • Java'da Değişken bildiriminin genel biçimi:
    • Java'da değişken bildirimi 3(üç) şekilde yapılabilir:
    • Bir metot içerisinde istenildiği kadar içiçe veya ayrık bloklar olabilir.
    • Bir blok içerisinde herhangi bir yerde bildirilen değişkenlere yerel değişkenler denir.
    • Aynı türden yerel değişkenler aralarına virgül konarak bildirilebilirler
    • Yerel değişkenlere ilk değer verilmesi
    • Yerel bir değişkenin faaliyet alanı bildirildiği yerden bildirildiği bloğun sonuna kadardır
    • Aynı faaliyet alanı içerisinde aynı isimde yerel değişken bildirimi geçersizdir
    • Farklı faaliyet alanları içerisinde aynı isimde yerel değişken bildirimi yapılabilir
    • Farklı faaliyet alanları içerisinde aynı isimde yerel değişken bildirimi yapılabilir
    • print ve println metotları değişkenlerin içerisindeki değerleri ekrana basabilirler
    • İçerisine değer atanmamış hiç bir değişken kullanılamaz yani içerisinde değer varmış gibi işlem yapılamaz
    • Yerel değişkenlere değer atanması programcının sorumluluğundadır
  3. Lesson

    • Değişken isimleri rakam karakteri ile başlatılamaz
    • Değişken isimleri uygun karakterler ile başlatılıp istenildiği kadar rakam karakteri ile devam ettirilebilir
    • Değişken isimlendirmede UNICODE alfabetik karakterler kullanılabilir. Yani isimler Türkçe karakter de içerebilir
    • Değişken isimleri büyük küçük harf duyarlıdır (case sensitive)
    • Değişken isimlendirmede boşluk (whitespace) karakteri kullanılamaz
    • Değişken isimlendirmede _ karakteri kullanılabilir. Hatta değişken _ ile de başlatılabilir
    • Java 9'dan itibaren alttire karakteri tek başına değişken ismi olarak kullanılamaz.
    • Java' da değişken isimlendirmede $ karakteri kullanılması durumu...
    • Değişken isimleri doğrudan anahtar sözcüklerden oluşamaz. Ancak ...
    • Değişken isminin kolay telaffuz edilebilir, anlamlı ve yeterince uzunlukta olması tavsiye edilir
    • Klavyeden int türden değer okunması
    • Klavyeden double türden değer okunması
    • Klavyeden long türden değer okunması
    • İfade (expression)
    • return deyimi
    • return deyimi nasıl kullanılırsa kullanılsın metodu sonlandırır.
    • Akış return deyimine geldiğinde önce return deyimine ilşkin ifade hesaplanır. Sonuç döndürülür
    • Geri dönüş değeri olan metotlarda akışın her noktasında return deyimi ifade ile bulunmalıdır.
    • Geri dönüş değeri olan metotlarda return tek başına kullanılamaz
    • Derleyici geri dönüş değeri aktarımı için geçici değişken yaratan kodu üretir.
    • Bir metodun geri dönüş değeri başka bir metodun geri dönüş değeri olarak return deyimi ile yazılabilir
    • Geri dönüş değeri olan metotlar geri dönüş değeri yokmuş gibi çağrılabilir.
    • Geri dönüş değer olmayan metotlarda (void metot) return zorunlu değildir
    • Geri dönüş değer olmayan metotlarda istenirse return tek başına metodu sonlandırmak için kullanılabilir
    • Geri dönüş değer olmayan metotlar geri dönüş değeri varmış gibi çağrılamaz
    • Bir metodun bildiriminde parantez içerisinde bildirilen değişkenlere parametre değişkenleri denir
    • Parametre değişkenleri aynı türden olsa bile her değişken için tür bilgisi yazılmalıdır
    • Parametre değişkenleri faaliyet alanı bakımından adeta metodun gövdesi (bloğu) başında bildirilen yerel değişkenler gibidir
    • Metotlarda argüman nedir?
    • Bir metot kaç parametreliyse o kadar sayıda argüman ile çağrılabilir
    • Metot çağrısında argümanlara ilişkin ifadeler önce hesaplanır. Elde edilen değerler ile metot çağrılır
    • Bir metodun geri dönüş değeri başka bir metoda argüman olarak geçilebilir
    • printf metodu
    • Tamsayı türlerinin (short, int, long, byte) decimal formatlanması için d format karakteri kullanılır
    • printf metodu ile x, X, h ve H format karakterleri kullanılarak tamsayı türleri hexadecimal olarak gösterilebilir
    • printf metodu ile o format karakteri kullanılarak tamsayı türleri octal olarak gösterilebilir
    • printf metodunda gerçek sayı türleri (double, float) için f format karakteri kullanılabilir
    • printf metodu ile virgülden sonra kaç basamak gösterileceğinin belirlenmesi
    • printf metodu ile hizalama yapılması
    • printf metodunda c format karakteri ile char türüne ilişkin karakter gösterilebilir
    • printf metodunda b format karakteri ile boolean türüne ilişkin değer gösterilebilir
    • System.out.format metodu printf ile tamamen aynı işi yapar
    • printf ile % karakterini gösterebilmek için iki tane yanyana % karakteri kullanılmalıdır
    • Math sınıfının abs metodu
    • Math sınıfının sqrt metodu
    • Gerçek sayılar içinde belirsizlik ve tanımsızlık NaN nedir ?
    • Math sınıfının pow metodu
    • Math sınıfının PI ve E elemanları
    • Sınıf Çalışması: Koordinat bilgilerine göre iki nokta arasındaki uzaklık bilgisini döndüren distance isimli metodu yazın.
    • Math sınıfının trigonometrik metotları radyan ölçü birimi ile çalışır
    • Math sınıfının toRadians metodu
    • Math sınıfının logaritma metotları
    • MathUtil sınıfının log metodu
    • Math sınıfının min ve max metotları
    • Math sınıfının yuvarlama yapan temel metotları
    • Sabitler (literals)
    • char türden sabitler
  4. Lesson

    • Tek tırnak içerisinde özel durumlar dışında birden fazla karakter yazılamaz.
    • Ters bölüden sonra özel karakterler dışında karakter yazılamaz
    • Ters bölü karakteri tek tırnak içersine iki tane olarak yazılmalıdır
    • Tek tırnak karakter sabiti tek tırnak içerisinde ters bölü ile yazılmalıdır
    • İki tırnak karakter sabiti tek tırnak içerisinde iki türlü kullanılabilir
    • İki tırnak içerisinde (String atomunda) ter bölü yazılması gereken karakterler anlamlıdır.
    • Aşağıdaki durumda ters bölüden sonra özel karakter kullanılmadığından error oluşur
    • İki tırnak karakteri iki tırnak içerisinde ters bölü ile kullanılmalıdır
    • İki tırnak karakteri iki tırnak içerisinde ters bölü ile kullanılmalıdır
    • Tek tırnak karakteri iki tırnak içerisinde iki şekilde kullanılabilir
    • Tek tırnak karakteri iki tırnak içerisinde iki şekilde kullanılabilir
    • Ters bölü ve u ile bir karakterin yazılması
    • Ters bölü u ile değişken isimlerine ilişkin karakterler de belirlenebilir
    • Ters bölü u iki tırnak içerisinde de anlamlıdır
    • Bir tamsayı önüne bir ek almadan yazıldığında decimal yazılmış olur
    • Tamsayı sabitinin önünen sıfır ve x (büyük veya küçük) yazıldığında bu ekten sonra gelen basamaklar hexadimal basamaklar olarak yazılabilir
    • Tamsayı sabitinin önünen sıfır yazıldığında bu ekten sonra gelen basamaklar octal basamaklar olarak yazılabilir
    • Java 7 ile birlikte sabitin başına sıfır ve b (büyük veya küçük) yazıldığından ikilik sistemde basamaklar yazılabilir
    • Gerçek sayı sabit sabitlerinin üstel gösterilişi
    • Java 7 ile birlikte bir sabit içerisinde alttire karakteri kullanılabilmektedir
    • Alttire karakteri kullanılabildiği yerde istenildiği kadar yazılabilir
    • Alttire karakteri karakter sabitleri içerisinde geçersizdir
    • Alttire karakteri sabitin başında ya da sonunda geçersizdir
    • Alttire karakteri sayı nokta içeriyosa noktadan önce ya da sonra geçersizdir
    • Alttire karakteri sabit sonundaki eklerden önce ya da sonra kullanılamaz
    • Alttire karakteri sabitin önündeki eklerden önce sonra veya arasında geçersizdir
    • Octal sabitler için önek ile sabitin ilk basamağı arasında alttire karakteri geçerlidir
    • Octal sabitin önekinden önce alttire yine geçersizdir
    • Gerçek sayı sabitlerinin tamsayı kısmının değeri sıfırsa noktadan önce sıfır yazılmayabilir.
    • Operatörler
    • Aritmetik 4 işlem ve mod operatörü (bölme hariç)
    • Bölme işleminde operandlar tamsayı türündense sonuç tamsayı türünden çıkar.
    • Mod operatörünün birinci operandı negatif ise sonuç hep negatif çıkar. Pozitif ise hep pozitif çıkar
    • Mod operatörü Java' da gerçek sayılar için de kullanılabilir
    • Sınıf Çalışması: getDigitsSum metodunu yazınız.
    • İşaret - operatörü
    • İşaret + operatörü
    • ++ operatörü iki şekilde operatörü postfix ve prefix olarak kullanılabilir.
    • ++ operatörünün prefix kullanımında ürettiği değer (işleme giren değer) artırılmış değerdir
    • ++ operatörünün postfix kullanımında ürettiği değer (işleme giren değer) artırılMAmış değerdir
    • -- operatörü iki şekilde operatörü postfix ve prefix olarak kullanılabilir.
    • -- operatörü iki şekilde operatörü postfix ve prefix olarak kullanılabilir.
    • -- operatörünün prefix kullanımında ürettiği değer (işleme giren değer) azaltılmış değerdir
    • ++ ve -- operatörlerinin kullanımı
    • Derleyici yukarıdan aşağıya ve soldan sağa olmak üzere anlamlı en uzun ifadeyi alacak şekilde atomlarına ayırma işlemini yapar
    • Karşılaştırma operatörleri karşılaştırmanın sonucuna göre boolean türden değer üretir
    • Mantıksal VE (AND) operatörü
    • Mantıksal VEYA (OR) operatörü
    • Mantıksal operatörlerin kısa devre (short circuit) davranışı
    • Mantıksal operatörlerin kısa devre (short circuit) davranışı (2)
    • Mantıksal operatörlerin kısa devre (short circuit) davranışı (3)
    • Bitsel AND (&)ve bitsel OR (|) operatörleri tamsayılar ile çalışırlar.
    • Mantıksal değil operatörünün flag değişkenlerde kullanımı
    • Atama operatörü sağdan sola önceliklidir
    • İşlemli atama operatörlerinin genel biçimi:
    • Metot çağırma operatörü
    • Java' da etkisiz ifadeler genel olarak error oluşturur
    • Deyim (statement)
    • Basit deyim
    • Bileşik deyim
    • Bildirim deyimleri
    • Boş deyim
    • if deyiminin genel biçimi
    • Aşağıdaki örnekte else'in ait olduğu bir if deyimi olmadığından error oluşur
    • Aşağıdaki örnekte else kısmı içteki if deyimine ait olur (dangling else)
    • Yukarıdaki örnekte dangling else durumu aşağıdaki gibi bileşik deyim koyarak düzeltilebilir
  5. Lesson

    • if deyiminin koşul parantezinde boolean türden ifadeler için == veya != operatörleri kullanılması
    • isEven metodu kullanarak isOdd metodu aşağıdaki gibi yazılabilir
    • boolean türden bir metot çağrısının if deyiminde kullanımı
    • Sınıf Çalışması: Katsayıları klavyeden girilen ikinci dereceden bir denklemin köklerini bulup ekrana basan programı yazınız
    • Döngü deyimleri
    • while döngüsünde n-kez dönen döngü kalıbı (dizi uyumlu)
    • while döngüsünde n-kez dönen döngü kalıbı
    • while döngüsünün parantezi içerisinde okunabilirliği etkilemedeği sürece aşağıdaki gibi bir kod yazılabilir.
    • Sınıf Çalışması: Klavyeden sıfır girilene kadar alınan sayıların pozitif ve negatif olanlarının ayrı ayrı toplamlarını bulan programı yazınız
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının basamak sayısını döndüren getDigitsCount isimli metodu yazınız
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının basamakları toplamını döndüren getDigitsSum isimli metodu yazınız
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının tersini döndüren getReverse isimli metodu
    • Kontrolün sonda yapıldığı while döngü deyimi (do-while döngüsü):
    • do-while döngüsü içerisinde bildirilen bir değişken while parantezinde faaliyet alanı kuralları gereği kullanılamaz
    • Yukarıdaki örnek aşağıdaki gibi çözülebilir
    • Sonsuz döngü: Döngünün koşulundan dolayı sonlanmadığı döngülere denir.
    • Sonsuz döngünün sonlandırılması
    • for döngü deyimi
    • for döngü deyiminin 1.kısmında değişken bildirimi yapılabilir.
    • for döngü deyimi ile n-kez dönen döngü kalıbı (dizi uyumlu)
    • for döngü deyimi ile n-kez dönen döngü kalıbı
    • for döngü deyiminin birinci ve üçüncü kısmında virgül ayracı ifade ayırmak için kullanılabilir
    • for döngü deyiminin birinci ve üçüncü kısmında virgül ayracı ifade ayırmak için kullanılabilir (2)
    • for döngü deyiminin birinci kısmında değişken bildirimi varsa virgülle ayırarak bildirim dışında bir ifade yazılamaz.
    • for döngü deyiminin ilginç bir kullanımı
    • for döngü deyiminin ilginç bir kullanımı (2)
    • for döngü deyiminin 3.kısmının boş bırakılması durumu
    • for döngü deyiminin 1.ve 3.kısmının boş bırakılması while döngü deyimine benzetilebilir
    • for döngü deyiminin 2.kısmının boş bırakılması sonsuz döngü oluşturmak demektir
    • for döngü deyimi ile sonsuz döngü kalıbı
    • Sınıf Çalışması: Parametresi ile aldığı int türden a ve b değerleri için a'nın b-inci kuvvetini döndüren pow isimli metodu yazınız.
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının Armstrong sayısı olup olmadığını test eden isArmstrong metodunu yazınız ve test ediniz.
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının faktoriyelini döndüren factorial isimli metodu yazınız ve test ediniz.
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının asal olup olmadığını test eden isPrime metodunu yazınız ve test ediniz
    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının asal olup olmadığını test eden isPrime metodunu yazınız ve test ediniz
    • Yukarıda yazılan isPrime metotlarının performanslarını gösteren basit bir test
  6. Lesson

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir n değeri için n-inci asal sayıyı döndüren getPrime isimli metodu yazınız.
    • Sınıf Çalışması: Parametresi ile aldığı n sayısı için n-inci fibonacci sayısını döndüren getFibonacci isimli metodu yazınız.
    • Sınıf Çalışması: Parametresi ile aldığı sayıdan büyük ilk Fibonacci sayısını döndüren getNextFibonacciNumber isimli metodu yazınız ve test ediniz
    • İçiçe döngüler
    • Programcı bazen tek bir döngü yazsada döngü içerisinde çağrılan metotlar içerisinde de döngü kullanılmışsa içiçe döngü yazılmış olur
    • 3 basamanklı Armstrong sayılarının içiçe döngü ile bulunuşu
    • break deyiminin genel biçimi.
    • Aşağıdaki örnekte içteki döngüde bir koşul gerçekleştiğinde dıştaki döngü sonlandırılmıştır
    • Etiketli break deyimi ile yukarıdaki örnek daha okunabilir olarak değiştirilebilir
    • Etiketli break deyiminin kullanımı
    • continue deyimi döngüyü değil döngünün adımını sonlandırır
    • Menülerle işlem yapılabilen basit bir iskelet program
    • switch deyiminin genel biçimi
    • switch deyiminde default bölüm olmak zorunda değildir.
    • switch deyiminde default bölümününm yerinin önemi yoktur. Şüphesiz sona konması daha uygundur
    • switch deyiminde bir case bölümüne ilişkin ifadenin sabit ifadesi olması gerekir
    • switch deyiminde birden fazla aynı değere sahip case bölümü geçersizdir
    • switch deyiminde birden fazla aynı değere sahip case bölümü geçersizdir (2)
    • switch deyiminde temel türler için tamsayı türleri ve char türü dışında hiç bir tür kullanılamaz.
    • switch deyiminde aşağı düşme (fall through) özelliği vardır.
    • switch deyimi char türü için de kullanılabilir
    • Menülerle işlem yapılabilen basit bir iskelet program
    • Menülerle işlem yapılabilen basit bir iskelet program
    • Sınıf çalışması:isLeapYear isimli metodu yazınız ve test ediniz
    • Sınıf çalışması: isValidDate isimli metodu yazınız ve test ediniz
    • Sınıf çalışması:getDayOfYear isimli metodu yazınız ve test ediniz.
  7. Lesson

    • Sınıf çalışması: getDayOfYear isimli metodu yazınız ve test ediniz.
    • Sınıf çalışması: getDayOfWeek metodunu yazınız.
    • Tür Dönüşümümlerine genel bakış
    • Aşağıdaki örnekte long türünün içerisindeki değere bakılmaksızın atama geçersiz olduğundan error oluşur
    • Küçük tamsayı türünden büyük tamsayı türüne doğrudan atama yapılabilir.
    • Küçük tamsayı türünden büyük tamsayı türüne yapılan atamalarda tamsayı türüne ilişkin değer pozitif veya sıfır ise nasıl besleme yapılır ?
    • Hiç bir türden char türüne doğrudan atama yapılamaz
    • Yukarıdaki kuralın istisnası olarak "char türü sınırları içerisinde kalan int türden bir sabit" char türüne doğrudan atanabilir.
    • char türünden short türüne doğrudan atama geçersizdir.
    • char türünden kendisinden uzunluk olarak büyük türlere doğrudan atama geçerlidir.
    • char türünden kendisinden uzunluk olarak büyük türlere doğrudan atama geçerlidir.
    • short türünden char türüne doğrudan atama geçersizdir
    • Bilindiği gibi Java'da byte ve short türden sabit yoktur. Ancak "sınırlar içerisinde kalan int türden bir sabit" byte/short türüne atanabilir
    • Bütün tamsayı türlerinden gerçek sayı türlerine doğrudan atama geçerlidir
    • Gerçek sayılardan tamsayı türlerine atama geçersizdir
    • float türünden double türüne doğrudan atama geçerlidir
    • double türünden float türüne doğrudan atama geçersizdir
    • boolean türünden herhangi bir türe doğrudan atama geçersizdir
    • Herhangi bir türden boolean türüne doğrudan atama geçersizdir
    • Temel türler için doğrudan dönüşüm tablosu:
    • short, byte ve char türlerine "sınırlar içerisinde kalması koşuluyla int türden sabit atanması" kuralları metot çağrısında argümanlardan parametrelere yapılan atama işleminde geçersizdir
    • Aşağıdaki örnekte float türüne atamalar yapılmıştır. Çıktıları inceleyiniz
    • Aşağıdaki örnekte klavyden float değer alındığında yuvarlama hatası oluşabilir
    • Yukarıda söylenen sabite ilişkin detaylar sabit ifadeleri için de geçerlidir. Zaten sabit ifadelerinin sonucu da sabittir
    • İki operandlı bir operatör için derleyici önce operandların türlerine bakar. Operandlar farklı türdense önce ortak türe dönüştürür sonra işlemi yapar.
    • İşlem öncesinde her iki operand da byte, short ve char türlerindense (yani uzunluk olarak int türünden küçükse) her iki operand da int türüne yükseltilir (integer promotion), sonuç int türden çıkar
    • Gerçek sayı türleri ve tamsayı türleri işleme sokulduğunda dönüştürme gerçek sayı türüne doğrudur ve sonuç dönüştürülen gerçek sayı türünden çıkar.
    • Bölme işleminde her iki operand da tamsayı türlerine ilişkinse sonuç tamsayı türünden çıkar. Bölme işlemi yapılır. Elde edilen değerin noktadan sonraki kısmı atılır
    • Küçük tamsayı türü ile büyük tamsayı türü işleme sokulduğunda dönüşüm büyük tamsayı türüne doğrudur. Sonuçta büyük tamsayı türünden çıkar
    • boolean türü hiçbir tür ile işleme sokulamaz
    • char türü diğer türlerle işleme sokulabilir
    • İşlem öncesi otomatik tür dönüşümü geçici değişken yaratılarak yapılır. Örnekte derleyici aşağıdakine benzer bir kod üretir:
    • Tür dönüştürme operatörünün genel biçimi:
    • implicit olarak yapılabilen dönüşümler explicit olarak da yapılabilir. Ancak bunun kullanımı anlamsızdır
    • Aşağdaki explicit dönüşüme ilişkin maddeler else-if biçiminde değerlendirilmelidir
    • Büyük tamsayı türünden küçük tamsayı türüne yapılan explicit dönüşümde sayının yüksek anlamlı byte değerleri atılır. Elde edilen değer hedef tamsayı türüne atanır
    • short türünden char türüne yapılan explicit dönüşümde sayının bit kalıbı değişmez. Bitlerin yorumlanışı değişir
    • byte türünden char türüne yapılan explicit dönüşüm iki aşamada geçekleşir. Birinci aşamada değer int türüne dönüştürülür. İkinci aşamada yüksek anlamlı byte değerleri atılarak char türüne dönüştürülür
    • double türünden float türüne yapılan explicit dönüüşmde bilgi kaybı olabilir. Bu durumda IEEE754 standardına göre yuvarlama kuralları kullanılarak float türünde gösterilebilecek en yakın değer elde edilir
    • Tür dönüştürme operatörü ile de boolean türünden hiç bir türe ve hiç bir türden boolean türüne dönüşüm yapılamaz
    • Gerçek sayı türünden tamsayı türüne explicit dönüşüm şu aşamalarla gerçekleşir:
    • Bazen tür dönüştürme operatörü kullanılmazsa bilgi kaybı oluşabilir
    • Aşağıdaki örnekte double türden sabit kullanıldığından doğru işlem yapılmıştır.
    • İşlemli atama operatörlerinin çalışma biçimi:
    • Bir sayının log10 kullanarak basamak sayısının bulunması
    • Homework-005-1. sorunun bir çözümü
    • Koşul operatörünün genel biçimi
    • Aşağıdaki örnekte b + 200 ifadesi koşul operatörünün 3. operandıdır
    • Aşağıdaki örnekte 200 sayısı koşul operatörünün ürettiği değer eklenmiştir
    • Koşul operatörünün ürettiği değer bir işleme sokulabilir
    • Koşul operatörü return deyimine ilişkin ifadede kullanılabilir
    • Koşul operatörü bir metoda argüman olarak verilebilir
    • Bir sayının log10 kullanarak basamak sayısının bulunması
    • Sınıf Çalışması: getDayOfWeek metodunu yazınız.
    • Koşul operatörünün opandlarında ilişkin ifade void bir ifade olamaz
    • Koşul operatörünün bir kullanımı
    • Aşağıdaki örnekte koşul operatörünün daha okunabilir olması için gerekmese de parantez konmalıdır
    • Aşağıdaki foo metotları ayrı sınıflarda olduklarından herhangi bir problem oluşmaz. Bu işlem method overloading değildir.
  8. Lesson

    • Method overloading nedir ?
    • Bir metodun static olup olmamasının overload işlemine etkisi yoktur
    • Bir metodun geri dönüş tür bilgisinin overload işlemine etkisi yoktur.
    • Bir metodun parametre değişkenlerinin isimlerinin overload işlemine etkisi yoktur.
    • Bir metodun overload edilebilmesi için parametrik yapısı farklı olması gerekir.
    • Bir metodun imzası nedir?
    • Overload Resolution işlemi nasıl gerçekleşir?
    • Bir değişkenin faaliyet alanı ve ömrü nedir?
    • Sınıfın elemanları: metot ve veri elemanı.
    • Sınıfın veri elemanı nedir?
    • Bir sınıf içerisinde aynı isimde birden fazla veri elemanı bildirimi yapılamaz.
    • Sınıf bildirimi bir tür bildirimidir!
    • Sınıf bildirimi bir tür bildirimi olduğuna göre sınıf türünden de değişkenler bildirilebilir.
    • Java' da türler kategori olarak iki gruba ayrılır: değer türleri (value types), referans türleri (reference types).
    • Sınıf türünden bir değişkene referans değişken ya da referans denir.
    • Java'da nesne yaratılması.
    • Sınıfın non-static veri elemanları her nesne için ayrıca yaratılır.
    • Non-static veri elemanlarına nesnenin yaratılması aşamasında default değerler atanır.
    • Java'da nesnenin bellekte kapladığı alan en az non-static veri elemanlarının toplam uzunluğu kadardır.
    • İki aynı türden referansın birbirine atanması iki referansın da aynı nesneyi göstermeleri demektir.
    • Referans parametreli metotlar olabilir.
    • Referans parametreli metotlar aldıkları referansa ilişkin nesne üzerinde değişiklik yapabilirler .
    • Referans geri dönen metotlar ile bir nesnenin referansı metodun geri dönüş değerinden elde edilebilir.
    • Sınıfın static bir veri elemanı bir tanedir.
    • Sınıfın static veri elemanlarının hepsi sınıfın bir elemanı ilk kez kez kullanıldığında yaratılır ve programın sonuna kadar yaşarlar.
    • Sınıfın static veri elemanlarına da default değerler atanır.
  9. Lesson

    • Sınıfın non-static bir elemanına sınıf dışından sınıf ismi ile erişilemez. Çünkü non-static veri elemanı her nesne için ayrıca yaratılır.
    • Sınıfın static bir elemanına sınıf dışından referans ile de erişilebilir. Sınıf ismi ile erişmekten okunabilirlik hariç bir farkı yoktur.
    • Sınıfın non-static bir metodu sınıf dışından referans ve nokta operatörü ile çağrılabilir
    • Sınıfın non-static bir metodu sınıf dışından sınıf ismi ve noka operatörü ile çağrılamaz
    • Sınıfın static bir metodu sınıf isme ve nokta operatörü ile çağrılabilir
    • Sınıfın static bir metodu referans ve nokta operatörü ile de çağrılabilir. Fakat okunabilirlik açısından yapılmamalıdır
    • Sınıfın non-static bir metodu içerisinde aynı sınıfın non-static bir veri elemanına doğrudan erişilebilir.
    • Sınıfın non-static bir metodu içerisinde aynı sınıfın non-static metodu doğrudan çağrılabilir.
    • Yukarıdaki iki maddenin özeti olarak, sınıfın non-static bir metodu içerisinde sınıfın non-static elemanlarına doğrudan erişilebilir
    • Sınıfın non-static bir metodu içerisinde sınıfın static bir veri elemanına doğrudan erişilebilir
    • Sınıfın non-static bir metodu içerisinde sınıfın static bir metodu doğrudan çağrılabilir
    • Yukarıdaki iki maddenin özeti olarak, sınıfın non-static bir metodu içerisinde sınıfın static elemanlarına doğrudan erişilebilir
    • Yukarıdaki dört maddenin özeti olarak, sınıfın non-static bir metodu içerisinde sınıfın tüm elemanlarına (non-static veya static) doğrudan erişilebilir
    • Sınıfın static bir metodu içerisinde sınıfın non-static bir veri elemanına doğrudan erişilemez.
    • Sınıfın static bir metodu içerisinde sınıfın non-static bir metodu doğrudan çağrılamaz.
    • Yukarıdaki iki maddenin özeti olarak, sınıfın static bir metodu içerisinde sınıfın non-static elemanlarına doğrudan erişilemez
    • Sınıfın static bir metodu içerisinde sınıfın static bir elemanına doğrudan erişilebilir.
    • Sınıfın static bir metodu içerisinde sınıfın static bir metodu doğrudan çağrılabilir
    • Yukarıdaki iki maddenin özeti olarak, sınıfın static bir metodu içerisinde sınıfın static elemanlarına doğrudan erişilebilir
    • Yukarıdaki dört maddenin özeti olarak, sınıfın static bir metodu içerisinde sınıfın yalnızca static elemanlarına doğrudan erişilebilir
    • Yukarıdaki sekiz maddenin özeti olarak, sınıfın non-static bir metodu içerisinde sınıfın her elemanına doğrudan erişilebilirken, static bir metodu içerisinde yalnızca static elemanlarına doğrudan erişilebilir
    • Point sınıfı ve test kodu
    • Point sınıfı
    • Complex sınıfı ve test kodu
    • Complex sınıfı
    • Random sınıfı nextInt metodu
    • Random sınıfı nextDouble metodu
    • Random sınıfı nextLong metodu
    • Random sınıfın nextBoolean metodu
    • Sınıf Çalışması: Paranın yazı gelme olasılığının yaklaşık olarak 0.5 olduğunu bulan basit bir simulasyon programını yazınız
    • Sınıf Çalışması: Paranın yazı gelme olasılığının yaklaşık olarak 0.5 olduğunu bulan basit bir simulasyon programını yazınız
    • Sınıf Çalışması: İki zar atıldığında zarların çift gelmesi (ikisi de aynı) olasılığını yaklaşık hesaplayan basit simülasyon programını yazınız
    • Tohum değeri setSeed isimli metot ile değiştirilebilir
    • Homework-002-2. sorunun bir çözümü.
    • Java'da nesnenin yaratılma aşamaları
    • constructor (ctor) özellikleri
    • ctor'un çağrılması
    • ctor non-static bir metottur.
    • ctor öncesinde default değerler atanmış olur.
    • ctor içerisinde return kullanımı
    • Point sınıfı ve test kodu
  10. Lesson

    • Complex sınıfı ve test kodu
    • Random sınıfının tohum değeri parametreli ctor elemanı
    • Derleyici String atomu gördüğünde nasıl bir kod üretir ?
    • printf metodunda s format karakteri ile bir String referansına ilişkin yazı ekrana basılabilir
    • immutable sınıf nedir ?
    • String sınıfının toUpperCase metodu
    • String sınıfının toLowerCase metodu
    • String sınıfının length isimli metodu
    • String sınıfının charAt isimli metodu
    • Boş String nedir ?
    • Aynı türden iki referansın == ve != operatörleri ile karşılaştırılması
    • Yazıların eşitlik karşılaştırması == ve != operatörleri ile yapılmaz
    • Yazıların eşitlik karşılaştırması equals metodu ile yapılabilir.
    • String sınıfının equalsIgnoreCase isimli metodu
    • String sınıfının indexOf metodu
    • String sınıfının fromIndex parametreli indexOf metodu
    • String sınıfının lastIndexOf metodu
    • Sınıf Çalışması: (countString isimli metodun yazılması)
    • Bir string içinde boş string arama testi 1 (kötü yöntem)
    • Bir string içinde boş string arama testi 2 (kötü yöntem)
    • Bir string içinde boş string arama testi 3 (iyi yöntem)
    • String sınıfının trim metodu
    • String sınıfının concat metodu
    • Yazı birleştirmesi + operatörü ile de yapılabilir
    • + operatörünün operandlarından bir String türündense diğer operandının String karşlığı elde edilerek birleştirme işlemi yapılır
    • Sınıf Çalışması: reverse metodunu yazınız
    • Sınıf Çalışması: Basit ATM kullanıcı ve parola test uygulamasını yazınız
    • String sınıfının substring metodu
    • String sınıfının substring metoduna index numarası olarak yazının uzunluğu verildiğinde boş string döndürür
    • Sınıf Çalışması: Quit girilene kadar aldığı yazıları - ile birleştiren programı yazınız
    • String sınıfının startsWith metodu
    • String sınıfının endsWith metodu
    • Character sınıfının isXXX ( isWhiteSpace, isLetter, isDigit, isUpparCase, isLowerCase ) metotları
    • Character sınıfının toXXX ( toUpperCase, toLowerCase )metotları
    • Sınıf Çalışması: Aldığı yazının ilk karakterini büyük harf capitalize isimli metodu yazınız
    • Sınıf Çalışması: Aldığı yazının sağındaki boşlukları silen trimRight ve solundaki boşlukları silen trimLeft metotlarını ayrı ayrı yazınız
    • Sınıf Çalışması: Aşağıda açıklanan metotları (padLeft ve padRight) yazınız ve test ediniz
    • Homework-002-2. sorunun bir çözümü.
    • Aldığı yazının içindeki tüm boşlukları silen removeWhiteSpaces metodunu yazınız.
    • String sınıfının compareTo metodu
    • String sınıfının compareToIgnoreCase metodu
  11. Lesson

    • Derleyici özdeş String atomları (string literal) için aynı adresi verir.
    • Sınıf çalışması: isPangramTR ve isPangramEN isimli metodlarını yazınız (1.1).
    • isPangramEN motedunun unicode-uyumlu yazılması (1.2)
    • Sınıf çalışması: isPalindrom isimli motodu yazınız (2).
    • Sınıf çalışması: isPalindrom isimli motodu yazınız (3).
    • Sınıf çalışması: isPalindrom isimli motodu yazınız(4).
    • Sınıf çalışması: getLongestPalindrome metodunu yazınız.
    • Sınıf Çalışması: getRandomTextTR ve getRandomTextEN metodlarını yazınız.
    • Sarmalayan sınıfların parseXXX (parseint, parse double vs.) metodları ile yazılar sayıya çevrilebilir.
    • Neden nextInt, nextLong, nextDouble metotları nextLine metodu ile aynı Scanner nesnesi üzerinde kullanılmamalıdır ?
    • String sınıfının valueOf metodu.
    • String sınıfının contains metodu.
    • Sınıf çalışması: isPangramTr ve isPangramEN metodlarını yazınız.
    • String sınıfının format metodu.
    • Complex sınıfı ve test kodu
    • String sınıfının replace metodu.
    • java 7 ile birlikte switch deyiminde String kullanımı.
    • Paketler
  12. Lesson

    • PAKETLER

    • java.lang paketi altındaki tüm sınıflar heryerden görülebilirdir.

    • Point sınıfı (paket bildirimi ile)

    • Complex sınıfı (paket bildirimi ile)

    • PointF sınıfı (paket bildirimi ile)

    • DateApp uygulaması (paket bilidirmi ile)

    • StringUtil sınıfı (paket bildirimi ile)

    • NumberUtil sınıfı (paket bilidirimi ile)

    • İsim arama (Name LookUp)

    • Derleyici bildirim sırasındaki isimleri aramaz. Zaten bu bildirimdir

    • Bir isim programlamada iki türlü kullanılabilir: nitelikli (qualified), niteliksiz (unqualified)

    • Nitelikli ve niteliksiz kullanım

    • İsim bulundu fakat kullanım hatası

    • İsim bulunamadı hatası

    • Niteliksiz isim arama kuralları (1)

    • Niteliksiz isim arama kuralları (2)

    • Yukarıdaki iki kurala göre bir sınıfın veri elemanı ile aynı isimde olan metot parametre değişkenleri veya yerel değişkenler olabilir

    • Niteliksiz isim arama kuralları (3)

    • isimsiz paket altına bir sınıf konmamalıdır

    • Niteliksiz isim arama kuralları (4)

    • Nitelikli isim arama kuralları (1)

    • Nitelikli isim arama kuralları (2)

    • Nitelikli isim arama kuralları (3)

    • Alt paket isimleri niteliksiz aramaya dahil değildir.

    • import bildirimi iki şekilde kullanılabilir:

    • Yıldızlı import bildirimi (import on demand declaration)

    • Yıldızlı import bildiriminin (import on demand declaration) gerekliliği

    • import bildirimi ve ambiguity durumu

    • ambiguity durumunun çözümü

    • Yıldızsız import bildiriminin (import single type declaration) genel biçimi:

    • Yıldızsız import bildiriminin (import single type declaration) gerekliliği

    • import bildiriminin yapılması sırasında hata oluşması durumu

    • yıldız import bildiriminin geçersiz olduğu durum

    • StringUtil sınıfı (güncellendi)

    • import ile bildirilen paketlerin sınıflarının çakışması durumunda ne yapılmalıdır ?

    • Aşağıdaki örnekte import bildirimleri ile nitaliklendirme azaltılmıştır

    • static import bildirimleri ve türleri

    • Yıldızlı import static bildiriminin genel biçimi: (import static on demand declaration)

    • NumberUtil sınıfı (Güncellendi)

    • StringUtil sınıfı (Güncellendi)

    • Point sınıfı (Güncellendi)

    • PointF sınıfı (güncellendi)

    • Yıldızsız import static bildiriminin genel biçimi: (import static single type declaration)

    • NumberUtil sınıfı (güncellendi)

    • StringUtil sınıfı (Güncellendi)

    • Point sınıfı(güncellendi)

    • PointF sınıfı (Güncellendi)

    • Diziler (Arrays)

    • Dizi referansı bildirimi Java' da iki şekilde yapılabilir:

    • []'in referans bildiriminde bulunduğu yare göre farkları

    • Dizi yaramanın genel biçimi:

    • Dizi yaratılırken verilen eleman sayısı sabit ifadesi olmak zorunda değildir

    • length veri elemanına atama yapılamaz

    • Dizinin elamlarına [] operatörü ile erişilebilir.

    • [] operatörüne negatif pozitif bakımından sınırlar dışında bir değer verildiğinde exception oluşur

    • Bir dizi ilk yaratıldığında tüm elemanlarına default değerler atanır

    • Dizilere ilkdeğer verilmesi (initialization) küme parantezi ile yapılabilir.

    • Diziye ilkdeğer verilirken aynı zamanda bir referansa da ilkdeğer veriliyorsa new operatörü kullanılması gerekmez

    • atama şeklinde diziye ilk değer verilemez

    • Diziye ilkdeğer verilmesi sırasında küme parantezi içerisinde yazılan son elemandan sonra konan bir tane virgül geçerlidir.

    • Diziye ilkdeğer olarak verilen elemanlar sabit ifadesi olmak zorunda değildir

  13. Lesson

    • Bir metodun parametresi bir dizi referansı olabilir

    • Bir metodun geri dönüş değerine ilişkin tür bir dizi türü olabilir

    • ArrayUtil sınıfının swap metodu

    • ArrayUtil sınıfının fillRandomArray metodu

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir diziyi tersyüz eden reverse isimli metodu yazınız ve tes ediniz. İşlemi ikinci bir dizi kullanmadan yapınız.

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir diziyi tersyüz eden reverse isimli metodu yazınız ve tes ediniz. İşlemi ikinci bir dizi kullanmadan yapınız.

    • Java'da length bilgisi sıfır olan dizi yaratılabilir

    • Sıfır elemanlı aşağıdaki gibi kontrol amaçlı kullanılabilir

    • Sayısal loto kuponu üreten basit bir program

    • Sayısal loto kuponu üreten basit bir program (Daha iyi versiyon)

    • ArrayUtil sınıfının max ve min metotları

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının basamklarından oluşan diziyi döndüren getDigits isimli metodu yazınız.

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir dizinin elemanları toplamını döndüren sum isimli metodu ArrayUtil sınıfı içerisinde yazınız.

    • ArrayUtil sınıfının getHistogramData metodu

    • String sınıfının char türden dizi paametreli ctor'u ile char türden diziden bir String elde edilebilir

    • String sınıfının char türden dizi paametreli valueOf ile char türden diziden bir String elde edilebilir

    • String sınıfının toCharArray metodu ile bit String'in karakterlerinden oluşan char türden bir dizi elde edilebilir.

    • StringUtil sınıfının reverse metodu

    • Dizilerin sıraya dizilmesi (sorting):

    • Seçerek sıralama algoritması

    • ArrayUtil sınıfının partition metodu (partition algoritması kullanılmıştır)

    • ArrayUtil sınıfının drawHistogram metodu

    • Referans dizileri

    • Referans dizierine ilkdeğer verilmesi

    • String dizileri

    • Sınıf çalışması: getDayOfWeek metodunu aşağıdaki kurallara göre yazınız.

    • Sınıf çalışması: Klavyden int türden bir n sayısı isteyiniz. n elemanlı bir String dizisi yaratınız.

    • Sınıf çalışması: Parametresi ile aldığı en fazla üç basamaklı bir sayının Türkçe olarak okunuşunu döndüren numberToText3DigitsTR metodunu yazınız ve test ediniz.

  14. Lesson

    • Sınıf çalışması: getDigitsInThrees metodunu NumberUtil sınıfı içerisinde yazınız yazınız ve test ediniz.

    • String sınıfının split metodu ve çeşitli örnekler

    • split metodu ile kullanılacak ayraç(lar) [] arasında yazılmalıdır

    • split'in aşağıdaki biçimde kullanımında iki ayraç arasındaki boş string'ler de geri döndürülen diziye dahil edilir

    • Boş string'in diziye dahil edilmemesi için köşeli parantez konmalıdır sonuna + konmalıdır

    • [ ve ] karakterlerinin ayraç olarak verilebilmesi için ters bölü ile yazılması gerekir.

    • Sınıf çalışması: Klavyeden aşağıdaki formatta girilen bilgiyi ayrıştırarak ekrana yazdıran programı yazınız.

    • Homework-013 sorusuna ilişkin bir iskelet. Bunu kullanarak geliştirmeniz tavsiye edilir

    • Dizi Dizileri

    • Aşağıdaki m * n'lik bir matris yaratılmış ve elemanlarına rasgele değerler atanmıştır

    • Java 5 ile birlikte aşağıdaki gibi ikinci [] içerisinde yazılan uzunluk matrisin satır sayısı anlamına gelir.

    • Dizi dizileri de metotlara geçirilebilir, dizi dizisi (referansı) döndüren metotlar da yazılabilir

    • Dizi dizilerine ilk değer verilmesi

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir dizi dizisinin elemanlarının toplamını döndüren sum isimli metodu ArrayUtil sınıfı içerisinde yazınız ve test ediniz

    • Sınıf Çalışması: Parametresi ile aldığı bir matrisin devriğini (transpose) döndüren transpose isimli metodu yazınız.

    • Sınıf Çalışması: isMatrix ve isSquareMatrix metodlarını yazınız

    • Sınıf Çalışması: Parametresi ile aldığı int türden bir kare matrisin esas köşegeni üzerindeki elemanlarının toplamını bulan programı yazınız.

    • Sınıf Çalışması: addMtrices isimli metodu ArrayUtil sınıfı içerisinde yazınız ve test ediniz.

    • Dizi dizilerine yönelik karmaşık bildirimler

    • Sayısal loto kupon oluşturan program

    • Sınıf Çalışması: Şubelere göre matematik sınav sonuçlarını bulup yazdıran programı yazınız

    • ArrayUtil sınıfı

    • NumberUtil sınıfı

    • for-each döngü deyiminin genel biçimi

  15. Lesson

    • for-each döngü deyiminin genel biçimi:

    • for-each döngü deyiminin temsili karşılığı

    • for-each döngü deyiminde döngü değişkenine atama işlemi dorğudan yapılır.

    • for-each döngü deyiminde döngü değişkenine atama işlemi dorğudan yapılır. Aşağıdaki örnekte error oluşmaz

    • for-each döngü deyiminde döngü değişkenini alanı döngü boyunca görülebilirdir

    • for-each döngü deyiminde : den sonraki kısım bir kez yapılır

    • for-each döngü deyiminde döngü değişkenine atama yapılabilir. Bu çok işe yarar bir işlem değildir.

    • String sınıfı for-each döngü deyimi ile kullanılamamaktadır

    • Yukarıdaki işlem toCharArray metodu ile yapılabilir

    • for-each döngü deyimi ile dizi dizilerinin dolaşılması

    • for-each döngü deyimi kullanımı kolaylaştırdığı her yerde kullanılmalıdır.

    • ArrayUtil sınıfı (updated)

    • Sınıfın elemanlarının erişim belirleyicileri: (Java Modifiers)

    • Sınıfın public bölüme sınıf dışından erişilebilir

    • Sınıfın private bölüme sınıf dışından erişilemez

    • Sınıfın no-modifier bölümü aynı paketteki diğer sınıflar için public anlamındadır (friendly, internal)

    • Sınıfın no-modifier bölümü farklı paketteki diğer sınıflar için private anlamındadır

    • Sınıfın protected bölümü aynı paketteki diğer sınıflar için public anlamındadır (friendly, internal)

    • Sınıfın protected bölümü farklı paketteki diğer sınıflar için türetme (inheritance) söz konusu değilse private anlamdadır. Türetme ve protected bölümün anlamı ileride ele alınacaktır

    • Erişim Belirleyicileri erişim tablosu (modifiers access table)

    • Sınıfın özellikle veri elemanlarının gizlenmesine (yani diğer sınıflardan erişilememesine) nesne yönelimli programlama tekniğinde kapsülleme (encapsulation) denir.

    • Programlamada bazı önemli isimlendirme teknikleri

    • Programlama da private elemanlara yönelik bazı isimlendirme teknikleri

    • Bir sınıfın veri elemanlarına yönelik set metotları (setters) ve get metotlarının(getters) yazılması

    • get ve set metotları için örnek şablon

    • boolean türden elemanlar için getter biçimi farklıdır

    • Bir veri elamanı ne zaman gizlenmelidir!!!

    • veri elemanlarının gizlenmesi ve client kodun bu değişiklikten etkilenmemesi

    • Circle sınıfı ve test kodu

    • Circle sınıfı

    • Circle sınıfı ve test kodu

    • Circle sınıfı

    • Complex sınıfı

    • Getter ile referans olan veri elemanının verilmemsi ve bu durumun veri gizliliğine sakıncası. Aşağıdaki örnekte dizinin elemanlarının değiştirilmesi engellenmemiştir

    • Yukarıdaki problem aşağıdaki gibi çözülebilir

    • Tüm sınıfları static olan sınıflarda constructor durumu

    • ArrayUtil sınıfı (güncellendi)

    • NumberUtil sınıfı (güncellendi)

    • StringUtil sınıfı (güncellendi)

    • null referans ve anlamı (detayları ileride ele alınacak)

    • Tasarım örüntüleri (Design Patterns): Singleton kalıbı.

    • Singleton kalıbının bir implementasyonu (lazy implementation)

    • Singleton kalıbının bir implementasyonu (lazy implementation) (2)

    • final değişkenler

    • final yerel değişkenlere faaliyet alanı boyunca bir kez atama yapılabilir.

    • Bir metodun parametre değişkeni final olarak bildirilebilir.

  16. Lesson

    • final değişkenler

    • final yerel değişkenlere faaliyet alanı boyunca bir kez atama yapılabilir.

    • Bir metodun parametre değişkeni final olarak bildirilebilir.

    • final ve non-static olarak bildirilen veri elemanlarına default değer atanmaz!

    • non-static final veri elemanlarına bildirim sırasında değer atanabilir

    • Bildirim sırasında atanan değerin sabit ifadesi olması gerekmez

    • non-static final elemanlara ctor içerisinde değer atanabilir.

    • non-static final elemanlara değer ctor dışında atanmamışsa tüm ctor'larda atama yapılmalıdır!

    • Sınıfın static ve final olarak bildirilmiş veri elemanlarına da default değer atanmaz.

    • Sınıfın final static veri elemanına bildirim sırasında ve sınıfın static bloğu içinde değer atanabilir.

    • Sınıfın final static elemanlarının bir kullanımı

    • CommanPrompt uygulaması

    • ExamSimulation uygulaması

    • Lottary uygulaması

    • NumberUtil sınıfı

    • StringUtil sınıfı

    • Singleton kalıbının bir implementasyonu (eager implementation)

    • Bir referansın final olması o referansa atama yapılamayacağı anlamına gelir.

    • Aşağıdaki kurallara göre immutable bir sınıf yazınız

    • IntValue sınıfı

    • Time sınıfı ve test kodu

    • Time sınıfı ve test kodu

    • Time sınıfı ve test kodu

    • Time sınıfı ile basit bir dijital saat uygulaması

    • Time sınıfı ile basit bir dijital saat uygulaması

    • Time sınıfı ve test kodu

    • Time sınıfı

  17. Lesson

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı ve test kodu

    • Rational sınıfı

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Student parserApp ve Date sınıfı

    • Date sınıfı ve test kodu

    • Date sınıfı

    • Enum türü neden gereklidir (1)?

    • Enum türü neden gereklidir (2)?

    • Enum türü neden gereklidir (3)?

    • Enum türü neden gereklidir (4)?

    • Enum türü neden gereklidir (5)?

    • Direction sınıfının geliştirilmesi

    • enum anahtar sözcüğü ile bir enum türü (enum class) bildirilebilir.

    • enum türünün ordinal isimli non-static metodu

    • enum türünün toString metodu

    • enum türünün static valueOf static metodu

    • enum türünün values isimli metodu

    • enum türünden nesne new operatörü ile hiç bir yerde (enum içinde bile) yaratılamaz!

    • enum türüne sabitler dışında metot, veri elemanı ve ctor gibi elemanlar da eklenebilir.

    • Aşağıdaki enum türünde içi boş ()'ler geçerlidir.

    • enum türünde içi boş ()'lerin anlamı

    • enum türlerine ctor yazılabilir.

    • enum türü ve ctor çağrılması

    • enum sınıfına eklenen ctor elemanı ve her bir sabite iliştirilen bilgi!

    • enum sınıfına eklenen ctor elemanı ve her bir sabite iliştirilen bilgi!

    • enum sınıfına eklenen ctor elemanına göre nesne yaratılması durumu

    • enum class ile Singleton sınıf bildirimi.

    • enum class ile Singleton sınıf bildirimi.

    • enum türlerinde eşitlik karşılaştırması

    • enum türlerinde eşitlik karşılaştırması equals isimli metot ile yapılabilir

    • enum türlerinin compareTo metodu:

    • Date sınıfı ve test kodu

    • Date sınıfı ve test kodu

    • Homework-015 için bir ipucu. Detaylar gözrmezden gelindi

  18. Lesson

  19. Lesson

  20. Lesson

  21. Lesson

  22. Lesson

  23. Lesson

  24. Lesson

  25. Lesson

  26. Lesson

  27. Lesson

  28. Lesson

  29. Lesson

  30. Lesson

About

These notes cover almost every aspects of core Java. Then there will be JavaEE applications. Note: Codes in these notes have been written by Oğuz Karan, trainer and instructor in C and System Programmers Association. https://github.com/oguzkaran

Topics

corejavajavajava-appjava-coursejava-exceptionsjava-filesjava-genericsjava-inheritancejava-interfacesjava-learningjava-libraryjava-notesjava-oopjava-polymorphismjava-programmingjava-projectproject

Resources

Readme
Activity

Stars

26 stars

Watchers

1 watching

Forks

12 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.