Java Dersleri 8)Operatörler [ÇEVİRİ]

WinnerMan

Uzman üye
31 Mar 2012
1,324
0
Eskişehir
Java değişkenleri manipüle etmek için zengin bir operatör setine sahiptir.Tüm java operatörlerini aşağıdaki şekilde gruplara bölebiliriz:

-Aritmetik Operatör
-İlişkisel Operat.
-Bitwise Operat.
-Mantıksal Operat.
-Atama Op.
-Misc Op.(Çeşitli Operatörler)

Aritmetik Operatörler:
Aritmetik operatörler cebirde kullanılan şekilde kullanılan ifadelerdir.Aşağıdaki tabloda tüm aritmetik operatörler açıklanmıştır:

SR.NO Operatör ve Örnek
1 + ( Toplama )
Her iki taraftaki değişkeni toplar.

Örnek: A + B will give 30

2 - ( Çıkartma )
Çıkartır.

Örnek: A - B will give -10

3 * ( Çarpma )
Çarpar.

Örnek: A * B will give 200

4 / (Bölme)
Böler

Örnek: B / A will give 2

5 % (Mod alma)
Modunu alır.

Örnek: B % A will give 0

6 ++ (arttırma)
Değeri 1 arttırır.

Örnek: B++ gives 21
7 -- ( azaltma )
Değeri 1 azaltır.
Örnek: B-- gives 19

Aritmetik Operatörlerler ilgili örnek:

public class Test {

public static **** main(String args[]) {
int a = 10;
int b = 20;
int c = 25;
int d = 25;
System.out.println("a + b = " + (a + b) );
System.out.println("a - b = " + (a - b) );
System.out.println("a * b = " + (a * b) );
System.out.println("b / a = " + (b / a) );
System.out.println("b % a = " + (b % a) );
System.out.println("c % a = " + (c % a) );
System.out.println("a++ = " + (a++) );
System.out.println("b-- = " + (a--) );
// Check the difference in d++ and ++d
System.out.println("d++ = " + (d++) );
System.out.println("++d = " + (++d) );
}
}


Sonucu:
a + b = 30
a - b = -10
a * b = 200
b / a = 2
b % a = 0
c % a = 5
a++ = 10
b-- = 11
d++ = 25
++d = 27



İlişkisel Operatörler:


Aşağıdaki tabloda açıklama yapılmıştır:
SR.NO Operatör ve Tanımı
1 == (eşit midir?)
Sağ taraftaki değerin sol taraftakine eşit olmasını kontrol eder.

Örnek: (A == B) is not true.
2 != (eşit değil midir?)
Sağ taraftaki değerin sol taraftakine eşit olmamasını kontrol eder.

Örnek: (A != B) doğru.

3 > (greater than)
Sol taraftaki değerin sağ taraftakinden büyük olmasına bakar.

Örnek: (A > B) doğru değil.
4 < (daha az)
Sol taraftaki değerin sağ taraftakinden küçük olmasına bakar.

Örnek: (A < B) is true.
5 >= (daha çok veya eşit)
Sol taraftaki değerin sağ taraftaki değerden büyük yada eşit olmasına bakar.

Örnek: (A >= B) is not true.
6 <= (daha az veya eşit)
Sol taraftaki değerin sağ taraftaki değerden küçük yada eşit olmasına bakar.

Örnek: (A <= B) doğrudur.

İlişkisel Operatörlerle ilgili örnek:
public class Test {

public static **** main(String args[]) {
int a = 10;
int b = 20;
System.out.println("a == b = " + (a == b) );
System.out.println("a != b = " + (a != b) );
System.out.println("a > b = " + (a > b) );
System.out.println("a < b = " + (a < b) );
System.out.println("b >= a = " + (b >= a) );
System.out.println("b <= a = " + (b <= a) );
}
}


Sonucu:
a == b = false
a != b = true
a > b = false
a < b = true
b >= a = true
b <= a = false



Bitwise Operatörler:


Java ,bir kaç tane bitwise operatöre sahiptir.Bitwise operatör bitlerle çalışır.Mesela a= 60 dersek bununla bitwise operatörleri yoluyla işlem yapmaya çalışırsak şu şekilde işlem görür:
a = 0011 1100

Aşağıdaki tabloda bitwise operatörler açıklanmıştır:
R.NO Operatör ve Tanımı
1 & (bitwise and)
Binary AND Operator copies a bit to the result if it exists in both operands.

Örnek: (A & B) will give 12 which is 0000 1100
2 | (bitwise or)
Binary OR Operator copies a bit if it exists in either operand.

Örnek: (A | B) will give 61 which is 0011 1101
3 ^ (bitwise XOR)
Binary XOR Operator copies the bit if it is set in one operand but not both.

Örnek: (A ^ B) will give 49 which is 0011 0001
4 ~ (bitwise compliment)
Binary Ones Complement Operator is unary and has the effect of 'flipping' bits.

Örnek: (~A ) will give -61 which is 1100 0011 in 2's complement form due to a signed binary number.
5 << (left shift)
Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand

Örnek: A << 2 will give 240 which is 1111 0000
6 >> (right shift)
Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand.

Örnek: A >> 2 will give 15 which is 1111
7 >>> (zero fill right shift)
Shift right zero fill operator. The left operands value is moved right by the number of bits specified by the right operand and shifted values are filled up with zeros.

Örnek: A >>>2 will give 15 which is 0000 1111

Bitwise Operatörlerle ilgili örnek:

public class Test {

public static **** main(String args[]) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
int c = 0;

c = a & b; /* 12 = 0000 1100 */
System.out.println("a & b = " + c );

c = a | b; /* 61 = 0011 1101 */
System.out.println("a | b = " + c );

c = a ^ b; /* 49 = 0011 0001 */
System.out.println("a ^ b = " + c );

c = ~a; /*-61 = 1100 0011 */
System.out.println("~a = " + c );

c = a << 2; /* 240 = 1111 0000 */
System.out.println("a << 2 = " + c );

c = a >> 2; /* 215 = 1111 */
System.out.println("a >> 2 = " + c );

c = a >>> 2; /* 215 = 0000 1111 */
System.out.println("a >>> 2 = " + c );
}
}


Sonucu:
a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 15
a >>> 15


Mantıksal Operatörler:
Mantıksal operatörler işlem sonucunda geriye true yada false değeri döndürürler.Ayrıntılı açıklamaları aşağıdaki tabloda yapılmıştır:
Operator Tanım
1 && (mantıksal VE)
Called Logical AND operator. If both the operands are non-zero, then the condition becomes true.

Örnek: (A && B) is false.
2 || (mantıksal VEYA)
Called Logical OR Operator. If any of the two operands are non-zero, then the condition becomes true.

Örnek: (A || B) is true.
3 ! (mantıksal değil)
Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false.

Örnek: !(A && B) is true.

Mantıksal Operatörlerle İlgili Örnek:

public class Test {

public static **** main(String args[]) {
boolean a = true;
boolean b = false;

System.out.println("a && b = " + (a&&b));

System.out.println("a || b = " + (a||b) );

System.out.println("!(a && b) = " + !(a && b));
}
}


Sonucu:
a && b = false
a || b = true
!(a && b) = true


Atama Operatörleri:

Aşağıda, Javada desteklenen atama operatörleri verilmiştir:

SR.NO Operatör ve Tanımı
1 =
Basit atama operatörü.Sağ tarafı soldakine atar.

Örnek: C = A + B will assign value of A + B into C
2 +=
Sol taraftaki değere sağ tarafı ekler.

Örnek: C += A is equivalent to C = C + A
3 -=
Soldan sağı çıkarır.

Örnek:C -= A is equivalent to C = C - A
4 *=
Sol ile sağı çarpar, sağ tarafa eşitler.

Örnek: C *= A is equivalent to C = C * A
5 /=
Sol tarafı sağ tarafa böler, sol tarafa eşitler.

Örnek: C /= A is equivalent to C = C / A
6 %=
Sol tarafın sağ tarafa bölümünden kalanı sol tarafa atar.

Örnek: C %= A is equivalent to C = C % A
7 <<=
Left shift AND assignment operator.

Örnek: C <<= 2 is same as C = C << 2
8 >>=
Right shift AND assignment operator

Örnek: C >>= 2 is same as C = C >> 2
9 &=
Bitwise AND assignment operator.

Örnek: C &= 2 is same as C = C & 2
10 ^=
bitwise exclusive OR and assignment operator.

Örnek: C ^= 2 is same as C = C ^ 2
11 |=
bitwise inclusive OR and assignment operator.

Örnek: C |= 2 is same as C = C | 2

Atama Operatörleriyle ilgili örnek:

public class Test {

public static **** main(String args[]) {
int a = 10;
int b = 20;
int c = 0;

c = a + b;
System.out.println("c = a + b = " + c );

c += a ;
System.out.println("c += a = " + c );

c -= a ;
System.out.println("c -= a = " + c );

c *= a ;
System.out.println("c *= a = " + c );

a = 10;
c = 15;
c /= a ;
System.out.println("c /= a = " + c );

a = 10;
c = 15;
c %= a ;
System.out.println("c %= a = " + c );

c <<= 2 ;
System.out.println("c <<= 2 = " + c );

c >>= 2 ;
System.out.println("c >>= 2 = " + c );

c >>= 2 ;
System.out.println("c >>= a = " + c );

c &= a ;
System.out.println("c &= 2 = " + c );

c ^= a ;
System.out.println("c ^= a = " + c );

c |= a ;
System.out.println("c |= a = " + c );
}
}


Sonuc:
c = a + b = 30
c += a = 40
c -= a = 30
c *= a = 300
c /= a = 1
c %= a = 5
c <<= 2 = 20
c >>= 2 = 5
c >>= 2 = 1
c &= a = 0
c ^= a = 10
c |= a = 10


Diğer Çeşitli Operatörler(MİSC)

Conditional Operatör ( ? : )

Bu ifade if-else ile aynı işi yapar.Kullanım şekliyle ilgili aşağıda örnek verilmiştir:
variable x = (expression) ? value if true : value if false

Örnek:

public class Test {

public static **** main(String args[]){
int a, b;
a = 10;
b = (a == 1) ? 20: 30;
System.out.println( "Value of b is : " + b );

b = (a == 10) ? 20: 30;
System.out.println( "Value of b is : " + b );
}
}


Sonuç:
Value of b is : 30
Value of b is : 20


instanceof Operatörü:

Bu operatör sadece obje referans değişkenleri için kullanılır.Aşağıda kullanım şekli belirtilmiştir:
( Object reference variable ) instanceof (class/interface type)

Örnek ise şu şekilde:
public class Test {

public static **** main(String args[]){
String name = "James";
// following will return true since name is type of String
boolean result = name instanceof String;
System.out.println( result );
}
}


Sonuç:
true

Java Operatörlerinin Öncelik Durumları:

Operatörlerin yanyana kullanımları durumunda hangi operatörün ilk işlem yapacağı hayati önem taşımaktadır.Aşağıdaki tabloda gerekli bilgi verilmiştir:(Tablodaki sıralama önceliğe göredir.)
Category Operator İlişkisi
Postfix () [] . (dot operator) Left toright
Unary ++ - - ! ~ Right to left
Multiplicative * / % Left to right
Additive + - Left to right
Shift >> >>> << Left to right
Relational > >= < <= Left to right
Equality == != Left to right
Bitwise AND & Left to right
Bitwise XOR ^ Left to right
Bitwise OR | Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %= >>= <<= &= ^= |= Right to left
Comma , Left to right




Not: Çevirilerin hepsi benimdir.Aralarda değiştirme, ekleme yapılmıştır.Benden izinsiz kopyalanması ve başka bir yerde yayınlanması durumunda hakkımı helal etmiyorum!
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.