Yrd.Doç.Dr. Yüksel ÇELİK

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

Nesne Yönelimli Programlama

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

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

C++ Operatörler (Operators)

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

Lambda İfadeleri (Lambda Expressions)

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

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

C PROGRAMLAMA D İ L İ

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

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

HSancak Nesne Tabanlı Programlama I Ders Notları

PROGRAMLAMAYA GİRİŞ DERS 2

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

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Programlama Dillerinde Kullanılan Veri Tipleri

JAVADA DİZİ İŞLEMLERİ

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

C Programlama Dilininin Basit Yapıları

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

OPERATÖRLER Alıştırmalar

/*int sayi1, sayi2,toplam=0;

Internet Programming II

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

C PROGRAMLAMA DİLİNE GİRİŞ

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Java da Program Denetimi ve Operatörler

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

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

C Programlama Dilinde Değişkenler

Bölüm 2 - C ile Programlamaya Giriş

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

HSancak Nesne Tabanlı Programlama I Ders Notları

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

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

Dr. Fatih AY Tel:

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

PASCAL PROGRAMLAMA DİLİ YAPISI

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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.

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

NESNEYE YÖNELİK PROGRAMLAMA

public static int Toplam int x, int y

Pointer Kavramı. Veri Yapıları

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

Programlama Dilleri III 1

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

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

Sunum İçeriği. Programlamaya Giriş

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

Aritmetik Operatörleri Hemen her programlama dilinde olduğu gibi java dilinde de aritmetik işlemler yaparken aşağıdaki operatörleri kullanırız:

BÖLÜM 4: DEĞİŞKENLER, SABİTLER VE OPERATÖRLER

Android Ders Notları

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Dr. Fatih AY Tel: fatihay@fatihay.net

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Temel Veri Türü İşlemleri

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

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

Göstericiler (Pointers)

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Genel Programlama II

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

ALGORİTMA VE PROGRAMLAMA II

Nesne Yönelimli Programlama

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

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

İç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

Nesne Tabanlı Programlama

İnternet Programcılığı Dersi 2.Dönem Ders Notu

C#(Sharp) Programlama Dili

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

INPUTBOX() ile Veri Girişi

Nesne Tabanlı Programlama

Operator Aşırı Yükleme (Operator OverLoading)

Transkript:

Yrd.Doç.Dr. Yüksel ÇELİK

Java Projesinin Temelleri Bir Java projesinde kaynak kodlarımız src adlı klasörde tutulur. Oluşturacağımız her türlü Java uzantılı dosya (Java sınıfları) bu klasörde saklanır ve uygulamayı çalıştırdığımızda bu klasör içinden derlenir. libklasör ise harici Java kütüphanelerini projemize eklemek için kullanılan jar dosyalarının saklandığı klasördür. NOT: Herhangi bir jar dosyasını projeye ekleyerek içerisindeki sınıfları kullanmak için bir jar dosyasını sağ tuşla tıklayarak Build Path -> Add to Build Path demeniz yeterlidir.

Java Yazım Kuralları ve Önerileri Her dilin olduğu gibi programlama dillerinin de kendi içinde belli kuralları var. Bu kurallara uyarak yorumlayıcıya veya derleyiciye kodunuzu doğru biçimde ifade edebilirsiniz Yazılım üretimindeki %80'lik zaman dilimi, kod bakımına (maintenance) harcanıyor. Çok az yazılım, yaşamı boyunca ilk yazarınca geliştirilir. Kod yazma gelenekleri yazılımın okunmasını ve anlaşılmasını kolaylaştırır. Mühendislerin yeni kodu hızlı ve verimli bir şekilde anlamasını sağlar. Kodunuzu açmaya karar verdiğinizde daha anlaşılır olacağı için daha kolay destek bulursunuz.

Değişken tanımlama kuralları ve önerileri Kural: Bir değişken yazarken önce onun tipini, sonra adını yazmalısınız: Öneri: Değişken ismi yazmanın belli kuralları var. Örneğin CamelCase kuralıyla isimlendirme yaparken isimlerin ilk harfi büyük olmalı. Eğer değişken ismi iki kelimeden oluşuyorsa ikinci kelimenin de ilk harfi büyük olmalı. Örn: Integer UyeSayisi Öneri: Geleceği Yazanlar'da genellikle Mixed Case olarak isimlendirilen, ilk harfinin küçük olması dışında CamelCase'e benzeyen yaklaşımı tercih ediyoruz. (Çünkü CamelCase, çoğunlukla sınıf isimlendirmelerinde kullanılır) Örn: Integer uyesayisi

Değişken tanımlama kuralları ve önerileri Kural: Değişken isimlerinde Türkçe karakter kullanamazsınız. Kural: Değişken adları rezerve edilmiş Java sözcüklerinden oluşamaz (int, float, public, static, volatile vs). Bu sözcükler Java derleyicisinde bir anlam ifade ettiğinden değişken adı olarak kullanılamazlar. Kural: Değişken isimleri rakamla başlayamaz ancak içinde rakam olabilir. Örn: Integer dogrulamakodu2;

Değişken tanımlama kuralları ve önerileri Öneri: Sabit-değeri değişmeyen değişkenleri büyük harfle ve kelime aralarına alt çizgi koyarak yazınız. Örn: public static final Integer VARSYLN_CARPISMA_KATSAYISI; Öneri: Java'da uygulamalar sınıflar halinde yazılır. Ayrıntılarını ilerleyen bölümlerde göreceksiniz. Bir sınıfın üyesi olacak değişken tanımlayacağınız zaman onun isminin önüne m getirebilirsiniz. Böylelikle kodunuzu okuyan kişi, bu değişken ismini nerede görürse görsün, sınıfın üyesi (member) olduğunu anlayacaktır. Örn: 1.public class ProfileTask { 2. 3.private Integer markadassayisi; 4. 5.} Öneri: Bazı sınıf değişkenleri static olarak tanımlanırlar. Böyle değişkenlerin adının önüne s ön eki getirebilirsiniz. Bu da onun diğer değişkenlerden ayrılmasını kolaylaştırılacaktır. Örn: 1.public class ProfileTask { 2. 3.private Integer markadassayisi; 4.private static Integer setkinislemsayisi; 5. 6.}

Değişken tanımlama kuralları ve önerileri Öneri: Fonksiyonlara parametre olarak gönderdiğiniz değişken isimlerinin önüne alt çizgi koyabilirsiniz. Böylelikle fonksiyon içinde çalışırken hangisinin parametre, hangisinin sınıfın ya da nesnenin kendi değişkeni olduğunu karıştırmamış olursunuz. Örn: 1.public class ProfileTask { 2. 3.private Integer markadassayisi; 4.private static Integer setkinislemsayisi; 5. 6... 7. 8.public static Boolean isetkinislemsayisibigger(integer _islemsayisi) { 9.if (_islemsayisi>setkinislemsayisi) { 10.return true; 11.} else { 12.return false; 13.} 14.} 15. 16... 17. 18.}

Fonksiyon tanımlama kuralları ve önerileri Kural: Bir fonksiyonun işini bitirdikten sonra döndüreceği değerin tipi fonksiyon adından önce yazılır. Örneğin: 1.public Integer getarkadassayisi(){ 2.return markadassayisi; 3.} Burada getarkadassayisi() isimli fonksiyonun Integer türünden değer döndüreceğini anlıyoruz. Öneri: Kendi oluşturduğunuz fonksiyonların isimlerini fonksiyonun görevini ifade edecek şekilde seçmelisiniz. sayi() yerine getderssayisi() gibi.

Sınıf tanımlama kuralları ve önerileri Kural: Sınıf ismiyle, o sınıfı sakladığınız dosyanın ismi aynı olmalıdır. Örneğin LoginManager sınıfıloginmanager.java dosyasında saklanmalı. Kural: Sınıf isimleri verirken değişken tanımlarken uyguğunuz kurallara uymalısınız. Öneri: Sınıfları isimlendirirken fiilleri kullanmak yerine özellikle isimler kullanmalısınız. Çünkü sınıflar gerçek hayattaki nesnelerin karşılığıdır. Örneğin User, UserManager birer isimdir. Register, Login, Delete gibi işlemler birer fiildir. Öneri: Sınıf isimleri CamelCase biçiminde verilmelidir. public class usermanager {...} yerine public class UserManager kullanmak kodunuzu daha okunur kılacaktır.

Yorum satırı kuralları ve önerileri Yazılan kodu ister siz ister başkası yazmış olsun, sonradan okuyan herkes için kodu anlatmanın en kolay yollarından biri ona yorumlar bırakmaktır. Java'da satıra ya da birçok satıra blok olarak yorum koyulabilir. Kural: Java'da bir yorum satırı oluşturmak için satırın başına "//" (iki tane bölü işareti) getirmek yeterlidir. Birden fazla satırı aynı anda yorum satırı haline getirmek için tek tek hepsinin başına "//" koymak yerine en baştaki satıra "/*" ve en sondaki satırın sonuna da "*/" koymak yeterlidir. Örnek: 1./*public Integer getarkadassayisi(){ 2. return markadassayisi; 3. }*/ 4... 5. 6.public static Boolean isetkinislemsayisibigger(integer _islemsayisi) { 7.if (_islemsayisi>setkinislemsayisi) { 8.return true; 9.} else { 10.//return false; 11.return 0; 12.} 13.} 14. 15... Öneri: Bir sınıfı tanımlarken o sınıfın ne işe yaradığını hemen sınıf tanımlamasının üzerine yazabilirsiniz. Örneğin:

Sabitlerden Oluşan İfadeler Sabitler; değişkenler gibi veri tutan sınıf öğeleridir. Ancak C dilinde olduğu gibi sabit öğe kavramı da yoktur. Java'da sabitler bir değişken bildirimi yaparak hareket ederler. Sabitlere atanan değerler değiştirilemez ve sabit bildirimi yapıldığı anda değeri atanmalıdır. Sabitlerden (constants) oluşan ifadeler, sadece sabit ve operatör içerirler. Örneğin; 17 + 2 3 'b' 200 / 3 Burada ilk ifadenin sonucu 19 sabitidir. İkinci ifade zaten sadece 3 sabitinden oluşuyor. Üçüncü ifadenin sonucu ise, b karakterinin ASCII kodu 98 olduğu için: 98 200/3 şeklinde hesaplanacaktır. Önce bölme yapılacağı için 200/3 ün sonucunu 66 olarak buluruz; çünkü iki tam sayı arasındaki işlemin sonucu daima bir tam sayıdır. Bu durumda sonuç; 'b' 200/3=98-66=32 olarak hesaplanacaktır.

int Türü İfadeler int türünde tamsayı sabit ya da değişken içeren ifadeler, sonuçta tamsayı (int) değer üretecektir. Örneğin, int a,b,c; a=9; b=12; c=13; şeklindeki atamalar ile, a + b / c ifadesi, 9+12/13=9+0=9 olarak hesaplanacaktır. 12 ve 13 ün int türünde olduğunu ve bu nedenle 12/13 işleminin sonucunun da int türünde olacağını ve 12/13 ün int türündeki sonucunun da 0 olacağını hatırlatalım. b c % a + x 3 + (int) 8.7 ifadesi ise 12 13%9+120 3+8 12 4 + 120 3+8=133 aşamalarından geçerek 133 olarak hesaplanır. x karakter sabiti yerine onun ASCII kodu olan 120 değeri alınır. 13%9 ifadesi ise 13 ün 9 ile bölümünden elde edilecek olan kalanı hesaplanır. (int) 8.7 ifadesi ise 8.7 ondalık sayısını int türüne yani 8 e dönüştürür.

float Türündeki İfadeler Programlamada özellikle hesaplama aşamasındayken, sadece tamsayılar üzerinden gitmek sizi sınırlayabilir. Rasyonel sayıları kullanmak istediğinizde, yeni değişken türlerini de kullanmalısınız. Java dilinde float ve double türündeki değişkenler ile rasyonel sayıları tutabilirsiniz. Float ve double türünden değişkenlerin adını kayan noktalı (floating point) değişkenler olarak da duyabilirsiniz. Buradaki nokta kısmı, tam sayı kısmı ile ondalıklı sayı kısmını bölen virgül oluyor. Float ve double türlerinin arasındaki fark, virgülden sonraki ondalık kısımda tutabildikleri hane sayısıdır. Bu yüzden bir float değişken sanal bellekte 32 bitlik yer tutarken, double türündeki bir değişken 64 bit yer tutacaktır. Kayan noktalı bir tip yerine tamsayı tipini kullandığınızda olacakları daha iyi anlamak için aşağıdaki örneği inceleyiniz: 1.public class FloatDeneme1 { 2.public static void main(string[] args) { 3. 4.int sinav1=50; 5.int sinav2=55; 6. 7.int ortalama_yaklasik =(sinav1+sinav2)/2; 8.float ortalama_tam =(float) (sinav1+sinav2)/2; 9. 10.System.out.println("Sinav ort. (yaklasik): "+ortalama_yaklasik); 11.System.out.println("Sinav ort. (tam olrk): "+ortalama_tam); 12.} 13.} Bu programın çıktısı şu şekilde olacaktır: Gördüğünüz gibi int tipindeki ortalama_yaklasik değişkenin 52,5 çıkan sonucu, tamsayı tipinde olduğu için 52'ye yuvarladı. float tipindeki ortalama_tam değişkeni ise olması gerektiği gibi 52,5 olarak kaldı.

float Türündeki İfadeler NOT: float ortalama = (float) (sinav1+sinav2)/2; satırındaki (float) ifadesi ile "(sinav1+sinav2)/2" işleminden gelen sonucun float olarak tutulmasını sağlıyoruz. Gördüğünüz gibi kayan noktalı değişkenleri tanımlarken bazı ifadelere dikkat etmek gerekiyor. Şimdi de float ile double türlerinin hassasiyetleri üzerine bir örneğe göz atalım: 1.public class FloatDeneme2 { 2.public static void main(string[] args) { 3. 4.//Math.PI, bize PI sayısını döndürür 5.float PI_float =(float) Math.PI; 6.double PI_double=Math.PI; 7. 8.System.out.println("PI sayisi: "+PI_float); 9.System.out.println("PI sayisi: "+PI_double); 10.} 11.} Çıktısı şöyle olacaktır: NOT: Math.PI ifadesi, PI sayısını tutan bir ifadedir. Gördüğünüz üzere double türündeki PI_double değişkeni, PI sayısına ilişkin daha fazla ondalık değeri tutabiliyor. Bu yüzden double değişkenler, daha hassas hesaplama gereken yerlerde kullanılır.

Tekli Operatörler Bu bölümde negatifini alma ( ), pozitifini alma (+), artım (++) ve azaltım ( ) operatörlerini inceleyeceğiz. Negatifini alma operatörü ( ) tek bir operand üzerinde etkili olduğu için, iki operand ile işleme giren ( ) sembolü ile karıştırılmamalıdır. ÖRNEK: 1.public class Uyg5 { 2.public static void main(string[] args){ 3.int x, y=-5; 4. 5.x=16- -y; 6.System.out.println("x="+x); 7.} 8.} Bu programda x in değeri 11 olarak bulunacaktır. y ( 5)= +5 olarak hesaplanır. 16 yı izleyen çıkarma operatörü ( ) ile y nin önündeki negatifini alma ( ) operatörü arasında mutlaka bir boşluk olmalıdır. Aksi halde ( ) ifadesi azaltım operatörü olarak algılanacaktır.

Tekli Operatörler Son artım ve son azaltım operatörlerinde derleyici, değişkenin o andaki değerini bellekte geçici bir değişkene atayarak saklar. Sonra değişkenin değerini 1 artırır (son artım) veya 1 azaltır (son azaltım). Geçici değişkendeki değer ise ifade içinde kullanılır. Tablo T.1-Tekli Operatörler operatör sembolü kullanlışı işlem sonucu tekli negatif alma a a nın negatifini alır son artım ++ a++ önce a nın değerini al, kullan, sonra 1artır. ön artım ++ ++a önce a nın değerini 1 artır, sonra kullan. son azaltım a önce a nın değerini al, kullan, sonra 1son azaltım azalt. ön azaltım a önce a nın değerini 1 azalt, sonra kullan.

Tekli Operatörler ÖRNEK PROJE: 1.public class Uyg6 { 2.public static void main(string[] args){ 3.int x=4, y=8, z; 4. 5.z= x++ + y--; 6. 7.System.out.println("z="+z); 8.System.out.println("x="+x); 9.System.out.println("y="+y); 10.} 11.} PROJENİN ÇIKTISI:

Tekli Operatörler ÖRNEK UYGULAMA: 1.public class Uyg7 { 2.public static void main(string[] args){ 3.int x, y, z, m; 4. 5.x=10; 6.y=5; 7.z=16; 8. 9.m=++x - --y + z++; 10. 11.System.out.println("z="+z); 12.System.out.println("x="+x); 13.System.out.println("y="+y); 14.System.out.println("m="+m); 15.} 16.} UYGULAMANIN ÇIKTISI:

Tekli Operatörler ARTIM VE AZALIM OPERATÖRLERİ İÇİN BİR DİĞER ÖRNEK UYGULAMA 1.public class Uyg8 { 2.public static void main(string[] args){ 3.int m, n, p, q; 4. 5.m=4; 6.n=2; 7.p=10; 8.q=8; 9. 10.m= -m++; 11.n= n--; 12.p= --p; 13.q= -++q; 14.System.out.println("m="+m); 15.System.out.println("n="+n); 16.System.out.println("p="+p); 17.System.out.println("q="+q); 18.} 19.} UYGULAMANIN ÇIKTISI

İkili Aritmetiksel Operatörler Operatör Sembolü Kullanılışı Sonucu İşlem çarpma * a*b a ile b nin çarpımı bölme / a/b a nın b ye bölümü kalan % a%b toplama + a+b çıkarma a-b a nın b ye bölümünden kalan a nın b ile toplanması b nin a dan çıkarılması *, / ve % operatörleri, + ve 'ye göre önceliklidir. *, /, + ve operatörlerinin int veya float (double) türde operand kabul etmelerine karşılık kalan operandları sadece int türde operand olarak kabul eder. % operandı bölmede kalanı hesaplar. Örnek: 17 % 3 işleminin sonucunda 2 değeri (17 nin 3 ile bölümünden kalan) elde edilir. ANSI standardı, kalan ve bölme operatörleri arasında aşağıdaki bağıntının bulunmasını zorunlu kılar: a = a % b + (a /b) *b (a ve b tamsayı)

İkili Aritmetiksel Operatörler ÖRNEK UYGULAMA: 1.public class Uyg9 { 2.public static void main(string[] args){ 3.int a, b, c; 4.double p, q, r, x, y, z, k; 5. 6.a=7; b=4; c=15; 7.p=2.7; 8.q=13.8; 9.r=12.45; 10. 11.x= a % b * 15 - c / b * a; 12.y= a * 2 % (b + 1) - c / (a +b); 13.z=x / y * a - b ++ * --c; 14.k=p -q / (r +z) * (q -r) + b++ * z; 15. 16.System.out.println("x="+x); 17.System.out.println("y="+y); 18.System.out.println("z="+z); 19.System.out.println("k="+k); 20.} 21.} ÖRNEK UYGULAMANIN ÇIKTISI: x değeri 7 % 4 * 15 15 / 4 * 7 3 * 15 3 * 7 45 21 24 y değeri 7 * 2 % (4 + 1 ) 15 / (7 + 4) 14 % 5 15 / 11 4 1 3 z değeri 24 / 3 * 7 4++ * 15, 8 * 7 4 * 14 56 56 0 olarak hesaplanır.

Aritmetiksel Atama Operatörleri Operatör Sembolü Kullanılışı İşlem Sonucu Atama = x = y Topla-ata + = x + = y Çıkar-ata = x = y Çarp-ata * = x * = y Böl-ata / = x / = y Kalanını ata % = x % = y y nin değerini x e ata x + y nin değerini x e ata x y nin değerini x e ata x * y nin değerini x e ata x / y nin değerini x e ata x % y nin değerini x e ata Tablodan kolayca anlayacağımız üzere, x + = y ifadesi x = x + y ifadesine, x % = y ifadesi de x = x % yifadesine denktir. = operatörünün atama amacı ile kullanıldığını biliyoruz. Sembolün sol tarafındaki operand bir sol taraf operandı (left hand operand, Lvalue) olmalıdır. Sol taraftaki operand (değişken, dizi elemanı, yapı elemanı vb.) sağ taraftaki operandın değerini bellekte saklar.

Aritmetiksel Atama Operatörleri ÖRNEK: int k; double l; l = k = 13.72; Yukardaki komutlar ile (=) sembolünün birleşme özelliği sağdan sola olduğu için, ( l = (k = 13.72)); sırasıyla atamalar yapılacaktır. Java hassasiyetin kaybolmasına izin vermeyeceği için k=13.72 atamasında, possible loss of precision veya Eclipse'te "cannot convert from double to int" şeklinde bir hata mesajı verilecektir. Java da sadece programcının açıkça cast ifadeleri ile, (int) 13.72 gibi, hassasiyetin kaybolmasına özellikle izin verdiğini belirtmesi halinde bu tür atamalar yapılır.

Aritmetiksel Atama Operatörleri ATAMA OPERATÖRLERİ: ÖRNEK PROGRAM 1.public class Uyg10{ 2. public static void main(string[ ] args){ 3. 4. int k; 5. double l; 6. l = k =13.72; 7. 8. System.out.println("l="+l); 9. System.out.println("k="+k); 10. } 11.} ÖRNEK PROGRAMIN ÇIKTISI ÖRNEK PROGRAM: CAST İFADESİNİN KULLANIMI 1.public class Uyg10{ 2. public static void main(string[ ] args){ 3. 4. int k; 5. double l; 6. l = k =(int)13.72; 7. 8. System.out.println("l="+l); 9. System.out.println("k="+k); 10. } 11.} CAST İFADESİNİ KULLANAN ÖRNEK PROGRAMIN ÇIKTISI: