Java - Temel Operatörler
Java, değişkenleri işlemek için zengin bir operatör kümesi sağlar. Tüm Java operatörlerini aşağıdaki gruplara ayırabiliriz -
- Aritmetik operatörler
- İlişkisel Operatörler
- Bitsel Operatörler
- Mantıksal operatörler
- Atama Operatörleri
- Çeşitli Operatörler
Aritmetik Operatörler
Aritmetik operatörler, matematiksel ifadelerde, cebirde kullanıldığı gibi kullanılır. Aşağıdaki tablo aritmetik operatörleri listeler -
Tamsayı değişken A'nın 10, B değişkeninin 20, o zaman -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
+ (Toplama) | İşlecin her iki tarafına da değerler ekler. | A + B 30 verecek |
- (Çıkarma) | Sağ el işleneni sol el işlenenden çıkarır. | A - B -10 verecek |
* (Çarpma işlemi) | İşlecin her iki tarafındaki değerleri çarpar. | A * B 200 verecek |
/ (Bölünme) | Sol el işleneni sağ el işlenene göre böler. | B / A 2 verecek |
% (Modül) | Sol el işleneni sağ el işlenene böler ve kalanını döndürür. | B% A 0 verir |
++ (Artış) | Operand değerini 1 artırır. | B ++ 21 verir |
- (Azaltma) | İşlenen değerini 1 azaltır. | B-- 19 verir |
İlişkisel Operatörler
Java dili tarafından desteklenen aşağıdaki ilişkisel operatörler vardır.
A değişkeninin 10, B değişkeninin 20 olduğunu varsayalım, o zaman -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
== (eşittir) | İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A == B) doğru değil. |
! = (eşit değildir) | İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, değerler eşit değilse koşul doğru olur. | (A! = B) doğrudur. |
> (büyüktür) | Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A> B) doğru değil. |
<(küçüktür) | Soldaki işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A <B) doğrudur. |
> = (büyük veya eşit) | Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A> = B) doğru değil. |
<= (küçüktür veya eşittir) | Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. | (A <= B) doğrudur. |
Bitsel Operatörler
Java, tam sayı türlerine, long, int, short, char ve byte'a uygulanabilen birkaç bitsel işleç tanımlar.
Bitsel operatör, bitler üzerinde çalışır ve bit bit işlem gerçekleştirir. A = 60 ve b = 13 olduğunu varsayalım; şimdi ikili biçimde aşağıdaki gibi olacaklar -
a = 0011 1100
b = 0000 1101
-----------------
a & b = 0000 1100
a | b = 0011 1101
a ^ b = 0011 0001
~ a = 1100 0011
Aşağıdaki tablo bitsel operatörleri listeler -
Tamsayı değişken A'nın 60, B değişkeninin 13 olduğunu varsayalım -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
& (bitsel ve) | İkili AND İşleci, her iki işlenende de varsa sonuca bir bit kopyalar. | (A & B) 0000 1100 olan 12 verecek |
| (bitsel veya) | İkili VEYA İşleci, işlenenlerden herhangi birinde varsa bir bit kopyalar. | (A | B) 0011 1101 olan 61 verir |
^ (bitsel ÖZELVEYA) | İkili XOR İşleci, bir işlenen içinde ayarlanmışsa, ancak her ikisinde birden ayarlanmamışsa biti kopyalar. | (A ^ B), 0011 0001 olan 49 verecek |
~ (bitsel iltifat) | İkili Birler Tamamlayıcı Operatörü tekli ve bitleri 'çevirme' etkisine sahiptir. | (~ A) işaretli bir ikili sayı nedeniyle 2'nin tamamlayıcı formunda 1100 0011 olan -61 verecektir. |
<< (sola kaydırma) | İkili Sol Kaydırma Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır. | Bir << 2, 1111 0000 olan 240'ı verir. |
>> (sağa kaydırma) | İkili Sağ Shift Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır. | A >> 2, 1111 olan 15 verir |
>>> (sıfır dolgulu sağa kaydırma) | Sıfır doldurma operatörünü sağa kaydır. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır ve kaydırılan değerler sıfırlarla doldurulur. | A >>> 2, 0000 1111 olan 15 verir |
Mantıksal Operatörler
Aşağıdaki tablo mantıksal operatörleri listeler -
Boolean değişkenleri A'nın doğru ve B değişkeninin yanlış olduğunu varsayalım, o zaman -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
&& (mantıksal ve) | Mantıksal AND operatörü çağrıldı. Her iki işlenen de sıfır değilse, koşul doğru olur. | (A && B) yanlıştır |
|| (mantıksal veya) | Mantıksal VEYA Operatörü çağrıldı. İki işlenenden herhangi biri sıfır değilse, koşul doğru olur. | (A || B) doğru |
! (mantıksal değil) | Mantıksal NOT Operatörü olarak adlandırıldı. İşlenenin mantıksal durumunu tersine çevirmek için kullanın. Bir koşul doğruysa, Mantıksal NOT operatörü yanlış yapar. | ! (A && B) doğru |
Atama Operatörleri
Aşağıda, Java dili tarafından desteklenen atama operatörleri verilmiştir -
Örnekleri Göster
Şebeke | Açıklama | Misal |
---|---|---|
= | Basit atama operatörü. Sağ taraftaki işlenenlerden sol taraf işlenene değer atar. | C = A + B, A + B'nin değerini C'ye atar |
+ = | AND atama operatörü ekleyin. Sol operanda sağ operandı ekler ve sonucu sol operanda atar. | C + = A, C = C + A'ya eşdeğerdir |
- = | Çıkarma VE atama operatörü. Sağ operandı sol operanddan çıkarır ve sonucu sol operanda atar. | C - = A, C = C - A'ya eşdeğerdir |
* = | AND atama operatörünü çarpın. Sağ operandı sol operandla çarpar ve sonucu sol operanda atar. | C * = A, C = C * A'ya eşdeğerdir |
/ = | VE atama işlecini böl. Soldaki operandı sağ operandla böler ve sonucu sol operanda atar. | C / = A, C = C / A'ya eşdeğerdir |
% = | Modül VE atama operatörü. İki işlenen kullanarak modülü alır ve sonucu sol işlenenlere atar. | C% = A eşdeğerdir C = C% A |
<< = | Sol kaydırma VE atama operatörü. | C << = 2, C = C << 2 ile aynıdır |
>> = | Sağ kaydırma VE atama operatörü. | C >> = 2, C = C >> 2 ile aynıdır |
& = | Bitsel AND atama operatörü. | C & = 2, C = C & 2 ile aynıdır |
^ = | bit düzeyinde özel OR ve atama operatörü. | C ^ = 2, C = C ^ 2 ile aynıdır |
| = | bitsel kapsayıcı OR ve atama operatörü. | C | = 2, C = C | ile aynıdır | 2 |
Çeşitli Operatörler
Java Dili tarafından desteklenen birkaç başka operatör vardır.
Koşullu Operatör (?:)
Koşullu operatör, aynı zamanda ternary operator. Bu operatör üç işlenen içerir ve Boole ifadelerini değerlendirmek için kullanılır. Operatörün amacı, değişkene hangi değerin atanması gerektiğine karar vermektir. Operatör şu şekilde yazılır -
variable x = (expression) ? value if true : value if false
Aşağıda bir örnek verilmiştir -
Example
public class Test {
public static void 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 );
}
}
Bu, aşağıdaki sonucu verecektir -
Output
Value of b is : 30
Value of b is : 20
instanceof Operatörü
Bu operatör yalnızca nesne referans değişkenleri için kullanılır. Operatör, nesnenin belirli bir türde (sınıf türü veya arabirim türü) olup olmadığını kontrol eder. instanceof operatörü şu şekilde yazılır -
( Object reference variable ) instanceof (class/interface type)
Operatörün sol tarafındaki değişken tarafından belirtilen nesne, sağ taraftaki sınıf / arayüz türü için IS-A kontrolünden geçerse, sonuç doğru olacaktır. Aşağıda bir örnek verilmiştir -
Example
public class Test {
public static void 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 );
}
}
Bu, aşağıdaki sonucu verecektir -
Output
true
Karşılaştırılan nesne sağdaki türle uyumlu atama ise bu işleç yine de doğru döndürür. Aşağıda bir örnek daha var -
Example
class Vehicle {}
public class Car extends Vehicle {
public static void main(String args[]) {
Vehicle a = new Car();
boolean result = a instanceof Car;
System.out.println( result );
}
}
Bu, aşağıdaki sonucu verecektir -
Output
true
Java Operatörlerinin Önceliği
Operatör önceliği, bir ifadedeki terimlerin gruplandırılmasını belirler. Bu, bir ifadenin nasıl değerlendirildiğini etkiler. Bazı operatörler diğerlerinden daha yüksek önceliğe sahiptir; örneğin, çarpma operatörü toplama operatöründen daha yüksek önceliğe sahiptir -
Örneğin, x = 7 + 3 * 2; burada x operatörüne + göre daha yüksek önceliğe sahip olduğu için 20 değil 13 atanır, bu nedenle önce 3 * 2 ile çarpılır ve sonra 7'ye eklenir.
Burada, en yüksek önceliğe sahip operatörler tablonun en üstünde, en düşük olanlar ise en altta görünür. Bir ifade içinde, daha yüksek öncelikli operatörler ilk olarak değerlendirilecektir.
Kategori | Şebeke | İlişkisellik |
---|---|---|
Postfix | ifade ++ ifade-- | Soldan sağa |
Birli | ++ ifade –- ifade + ifade –ifade ~! | Sağdan sola |
Çarpımsal | * /% | Soldan sağa |
Katkı | + - | Soldan sağa |
Vardiya | << >> >>> | Soldan sağa |
İlişkisel | <> <=> = örnek | Soldan sağa |
Eşitlik | ==! = | Soldan sağa |
Bitsel AND | & | Soldan sağa |
Bitsel ÖZELVEYA | ^ | Soldan sağa |
Bit tabanlı VEYA | | | Soldan sağa |
Mantıksal AND | && | Soldan sağa |
Mantıksal VEYA | || | Soldan sağa |
Koşullu | ?: | Sağdan sola |
Görev | = + = - = * = / =% = ^ = | = << = >> = >>> = | Sağdan sola |
Sırada ne var?
Sonraki bölüm Java programlamada döngü kontrolü hakkında bilgi verecektir. Bölüm, çeşitli döngü türlerini ve bu döngülerin Java programı geliştirmede nasıl kullanılabileceğini ve hangi amaçlarla kullanıldıklarını açıklayacaktır.