59
JAVA Programlamaya Giriş 3. Hafta 1 JAVA PROGRAMLAMAYA GİRİŞ

JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

3. Hafta

1

JAVA PROGRAMLAMAYA GİRİŞ

Page 2: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Değişkenler

2

Değişken, hafızada yer tutan en basit veri ünitesidir.

4 farklı değişken tipi vardır:

1) Örnek Değişkenleri (Statik Olmayan Alanlar): Nesneler bireysel

durumlarını "statik olmayan alanlar", yani «static» anahtar kelimesi

olmadan bildirilen alanlarda depolar. Statik olmayan alanlar da örnek

değişkenler olarak bilinir, çünkü değerleri sınıfın her örneğine özgüdür.

2) Sınıf Değişkenleri (Statik Alanlar): Bir sınıf değişkeni, «static»

anahtarıyla bildirilen alandır; bu, derleyiciye, sınıfın kaç kez

başlatıldığına bakılmaksızın, bu değişkenin tam olarak bir kopyasının

var olduğunu söyler. Belirli bir bisiklet türü için vites sayısını tanımlayan

bir alan statik olarak işaretlenebilir, çünkü kavramsal olarak tüm vitesler

için aynı sayıda vites uygulanır. static int numGears = 6; kodu ile bir

statik alan oluşturulabilir. Ek olarak, anahtar kelime finali, vites

sayısının asla değişmeyeceğini belirtmek için eklenebilir.

Page 3: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Değişkenler

3

3) Yerel Değişkenler: Bir nesne, geçici durumunu genellikle yerel

değişkenlerde saklar. Yerel değişken tanımlaması, bir alan bildirmeye

benzer (örneğin, int count = 0;). Yerel olarak bir değişken belirten özel

bir anahtar kelime yoktur; bu tespit tamamen değişkenin bildirildiği

konumdan gelir - ki bu bir yöntemin açılış ve kapanış parantezleri

arasındadır. Bu nedenle, yerel değişkenler yalnızca bildirildikleri

yöntemlerle görülebilir; sınıfın geri kalanından erişilemezler.

4) Parametreler: Daha önceki yazdığımız kodlarda, parametre örnekleri

ile karşılaşmıştık. public static void main(String[ ] args). Burada, args

değişkeni bu yöntemin parametresidir. Parametreler daima "değişken"

olarak sınıflandırılır.

NOT: Static alanda iken sadece statik değişkenlere ulaşılabilir. Buradan static olmayan

değişkene ulaşabilmek için önce nesne oluşturulmalıdır.

Page 4: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

İsimlendirme

4

Farklı dillerde de olduğu gibi Java’da da isimlendirme yaparken uyulması

gereken kurallar vardır.

• Değişken isimleri büyük/küçük harf duyarlıdır (case-sensitive).

• Bir değişkenin adı, bir harf, dolar işareti "$" veya alt çizgi karakteri "_" ile

başlayabilir.

• Otomatik olarak oluşturulan adların dolar işareti içereceği bazı durumlar

bulabilirsiniz, ancak değişken adlarınız onu kullanmaktan her zaman

kaçınmalıdır. Benzer şekilde; değişkeninizin ismine "_" ile başlamak

teknik olarak yasal olsa da, bu uygulama önerilmez.

• Sonraki karakterler harfler, rakamlar, dolar işaretleri veya alt çizgi

karakterleri olabilir.

Page 5: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

İsimlendirme

5

• Değişkenleriniz için bir isim seçerken, şifreli kısaltmalar yerine tam

kelimeler kullanılmalıdır. Bunu yapmak kodunuzun okunmasını ve

anlaşılmasını kolaylaştıracaktır.

• Ayrıca, seçtiğiniz adın bir anahtar kelime veya ayrılmış kelime olmaması

gerekir.

• Seçtiğiniz ad yalnızca bir kelimeden oluşuyorsa, o kelimeyi tüm küçük

harflerle heceleyin. Birden fazla kelimeden oluşuyorsa, takip eden her

kelimenin ilk harfini büyük harf kullanın. GearRatio ve currentGear

adları, buna örnektir.

• Değişkeniniz static int NUM_GEARS = 6; gibi ise, her harfi büyük harfle

yazıp sonraki kelimeleri alt çizgi karakteriyle ayırarak kullanılır.

Geleneksel olarak, alt çizgi karakteri hiçbir zaman başka bir yerde

kullanılmaz.

Page 6: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

İlkel Veri Tipleri

6

Java programlama dili statik olarak yazılmıştır, yani tüm değişkenlerin

kullanılmadan önce bildirilmesi gerekir. Bu, daha önce gördüğünüz gibi

değişkenin türünü ve adını belirtmeyi içerir:

int gear = 1;

Bunu yapmak programınıza "gear" adlı bir alanın olduğunu, sayısal verileri

bulunduğunu ve başlangıç değeri "1" olduğunu söyler. Bir değişkenin veri

türü, içerebileceği değerleri ve bunun üzerinde gerçekleştirilebilecek

işlemleri belirler. İnt'ye ek olarak, Java programlama dili diğer yedi ilkel veri

türünü destekler. İlkel bir tür, dil tarafından önceden tanımlanır ve ayrılmış

bir anahtar sözcükle adlandırılır. İlkel değerler, durumu diğer ilkel değerlerle

paylaşmaz.

Page 7: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

İlkel Veri Tipleri

7

Java programlama dili tarafından desteklenen sekiz ilkel veri türü şunlardır:

1) byte: Bayt veri tipi, 8 bitlik işaretli tamsayıdır. Minimum -128 değerine

ve maksimum 127 (dahil) değerine sahiptir.

2) short: Bu veri türü 16 bitlik işaretli tamsayıdır. Minimum -32,768 ve

maksimum 32,767 (dahil) değerine sahiptir. Gerçekleştirilebilecek

işlemlerin olduğu «Short» sınıfı vardır.

3) int: Varsayılan olarak, int veri türü, minimum -231 değerine ve

maksimum 231-1 değerine sahip olan 32 bitlik işaretli bir tamsayıdır.

Gerçekleştirilebilecek işlemlerin olduğu «Integer» sınıfı vardır.

4) long: Bu veri türü 64 bitlik tamsayısıdır. Minimum -263 ve maksimum

263-1 değerine sahiptir. Gerçekleştirilebilecek işlemlerin olduğu «Long»

sınıfı vardır.

Page 8: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

İlkel Veri Tipleri

8

5) float: 32 bitlik ondalıklı sayı tutabilecek bir değişken tipidir.

6) double: 64 bitlik ondalıklı sayı tutabilecek bir değişken tipidir.

7) boolean: Boolean veri türü yalnızca iki olası değere sahiptir: true

(doğru) ve false (yanlış). Doğru / yanlış koşulları izleyen basit bayraklar

için bu kullanılan bir bitlik bilgiyi temsil eden bir değişken tipidir.

7) char: Bu veri türü, 16 bitlik tek bir Unicode karakteri tutan değişken

tipidir.

İlkel veri tipi olmamasına, bir karakter dizisi olmasına ve bir Class olmasına

rağmen katar tanımlamak için String yapısı kullanılır.

String s="Bu bir String tipidir"; şeklinde de kullanılır.

Page 9: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Wrapper’lar

9

int-Integer, boolean-Boolean, byte-Byte, double-Double, float-Float,

long-Long, short-Short, char-Character vb…

int-Integer üzerinden bu durumu inceleyelim, diğerleri için de durum aynıdır.

• int ilkel bir veri tipidir, Integer ise bir nesne (wrapper)’dir.

• Integer «null» değeri alabilir, int «null» değeri alamaz.

• Integer değişkenler java.lang.Integer sınıfındaki metotları kullanabilir.

Page 10: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Varsayılan Değerler

10

Bir değişken tanımlandığında bir değer atamak mecburi değildir.

Tanımlanan ancak atama yapılmayan değişkenler, derleyici tarafından

makul bir varsayılan değere ayarlanacaktır. Genel olarak bu varsayılan

değer, veri türüne bağlı olarak sıfır veya boş olacaktır. Bununla birlikte, bu

gibi varsayılan değerlere güvenmek, tercih edilmeyen bir programlama stili

olarak kabul edilir.

Page 11: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Değişken Tanımlamaları

11

İlkel türdeki bir değişkeni başlatılırken, «new» anahtar kelimesinin

kullanılmadığını fark etmiş olabilirsiniz. İlkel türler, dilin içine yerleştirilmiş

özel veri türleridir ve onlar bir sınıftan yaratılmış nesneler değillerdir.

Aşağıda gösterildiği gibi, ilkel türdeki bir değişkene değer atamak

mümkündür:

Page 12: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Tamsayı Değer Atamaları

12

Tamsayı değişkenleri, şu sayı sistemleri tarafından ifade edilebilir:

• Desimal: Rakamlar 0 ile 9 arasındaki rakamlardan oluşan, her gün

kullandığınız sayı sistemidir.

• Hexadesimal: Rakamları 0 ile 9 arasındaki rakamlardan ve A ile F

arasındaki harflerden oluşan 16 tabanlı sayı sistemidir.

• Binary: Rakamları 0 ve 1 sayılarından oluşan 2 tabanlı sayı sistemidir.

Genel amaçlı programlamada, ondalık sistem, şimdiye kadar

kullanacağınız tek sayı sistemi olabilir. Ancak, başka bir sayı sistemi

kullanmanız gerekirse, aşağıdaki örnek doğru sözdizimini gösterir. 0x öneki

onaltılık, 0b ise ikiliyi gösterir:

Page 13: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Ondalıklı Sayı Değer Atamaları

13

Ondalıklı sayı değişkeni, F veya f harfi ile bitiyorsa float türündedir; Aksi

halde tipi double olur ve isteğe bağlı olarak D veya d harfi ile sona erebilir.

Ondalıklı sayı tipleri, E veya e (bilimsel gösterimde), F veya f (32-bit float

değişmez) ve D veya d (64-bit çift değişmez) kullanılarak da ifade edilebilir;

Page 14: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Karakter ve String Değer Atamaları

14

Char ve String türlerinin değerleri, herhangi bir Unicode (UTF-16) karakter

içerebilir. Editörünüz ve dosya sisteminiz izin veriyorsa, bu karakterleri

doğrudan kodunuzda kullanabilirsiniz.

Her zaman karakter atamaları için 'tek tırnak' ve string atamaları için "çift

tırnak" kullanılır.

String s="S\u00ED Se\u00F1or";

char c='\u0108';

Sí Señor

Ĉ

• Java programlama dili, char ve String değişmezleri için birkaç özel kaçış

dizisini de destekler: \b (geri alma), \t (sekme), \n (alt satıra geçme),

\r (satır başı), \« (çift tırnak), \‘ (tek tırnak) ve \\ (ters eğik çizgi).

• Ayrıca, herhangi bir referans türü için bir değer olarak kullanılabilecek

özel bir boş bilgi metni vardır. null, ilkel tiplerin değişkenleri dışında

herhangi bir değişkene atanabilir.

Page 15: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Numerik Değer Atamalarında _ Kullanımı

15

Sayısal bir değer atanırken rakamlar arasında herhangi bir yerde herhangi

bir alt çizgi karakteri (_) görünebilir. Bu özellik, size sayısal değerlerin

içindeki basamak gruplarını ayırmak için kullanılabilir. Böylece kodun

okunabilirliği artırabilir.

Page 16: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Numerik Değer Atamalarında _ Kullanımı

16

Alt çizgiyi, yalnızca rakamların arasına yerleştirebilirsiniz; aşağıdaki yerlere

alt çizgi koyamazsınız:

• Bir sayının başında veya sonunda

• Ondalık sayı atamalarında, ondalık basamağa bitişik

• Bir F veya L sonekinden önce

• Bir basamak dizisinin beklendiği pozisyonlarda

Page 17: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Tip Dönüşümleri-Casting

17

Java uygulamalarında kullanılan veri tipleri arasında uyumsuzluk

oluştuğunda tipler birbirine dönüştürülebilir.

• Tam sayılar kendi aralarında, ondalıklı sayılar kendi aralarında küçükten

büyüğe otomatik ve kayıpsız olarak dönüştürülürler.

• Fakat bu dönüşüm küçükten büyüğe doğru olurken otomatik olarak

yapılamaz. Böyle bir durumda veri kayıpları olacaktır.

• Bir tamsayı ile ondalıklı sayı arasında işlem yapılacak olursa, tam sayı

ondalıklı sayıya çevirilir.

Page 18: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Veri Tipleri - String Dönüşümleri

18

String veri tipinin sayısal tipe dönüştürülmesi en çok karşılaşılan tip

dönüşümleridir. Bu dönüşümler 2 şekilde yapılabilir:

1. ……valueOf(String);

2. ……parse….(String);

Page 19: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

String - Veri Tipleri Dönüşümleri

19

İlkel veri tiplerinin String tipe dönüştürülmesi en çok karşılaşılan tip

dönüşümleridir. Bu dönüşümler 3 şekilde yapılabilir:

1. veriTipi + " ";

2. ……valueOf(String);

3. ……parse….(String);

Page 20: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

JAVA

OPERATÖRLERİ

Page 21: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Basit Atama Operatörü

21

Karşılaşılan en yaygın operatörlerden biri basit atama operatörü olan "="

operatörüdür. Bu operatör, Bicycle sınıfında gördünüz gibi; sağındaki

değeri, solundaki değişkene atar.

Page 22: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Aritmetik Operatörler

22

Java programlama dilinde, toplama, çıkarma, çarpma ve bölme işlemlerini

yapan operatörleri mevcuttur.

Temel matematikteki simgeler ile aynı işlevleri yerine getirirler.

Yeni gözükebilecek "%", soldaki işleci sağdakine bölüp kalanı sonuç olarak

döndürür.

Page 23: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Aritmetik Artırma/Azaltma Operatörleri

23

++ ve - - operatörleri, verilen değerleri 1 artırıp/azaltmaya yarar. Ancak

bilinen toplama/çıkartma işlemine göre daha hızlı çalışırlar. Bu işaretlerin

sağda veya solda olmaları farklı değerler üretir. Operatörlerin tek başına

kullanılmalarında etkileri değişmez.

Page 24: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Aritmetik Artırma/Azaltma Operatörleri

24

Page 25: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Aritmetik Atama Operatörleri

25

Java dilinde 5 adet atama operatörü vardır. " +=, -=, *=, /=, %= ".

Operatörlerin kullanımlarında operatörler arasında boşluk olmamalıdır.

a += b a = a + b

a *= b a = a * b

a /= b a = a / b

Page 26: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Karşılaştırma Operatörleri

26

Karşılaştırma operatörleri, bir işlenenin bir diğer işlenenden daha büyük,

eşit veya daha küçük olup olmadığını belirler.

İki değerin eşit olup olmadığını test ederken, "=" değil, "= =" yerine

kullanmamız gerekir.

Page 27: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Mantıksal Operatörler

27

Değişkenlerin birbirleri ile mantıksal olarak karşılaştırılmasını sağlar. Bu

operatörlerin sonuçları boolean tipindeki bir değişkende tutulur.

&& AND operatörü

|| OR operatörü

^ XOR operatörü

! NOT operatörü

Başka bir koşullu işleç ise ?’dir. Bu operatör, if-else-else if ifadesi için kısa

yol olarak düşünülebilir. Bu operatör ayrıca üç operatör kullanan üçlü

operatör olarak da bilinir.

Aşağıdaki örnekte, bu operatör şu şekilde okunmalıdır: "someCondition

doğruysa, sonuç için değer1 değerini atayın. Aksi takdirde, sonuç için

değer2 değerini atayın."

Page 28: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

instanceof Operatörler

28

instanceof operatörü, bir nesneyi belirtilen bir türle karşılaştırır. Bir

nesnenin, bir sınıfın örneği olup olmadığını sınamak için kullanabilirsiniz.

Page 29: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Bitsel Operatörler

29

Java programlama dili, integral türlerinde bit yönünde ve bit kaydırma

işlemlerini gerçekleştiren işleçleri de sağlar. Bu bölümde tartışılan

operatörler daha az kullanılır. Bu nedenle, kapsamları kısa; amaç, bu

operatörlerin var olduğunun farkında olmanızı sağlamaktır.

& Bitsel AND operatörü

| Bitsel OR operatörü

^ Bitsel XOR operatörü

~ Bitsel tersleme operatörü

<< Bir bit sola kaydırma (2 ile çarpma)

>> Bir bit sağa kaydırma (2 ye bölme)

Page 30: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Operatör Önceliği

30

Öncelik sırası

aşağı gittikçe

AZALIR

Page 31: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

AKIŞ KONTROL

İFADELERİ

Page 32: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Akış Kontrol İfadeleri

32

Kaynak dosyalarınızın içindeki ifadeler genellikle yukarıdan aşağıya,

göründükleri sırayla yürütülür. Bununla birlikte, akış kontrol ifadeleri,

programınızın belirli kod bloklarını koşullu olarak yürütmesini sağlamak için

karar verme, döngü ve dallanma kullanarak uygulama akışını parçalar. Bu

bölümde, Java tarafından desteklenen karar verme ifadeleri (if-then, if-then-

else, switch), döngü ifadeleri (for, while, do-while) ve dallanma ifadeleri

(break, continue, return) açıklanmaktadır.

Page 33: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

if Kalıbı

33

if ifadesi tüm kontrol akışı ifadelerinin en temel olanıdır. Programınıza

yalnızca belirli bir test doğru olarak değerlendirilirse belirli bir kod bölümünü

yürütmesini söyler.

Örneğin, Bisiklet sınıfı, yalnızca bisiklet hareket halindeyken frenlerin

bisiklet hızını düşürmesine izin verebilir.

Page 34: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

if-else Kalıbı

34

if-else ifadesi, bir "if" yan tümcesi false olarak değerlendirildiğinde ikincil bir

yürütme yolu sağlar.

Bisiklet hareket etmiyorken frenler uygulanırsa, harekete geçmek için bazı

uygulamalarda if-else ifadesini kullanabilirsiniz. Bu durumda, eylem sadece

bisikletin durduğunu belirten bir hata mesajı yazdırmaktır.

Page 35: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

if-else Kalıbı

35

Aşağıdaki program, bir testin puanın değerini temel alarak bir not ataması

yapar. 90 ve üzeri bir puan için A, 80 veya üzeri bir puan için B, vb.

Page 36: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

if-then-else Kalıbı

36

C ve C++’da yer alan üçlü yapı Java’da da bulunmaktadır. Bu yapının genel

kalıp kullanımı:

ifade ? Sorgu1 : sorgu2

şeklindedir.

Burada ifade doğru olduğunda , sorgu1 çalışır, tersi durumda ise sorgu2

çalışır.

Page 37: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

switch-case Kalıbı

37

switch ifadesinde birkaç olası yürütme yolu olabilir. switch, bayt, kısa

karakter ve integer ilkel veri türleriyle çalışır.

Page 38: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

switch-case Kalıbı

38

Bir diğer ilgi çekici nokta ise break cümlesidir. Her break ifadesi, case

anahtarı ifadesini sonlandırır. Break ifadeleri gereklidir, çünkü bunlar

sayesinde anahtar bloklarındaki ifadeler birbirinden ayrılır. Eşleşen durum

etiketinden sonraki tüm ifadeler, sonraki durum etiketlerinin ifadesinden

bağımsız olarak, break ifadesiyle karşılaşıncaya kadar sırayla yürütülür.

SwitchDemoFallThrough programı, içinden geçen bir anahtar bloğundaki

ifadeleri gösterir. Program tamsayı ayına karşılık gelen ayı ve onu takip

eden ayları gösterir:

Page 39: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

switch-case Kalıbı

39

SwitchDemoFallThrough programı, içinden geçen bir anahtar bloğundaki

ifadeleri gösterir. Program tamsayı ayına karşılık gelen ayı ve onu takip

eden ayları gösterir:

Page 40: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

switch-case Kalıbı

40

Page 41: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

switch-case Kalıbı

41

Page 42: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

DÖNGÜ İFADELERİ

Page 43: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

while Döngüsü

43

while ifadesi, belirli bir koşul geçerli iken blok içerisindeki ifadeleri

tekrarlayarak yürütür. Sözdizimi şöyle ifade edilebilir:

Page 44: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

do-while Döngüsü

44

do-while'ın üst kısım yerine döngünün altındaki ifadesi değerlendirilir. Bu

nedenle, do bloğu içindeki ifade en az bir kere yürütülür.

Page 45: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

for Döngüsü

45

for ifadesi, bir değer aralığında yineleme yapmak için küçük bir yol sağlar.

Programcılar, belirli bir koşul sağlandığı sürece tekrar tekrar bloğun

çalıştırılması için kullanılır. for ifadesinin genel formu şu şekildedir:

Bir for ifadesini kontrol eden değişken döngünün dışında gerekli değilse,

değişkeni başlatma ifadesinde bildirmek en iyisidir. i, j ve k adları genellikle

döngüleri kontrol etmek için kullanılır; bunları başlatma ifadesi içinde

bildirmek, ömürlerini sınırlar ve hataları azaltır.

Page 46: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

for Döngüsü

46

for döngüsünün üç ifadesi isteğe bağlıdır. Aşağıdaki şekilde sonsuz bir

döngü oluşturulabilir:

Page 47: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

for Döngüsü

47

for deyiminin diziler aracılığıyla yineleme yapmak için tasarlanmış başka bir

biçimi de vardır. Bu, döngüleri daha kompakt ve okunması kolay hale

getirmek için kullanılabilir.

Göstermek için 1 ile 10 arasındaki sayıları tutan diziyi göz önünde

bulundurun:

Page 48: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

break Komutu

48

break ifadesi etiketli ve etiketsiz olmak üzere iki farklı şekli vardır. Etiketsiz

formu, switch ifadesinin önceki tartışmasında gördünüz. Aşağıdaki

BreakDemo programında gösterildiği gibi bir süre, süre veya süre bitim

döngüsünü sonlandırmak için etiketlenmemiş bir sonu da kullanabilirsiniz:

Page 49: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

etiketli-break Komutu

49

Etiketsiz break ifadesi, en içteki switch, for, while veya do-while ifadesini

sonlandırır. Ancak etiketli break, bir dış döngüyü dahi sonlandırabilir.

Aşağıdaki program BreakWithLabelDemo, önceki programa benzer, ancak

iki boyutlu bir dizide bir değer aramak için döngüler iç içe kullanır. Değer

bulunduğunda, etiketli break sayesinde dıştaki for döngüsü sonlandırır:

Page 50: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

continue Komutu

50

continue ifadesi, ifadesi for, while veya do-while döngüsünün geçerli

yinelemesini atlar. Etiketlenmemiş continue formu, en içteki döngünün

gövdesinin sonuna atlar ve döngüyü kontrol eden boolean ifadesini

değerlendirir.

Aşağıdaki program, ContinueDemo, "p" harfini sayarak, bir String içinde

adım adım ilerler. Geçerli karakter bir p değilse, devam ifadesi döngünün

kalanını atlar ve bir sonraki karaktere geçer. Bir "p" ise, program harf

sayısını artırır

Page 51: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

continue Komutu

51

Page 52: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

etiketli-continue Komutu

52

Page 53: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

return Komutu

53

return ifadesi geçerli yöntemden çıkar ve denetim akışı yöntemin çağrıldığı

yere geri döner. return ifadesinin iki formu vardır: biri bir değeri geri

döndürürken, diğeri değer döndürmez.

Bir değeri döndürmek için, return anahtar sözcüğünden sonra değeri (veya

değeri hesaplayan bir ifadeyi) koymanız yeterlidir.

Dönen değerin veri tipi, yöntemin bildirilen dönüş tipi ile aynı olmalıdır. Bir

yöntem void olarak bildirildiğinde, bir değer döndürmeyen return komut

biçimini kullanılır.

Page 54: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

KLAVYEDEN

GİRİŞ-ÇIKIŞ

İŞLEMLERİ

Page 55: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Klavyeden Giriş-Çıkış İşlemleri

55

Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulanması daha

sonra da ekrana yazdırılması yada yazıcıdan çıktı alınması gibi işlemlerdir.

Paket Kavramı:

Birbiri ile işlevsel olarak ilişkili sınıflar (class’lar) paketlerin (package’lerin)

alt birimleri olarak yer alırlar. Bir sınıfın ait olduğu paketi tanımlamak için

java.paketAdı.sınıfAdı kalıbı kullanılır (java.util.scanner). Java API’si çok

fazla sınıftan meydana gelmektedir ve bu sınıflar çeşitli paketler altında

gruplandırılmıştır.

Import Kavramı:

Bir sınıf kendisi ile aynı sınıfta olmayan bir sınıfı kullanacaksa, kendisinden

önce o sınıf import edilmelidir.

Kullanılışı: import paketAdı.sınıfAdı; import java.util;

Page 56: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Klavyeden Giriş-Çıkış İşlemleri

56

Joker Kavram .*

import java.util.* şeklinde kullanılır. Bu komut ile (.*) java.util paketindeki

bütün sınıflar çağırılmaktadır.

Scanner Kavram .*

Giriş-çıkış işlemleri için java.util.scanner sınıfına ait yöntemler

kullanılmaktadır. Bu işlemlerin kullanılabilmesi için scanner sınıfının

uygulamaya eklenmesi gerekir. Bunun için ilgili sınıfın önüne:

import.java.util.scanner eklenmelidir.

Page 57: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Bazı Scanner Yöntemleri

57

next (): Klavyeden girilen ifadenin ilk kelimesini (boşluğa kadar olanını)

okur.

nextLine (): Klavyeden girilen bütün ifadeyi okur.

nextInt (): Klavyeden girilen ifadeyi integer tipine çevirir.

nextFloat (): Klavyeden girilen ifadeyi float tipine çevirir.

nextDouble (): Klavyeden girilen ifadeyi double tipine çevirir.

Page 58: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Bilgi Giriş-Çıkışı

58

Bilgi giriş-çıkışı için aşağıdaki ifadeler kullanılır.

System.in: Klavyeden veri girileceğini ifade eder.

System.out: İşlem ve mesajların ekrana yazdırılacağını ifade eder.

System.err: Hata mesajları için kullanılır. Mesajlar kırmızı olarak yazdırılır.

Page 59: JAVA PROGRAMLAMAYA GİRİ - bilisim.kocaeli.edu.trbilisim.kocaeli.edu.tr/upload/duyurular//151019094559fd53e.pdf · Java programlama dili statik olarak yazılmıtır, yani tüm değikenlerin

JAVA Programlamaya Giriş

Bilgi Giriş-Çıkışı

59