Java Söz Dizimi
Bilgisayar ve Programlamaya Giriş
Kaynak dosyaTürlerDeğişkenlerOperatörlerGirdi
Sercan KÜLCÜ · Giresun ÜniversitesiGiriş
Öğrenme Çıktıları
Araçlar
Kaynak dosyayı derleyip çalıştırmak.
Türler
İlkel türleri ve değer aralıklarını seçmek.
İfadeler
Atama, dönüşüm ve operatörleri kullanmak.
Girdi
Scanner ile temel kullanıcı girdisi almak.
Kaynak Kod
Düz Metin Kaynak Dosyası
- .java dosyası düz metindir ve farklı düzenleyicilerle açılabilir.
- Sürüm kontrol sistemleri satır değişikliklerini izleyebilir.
- Kaynak dosyada kodlama, satır sonu ve dosya adı tutarlı olmalıdır.
Kaynak Kod
Programlama Araçları
Düzenleyici
Kaynak kodu yazma.
IDE
Proje, tamamlama, derleme ve hata ayıklama.
javac
Kaynak kodu bytecode'a derleme.
java
Sınıfı JVM üzerinde çalıştırma.
Javadoc
API belgesi üretme.
Sürüm kontrolü
Değişiklik geçmişi.
Kaynak Kod
Java Dosyasının Yapısı
package okul;
import java.util.Scanner;
public class Program {
public static void main(String[] args) {
System.out.println("Merhaba");
}
}- package ve import bildirimleri sınıftan önce gelir.
- public sınıf adı dosya adıyla eşleşir.
Çalıştırma
Derleme ve Çalıştırma
Program.java
javac Program.java
Program.class
java Program
- Derleme hataları önce giderilir.
- Çalıştırma komutunda .class uzantısı yazılmaz.
Çalıştırma
Bytecode ve JVM
- Derleyici işlemciye özel makine kodu yerine bytecode üretir.
- JVM bytecode'u bulunduğu platformda yürütür.
- Sınıf yükleme, doğrulama ve bellek yönetimi çalışma ortamının parçalarıdır.
Dil Yapısı
Temel Programlama Unsurları
- Belirteçler anahtar kelime, tanımlayıcı, sabit değer, işleç ve ayırıcıları içerir.
- Java büyük-küçük harfe duyarlıdır: sayi ve Sayi farklı adlardır.
- Deyimler çoğunlukla noktalı virgülle biter; bloklar süslü parantezle çevrilir.
Veri Türleri
İlkel Veri Türleri
| Tür | Yaklaşık kullanım | Örnek |
|---|---|---|
| byte / short | Küçük tam sayılar | byte seviye = 7; |
| int | Genel tam sayı | int adet = 42; |
| long | Büyük tam sayı | long nüfus = 8_000_000L; |
| float | Ondalıklı, düşük hassasiyet | float oran = 1.5F; |
| double | Genel ondalıklı sayı | double fiyat = 19.90; |
| char / boolean | Karakter ve mantık | char not='A'; |
Veri Türleri
Tam Sayı Türü Seçimi
- int çoğu tam sayı hesabı için varsayılan seçimdir.
- long sabitleri gerektiğinde L son ekiyle yazılır.
- Tür aralığını aşan işlem taşmaya yol açabilir; Java bunu her zaman hata olarak bildirmez.
Veri Türleri
Ondalıklı Sayılar
- double çoğu yaklaşık sayısal hesap için varsayılan türdür.
- float sabiti F son eki ister.
- İkili kayan nokta bazı ondalık değerleri tam temsil edemez.
- Para gibi kesin ondalık hesaplarda uygun sınıf ve yuvarlama kuralı seçilmelidir.
Veri Türleri
char ve boolean
- char tek tırnakla yazılan bir UTF-16 kod birimini saklar.
- String çift tırnakla yazılan bir nesnedir; char ile aynı tür değildir.
- boolean yalnızca true veya false değerini alır.
Değişkenler
Tanımlayıcı Kuralları
| Kural | Geçerli | Geçersiz |
|---|---|---|
| Harf, _ veya $ ile başlar | ogrenci1 | 1ogrenci |
| Boşluk içermez | toplamPuan | toplam puan |
| Anahtar kelime değildir | sinifNo | class |
| Büyük-küçük harfe duyarlı | puan ve Puan | Aynı değişken sanmak |
Değişkenler
İsimlendirme
- Değişken ve metot adlarında lowerCamelCase kullanılır.
- Sınıf adları UpperCamelCase biçimindedir.
- Sabitler genellikle BÜYÜK_HARF_VE_ALT_ÇİZGİ ile adlandırılır.
- Ad, değerin rolünü açıklamalıdır: x yerine toplamPuan.
Değişkenler
Tanımlama ve İlk Değer
int yaş; // tanımlama yaş = 20; // atama double ortalama = 82.5; // birlikte final int MAKSIMUM = 100; // sabit
- Yerel değişken okunmadan önce değer almalıdır.
- final değişkene yalnızca bir kez atama yapılır.
Dönüşüm
Atama Uyumluluğu
- Daha dar türden daha geniş uyumlu türe dönüşüm çoğunlukla otomatik yapılır.
- Daraltma bilgi kaybı riski taşıdığı için açık dönüşüm ister.
- Dönüşüm, kaynak değeri değil üretilen sonucu etkiler.
Dönüşüm
Tür Dönüşümü
int adet = 7; double geniş = adet; // 7.0 double oran = 9.8; int dar = (int) oran; // 9 int bölüm = 5 / 2; // 2 double doğru = 5.0 / 2; // 2.5
- double değerini int'e çevirmek kesir bölümünü atar.
- İşlemden sonra yapılan dönüşüm kaybolan kesri geri getirmez.
Operatörler
Aritmetik Operatörler
| İşleç | Anlam | Örnek |
|---|---|---|
| + - | Toplama / çıkarma | a + b |
| * / | Çarpma / bölme | a * b |
| % | Kalan | sayi % 2 |
| ++ -- | Bir artır / azalt | i++ |
| += -= | Bileşik atama | toplam += değer |
Operatörler
Karşılaştırma ve Mantık
| İşleç | Anlam | Örnek |
|---|---|---|
| == != | Eşit / farklı | a == b |
| < <= > >= | Sıra karşılaştırması | not >= 60 |
| && | İki koşul da doğru | yaş >= 18 && belgeVar |
| || | En az biri doğru | haftaSonu || tatil |
| ! | Mantıksal değil | !aktif |
Operatörler
İşlem Önceliği
- Parantez içi önce değerlendirilir.
- Çarpma, bölme ve kalan; toplama ve çıkarmadan önce gelir.
- Karşılaştırmalar aritmetikten, mantıksal işlemler karşılaştırmadan sonra değerlendirilir.
- Karmaşık ifadelerde parantez, niyeti görünür kılar.
Operatörler
Kısa Devre Değerlendirme
if (metin != null && !metin.isEmpty()) {
System.out.println(metin.length());
}- && ilk koşul false ise ikinci koşulu çalıştırmaz.
- Bu davranış null değer üzerinde metot çağrısını önler.
Kaynak Kod
Açıklamalar
- // satır sonuna kadar açıklamadır.
- /* ... */ birden fazla satırı kapsar.
- /** ... */ API belgesi için Javadoc açıklamasıdır.
- Açıklama kodun ne yaptığını tekrarlamak yerine nedenini açıklamalıdır.
Girdi
Scanner ile Girdi
Scanner klavye = new Scanner(System.in);
System.out.print("Yaş: ");
int yaş = klavye.nextInt();
klavye.nextLine(); // satır sonunu tüket
System.out.print("Ad: ");
String ad = klavye.nextLine();- nextInt sayıyı, nextLine tüm satırı okur.
- Farklı okuma metotları birlikte kullanılırken kalan satır sonuna dikkat edilir.
Girdi
Girdi Doğrulama
- Kullanıcının her zaman beklenen türde değer gireceği varsayılmamalıdır.
- Aralık ve iş kuralı doğrulaması tür kontrolünden sonra yapılır.
- Hata iletisi beklenen biçimi açıkça söylemeli ve yeniden deneme yolu sunmalıdır.
Çıktı
Biçimli Çıktı
String ad = "Ada";
double ortalama = 87.456;
System.out.printf("%-10s %6.2f%n", ad, ortalama);- %s metin, %d tam sayı, %f ondalıklı sayı içindir.
- .2 ondalık basamak sayısını, %n platforma uygun satır sonunu belirtir.
Hata Ayıklama
Yaygın Hatalar
- = atama, == karşılaştırmadır.
- Tam sayı bölmesi kesir üretmez.
- Değişken kapsamı süslü parantezlerle sınırlanabilir.
- Noktalı virgülün yanlış konumu boş deyim oluşturabilir.
- String içeriği == ile karşılaştırılmamalıdır.
Özet
Bölüm Özeti
- Java kaynak dosyası javac ile bytecode'a derlenir ve JVM'de çalışır.
- İlkel türler farklı değer kümeleri ve bellek gereksinimleri taşır.
- Tanımlayıcılar kurallara uymalı, adlar değerin rolünü açıklamalıdır.
- Operatör önceliği ve tür dönüşümü sonuç üzerinde doğrudan etkilidir.
- Kullanıcı girdisi hem tür hem iş kuralı açısından doğrulanmalıdır.
Özet
Kontrol Soruları
- public sınıf adı ile dosya adı arasında nasıl bir ilişki vardır?
- int ve double bölmesi nasıl farklı sonuç verir?
- Daraltıcı dönüşüm neden açıkça yazılır?
- && işleci kısa devreyi nasıl kullanır?
- nextInt sonrasında nextLine kullanırken neye dikkat edilir?
Son
Java Söz Dizimi
1 / 1Sercan KÜLCÜ, Tüm hakları saklıdır.
← → veya boşluk ile gezinin · F: tam ekran · Home/End: ilk/son slayt