Java’da Operatörler

Java’da Operatörler ve Kullanim Örnekleri

Operatörler ; bir, iki ya da üç tane  islenen (operand) üzerinde islem yapip bir sonuç üreten sembollerdir.
Tek islenenli operatörlere, tekli (unary)operatör, Iki islenenli operatörlere, ikili (binary) operatör, Üç islenenli operatörlere de, üçlü(ternary) operatör denir.

Unary Operator:

  • Operand Operator, örnek: ++variable
  • Operator operand, örnek: variable—

Binary Operator:

  • Örnek : atama operatörü;iki islenen alir ve sagdaki isleneni soldaki islenene atar.
  • +,-,/,*,% gibi aritmetik operatorler binary operatörlerdir.

Ternary Operator:

  • "?:" 3 tane islenen alan tek operatördür.
  • Örnek kullanimi;
int x=5;
int y=3;
int max= (x<=y) ? y : x;

Operatör Önceligi

 Bir ifade (expression) de birden çok operatör/islenen kullandigimizda hangi islenenin hangi islenenden önce islevini yapacagini bilmemiz gerekir. Örnek verecek olursam:

 x sayisindan y sayisini çikarip, sonucu 2 ile çarpmak istiyoruz.

x - y * 2

formülü yanlis olacaktir. Çünkü, Java’da * operatörü + operatörüne göre öncelige sahiptir ve önce çarpma islemi yapilir.

long sayi = 10 - 5 * 2 ;

ifadesinin sonucu, beklentimiz olan 10 degil 0 dir. Çünkü, JAVA derleyicisi 10 – 5 * 2 islemini su sirada yapacaktir:

5 * 2 - 10 = 0

Bu karisikligi ortadan kaldirmak için, operatör öncelik tablosu hazirladim:

Operatör Öncelik Tablosu:

Operatör Kategorisi Operatörler
Primary x.y f(x) a[x] x++ x–
Unary + – ! ~ ++x –x (T)x
Çarpimsal(Multiplicative) * / %
Toplamsal (Additive) + –
Kayma (Shift) << >>
Iliskisel (Relational) < > <= >=
Esitlik (Equality) == !=
Mantiksal VE (Logical AND) &
Mantiksal XOR (Logical XOR) ^
Mantiksal VEYA (Logical OR) |
Kosullu VE (Conditional AND) &&
Kosullu VEYA (Conditional OR) ||
Kosullu (Conditional, ternary) ?:
Atama (Assignment) = *= /= %= += -= <<= >>= &= ^= |=

 

Operatör Çesitleri Ve Kullanimlari

++ ve — Operatörleri:

public class Main {
	public static void main(String args[]){
		int x = 10;
		System.out.println("x = " + x);
		System.out.println("++x degeri = " + ++x);
		System.out.println("x = " + x);
		
x = 10;
		System.out.println("x++ degeri = " + x++);
		System.out.println("x = " + x);
		
x = 10;
		System.out.println("x-- degeri = " + x--);
		System.out.println("x = " + x);
		
x = 10;
		System.out.println("--x degeri = " + --x);
		System.out.println("x = " + x);
	}
}



Çikti:

	x = 10
	++x degeri = 11
	x = 11
	x++ degeri = 10
	x = 11
	x-- degeri = 10
	x = 9
	--x degeri = 9
	x = 9

Aritmetik Operatorler:

Aritmetik islemler yaparken kullandigimiz operatörlerdir. +, -, *, /, % operatörleridir.

public class Main {
	public static void main(String[] args) {
		double x = 100.5;
		int y = 25;
		System.out.println("x + y = " + (x + y));
		System.out.println("x - y = " + (x - y));
		System.out.println("x * y = " + (x * y));
		System.out.println("x / y = " + (x / y));
		System.out.println("x % y = " + (x % y));
	}
}

Çikti:

	x + y = 125.5
	x - y = 75.5
	x * y = 2512.5
	x / y = 4.02
	x % y = 0.5

Atama Operatörleri

Atama operatörleri, degiskenlere deger atamak için kullanilan simgelerdir. =, +=, -=, *=, /=, %= operatörleridir.

public class Main {
	public static void main(String[] args) {
		int x = 10;
		int y = 12;
		System.out.format("x= %d ve y = %d ise x +=y = %d %n", x, y,
		x += y);
		System.out.format("x= %d ve y = %d ise x -=y = %d %n", x, y,
		x -= y);
		System.out.format("x= %d ve y = %d ise x *=y = %d %n", x, y,
		x *= y);
		System.out.format("x= %d ve y = %d ise x /=y = %d %n", x, y,
		x /= y);
		System.out.format("x= %d ve y = %d ise x mod=y = %d %n", x, y,
		x %= y);
	}
}

Çikti:

	x= 10 ve y = 12 ise x +=y = 22
	x= 22 ve y = 12 ise x -=y = 10
	x= 10 ve y = 12 ise x *=y = 120
	x= 120 ve y = 12 ise x /=y = 10
	x= 10 ve y = 12 ise x mod=y = 10

Iliskisel Operatörler

Iliskisel (relational) operatorler iki degiskenin degerlerini karsilastirir. ==, !=, >, < , >=, <= operatörleridir. Sonucunda boolean deger döndürürler.

public class Main {
	public static void main(String[] args) {
		int x=12;
		int y = 18;
		boolean sonuç;
		sonuç = (x > y);
		System.out.println("x > y = " + sonuç);
		sonuç = (x < y);
		System.out.println("x < y = " + sonuç);
		sonuç = (x <= y);
		System.out.println("x <= y = " + sonuç);
		sonuç = (x >= y);
		System.out.println("x >= y = " + sonuç);
		sonuç = (x == y);
		System.out.println("x == y = " + sonuç);
		sonuç = (x != y);
		System.out.println("x != y = " + sonuç);
	}
}

Çikti:

	x > y = false
	x < y = true
	x <= y = true
	x >= y = false
	x == y = false
	x != y = true

Bitwise Operatörler

Bu operatörler, islenenlerin bit yapilari üzerinden çalisir. Bit seviyesinde islem yapan iki operatör çesidi vardir: kaydirma, mantiksal.

Mantiksal bitwise operatörler : &, |, ^, ~

public class Main {
	public static void main(String[] args) {
		
		System.out.println("0 & 1 sonucu: "+ (0 & 1));
		System.out.println("0 | 1 sonucu: "+ (0 | 1));
	}
}

Çikti:

	0 & 1 sonucu: 0
	0 | 1 sonucu: 1

Kaydirma operatörleri : <<, >>

public class Main {
	public static void main(String[] args) {
		
		System.out.println("3(000011)>>1: "+ (3>>1));
		System.out.println("3(000011)<<3: "+ (3<<3));
	}
}

Çikti:

	3(000011)>>1: 1
	3(000011)<<3: 24

Mantiksal (Logic) Operatörler

&&, || operatörleridir. Bu operatorler de boolean deger dönerler. Genlde if statement’larda ya da do while,for dongulerinde kullanilir.

public class Main {
	public static void main(String[] args) {
		int x = 8;
		int y = 5;
		System.out.println("y == x - 3 && 7 > 6 sonucu: "+ (y == x - 3 && 7 > 6));
		System.out.println("x >= y && x < y + 3 sonucu: "+(x >= y && x < y + 3));
		System.out.println("x != y || x - y == 5 sonucu: "+(x != y || x - y == 5));
		System.out.println("!(x == 4) && x-2 > y+5 sonucu: "+(!(x == 4) && x-2 > y+5));
	}
}

Çikti:

	y == x - 3 && 7 > 6 sonucu: true
	x >= y && x < y + 3 sonucu: false
	x != y || x - y == 5 sonucu: true
	!(x == 4) && x-2 > y+5 sonucu: false

One thought on “Java’da Operatörler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir