Java-da operatorlar


JavaBaxılıb 200

Sistem dizaynı ilə bağlı müsahibə sualları o qədər açıq ola bilər ki, düzgün hazırlaşmağı bilmək çox çətindir. İndi satın aldıqdan sonra Amazon, Microsoft və Adobe-nin dizayn dövrlərini sındıra bilirəm Bu kitabı. Gündəlik bir yenidən nəzərdən keçirin dizayn sualı və söz verirəm ki, dizayn dövrünü sındıra bilərsiniz.

An operator Java'da yerinə yetirə biləcəyimiz bir simvoldur əməliyyatları operandda. Bir operand ola bilər dəyişən və ya bir dəyər. Hər hansı bir əməliyyat üçün minimum 1 operandımız olmalıdır.

Java-da Operator növləri

Aşağıda Java-da müxtəlif növ Operatorlar verilmişdir

Java-da operatorlarPin

Java-da hesab operatorları

İcra etmək üçün Java-da Aritmetik operatorlardan istifadə edirik Arifmetik əməliyyatlar əlavə, toplama, vurma, bölmə kimi. Bütün bu əməliyyatları yerinə yetirmək üçün biz tələb edirik 2 operand operatorun hər iki tərəfində.

OperatorƏməliyyatsintaksis
+Əlavəa + b
-Subtractionab
*Vurmaa * b
/Bölməa / b
%Modulo - Xatırlatmanı tapmaq üçüna% b

Aritmetik Operator Nümunəsi

Aşağıdakı nümunədə hər ifadədə hesab əməliyyatlarını yerinə yetirmək üçün 2 operandan istifadə etdiyimizi görə bilərik. Bu vəziyyətdə a və b operandlar adlanır və operandlar arasındakı simvol operatordur.

public class ArithmeticOperators {

  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int sum = a + b;
    System.out.println("Sum of a and b is: " + sum);
    
    int diff = b - a;
    System.out.println("Difference between a and b is: " + diff);
    
    int prod = a * b;
    System.out.println("Product of a and b is: " + prod);
    
    int div = b/a;
    System.out.println("Division of a and b is: " + div);
    
    int mod = b%a;
    System.out.println("Reminder of a and b is: " + mod);

  }

}
Sum of a and b is: 30
Difference between a and b is: 10
Product of a and b is: 200
Division of a and b is: 2
Reminder of a and b is: 0

Java-da Unary Operators

Bu həm də başqa bir hesab operatoru növüdür, ancaq bunu tələb edir 1 operand əməliyyatı etmək. Buna görə adı Unary operatorudur. Bu əsasən istifadə olunur postfiksprefiks operator qiymətləndirməsi. Bunu bir dəyəri artırmaq, azaltmaq və ya bir ifadəni inkar etmək və ya bir boole dəyərini çevirmək üçün istifadə edirik.

sintaksisOperator növüƏməliyyat
expr ++postfixDəyər təyin edildikdən sonra dəyəri 1 artırır
məsrəf-postfixDəyər təyin edildikdən sonra dəyəri 1-ə endirir
++ exprPrefiksDəyər təyin edilmədən əvvəl dəyəri 1 artırır
-məsPrefiksDəyər təyin edilmədən əvvəl dəyəri 1-ə endirir
+ exprPrefiksİfadəni pozitiv olaraq göstərir
-məsPrefiksİfadəni mənfi olaraq göstərir
! exprPrefiksİfadə dəyərini tərsinə çevirir

Unary Operator Nümunəsi

Aşağıdakı nümunə ilə unary operatorları daha aydın başa düşək. İfadəni icra etdiyimiz zaman a ++ a dəyəri hələ də 5-dir və nəticəni 5-ə kimi yazdırır və içəridə dəyəri 6-ya artırır. Buna görə ilk çıxış 5-dir.

İndi icra edərkən a-, a-nın əvvəlki ifadə dəyərindən 6 olduğu üçün 6-nı yazdırır və daxili olaraq 5-ə qədər azaldır. Buna görə ikinci çıxış 6-dır.

Sonra, icra edirik –A, yəni basmadan əvvəl dəyəri 1 azaldır, yəni (5-1) deməkdir, beləliklə üçüncü çıxış 4-dür.

Biz icra edərkən ++ a, dəyər əvvəlcə 1 artar və sonra çıxışı 5 yəni (4 + 1) yazdırır.

public class UnaryOperator {

  public static void main(String[] args) {
    int a = 5;
    
    System.out.println("Postfix increment:");
    System.out.println(a++);
    System.out.println("Postfix decrement:");
    System.out.println(a--);
    System.out.println("Prefix decrement:");
    System.out.println(--a);
    System.out.println("Prefix increment:");
    System.out.println(++a);
    
  }
}
Postfix increment:
5
Postfix decrement:
6
Prefix decrement:
4
Prefix increment:
5

Sonra necə edək +- unary operatoru işləyir. + dəyər onsuz da müsbətdirsə müsbət dəyər verir. Dəyər mənfi olarsa, + və - dan mənfi bir nəticə verir - nəticəsi a - ilə nəticələnir. Buna görə 1-ci çıxış + b üçün 60, yəni + (+ 60) = 60 və 2-ci çıxış + a üçün -55, + (- 55) = -55 deməkdir.

Eynilə, - dəyər müsbət olduqda mənfi tam dəyər verir və dəyər mənfi olduqda müsbət tam ədədi verir. Beləliklə, -b üçün çıxış -55 yəni - (60) = -60 və -a üçün 55 (- - 55) = 55 deməkdir.

! (DEYİL) operator boole dəyərini tərsinə çevirir. Dəyər doğrudursa, yalnış, yalnış olarsa, doğrudur.

public class UnaryOperator {

  public static void main(String[] args) {
    int a = -55;
    int b = 60;
    Boolean value = false;
    System.out.println("Positive value:");
    System.out.println(+b);
    System.out.println(+a);
    System.out.println("Negative value:");
    System.out.println(-b);
    System.out.println(-a);
    System.out.println("Invert value:");
    System.out.println(!value);
    
  }
}
Positive value:
60
-55
Negative value:
-60
55
Invert value:
true

Java-da məntiqi operatorlar

Bir şərt və ya ifadəni qiymətləndirmək üçün məntiqi operatorlardan istifadə edirik. Tək və ya çoxlu ifadə ola bilər.

OperatorƏməliyyatsintaksis
&&Hər iki ifadə də doğrudursa, doğru qaytarır(a> b) && (b b ifadə1 və b ifadəsidir
||Hər hansı bir ifadə doğrudursa, doğru qaytarır(a> b) || (b b ifadə1 və b ifadəsidir
!Nəticəni geri qaytarır. Ifadə yalnış və əksinə olduqda doğru qayıdır! (a> b)

Məntiqi Operator Nümunəsi

Məntiqi yalnız ifadə dəyərlərinin hər ikisi doğru olduqda doğru qaytarır. 1-ci ifadə (a> 10) yalan, 2-ci ifadə (b <20) doğrudur, false AND true false qaytarır çıxış olaraq.

Məntiqi OR return true, ifadə dəyərindən hər hansı biri doğrudur. Budur, çıxış o vaxtdan etibarən doğrudur false OR true true qaytarır.

Məntiqi Əksinə deyil boole dəyəri. Qiymət yalan olarsa, doğrunu verir və əksinə.

public class LogicalOperator {

  public static void main(String[] args) {
    int a = 5;
    int b = 10;
    Boolean c = (a>10 && b<20 );
    System.out.println("Output of Logical AND: " + c);
    Boolean d = (a>10 || b<20);
    System.out.println("Output of Logical OR: " + d);
    System.out.println("Output of Logical NOT: " + !d);
    
  }

}
Output of Logical AND: false
Output of Logical OR: true
Output of Logical NOT: false

Java-da əlaqəli operatorlar

İstədikdə müqayisə etmək iki dəyişən və ya ifadə, sonra Java-da əlaqəli və ya müqayisə operatorlarından istifadə edirik. Bunu əsasən sonrakı dərslərdə öyrənəcəyimiz şərtləri qiymətləndirərkən istifadə edirik.

OperatorƏməliyyatsintaksis
==Hər iki dəyişənin / ifadənin bərabər olub olmadığını yoxlayıra == b
!=Dəyişənlərin / ifadələrin bir-birinə bərabər olmadığını yoxlayıra! = b
>Hansı dəyişənin və ya ifadənin daha böyük olduğunu yoxlayıra> b
<Hansı dəyişənin və ya ifadənin daha az olduğunu yoxlayıra <b
>=Hansı dəyişənin və ya ifadənin digərindən böyük və ya bərabər olduğunu yoxlayıra> = b
<=Hansı dəyişənin və ya ifadənin digərindən az və ya bərabər olduğunu yoxlayıra <= b

Əlaqəli Operator Nümunəsi

Bu nümunə əlaqəli operatorlardan necə istifadə edəcəyinizi göstərir. Burada if-else ifadələrində ifadə üçün müqayisə operatorlarından istifadə edirik. Vəziyyət doğrudursa if bəyanat icra ediləcək. Şərt səhvdirsə, daha bəyanat icra ediləcək.

public class RelationalOperator {

  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    if(a==b)
      System.out.println("a and b are equal");
    else
      System.out.println("a and b are not equal");
    if(a>b)
      System.out.println("a is greater than b");
    else
      System.out.println("b is greater than a");
    if(a<b)
      System.out.println("a is lesser than b");
    else
      System.out.println("b is lesser than a");
    if(a!=b)
      System.out.println("a is not equal to b");
    else
      System.out.println("a is equal to b");
    if(a>=b)
      System.out.println("a is greater than or equal to b");
    else
      System.out.println("a is not greater than or equal to b");
    if(a<=b)
      System.out.println("a is lesser than or equal to b");
    else
      System.out.println("a is not lesser than or equal to b");
  }

}
a and b are not equal
b is greater than a
a is lesser than b
a is not equal to b
a is not greater than or equal to b
a is lesser than or equal to b

Java-da Bitwise Operators

Bu operatorlar yerinə yetirir yavaş-yavaş əməliyyat. Çıxış müqayisə əsasında ya 1, ya da 0 olur.

OperatorƏməliyyat
&AND - Hər iki bit 1 olduqda 1 qaytarır
|VEYA - Hər hansı bir bit 1-dirsə, 1-i qaytarır
^YOX - Biti tərs çevirir
~XOR (Exclusive OR) - İki bitdən yalnız biri 1 olduqda, 1 qaytarır
<<Bitləri sağdan sola itələməklə sola sürüşdürür və ən çox solu götürərək sonunda 0 ilə doldurur
>>Ən sol tərəfdəki nüsxələri basaraq sağa keçir və ən sağ tərəfdəki biti silir
>>>0-u sola basaraq sağa doğru sürüşdürür və ən sağ tərəfi götürür

Bitwise Operator Misalı

Bitwise operatorlardan istifadə etdiyimiz zaman hesablama tam ədədin ikili dəyərə çevrilməsi ilə aparılır. Aşağıdakı bir nümunə ilə bunu ətraflı başa düşək.

Bitwise AND operatoru yalnız hər iki bit 1 olduqda 1 verir, bu şərt yerinə yetirilmədiyi üçün aşağıdakı çıxış 0 göstərir.

Bitwise OR operatoru, bitdən hər hansı 1-i 1 olarsa, 1-i qaytarır. Beləliklə, aşağıdakı nəticə 7-dir, ikili dəyəri 0111-dir.

Bitsel OperatorPin

Bitwise XOR operatoru aşağıda göstərilən şəkildə gördüyünüz kimi hər biti tərs çevirir.

Bitsel Operator

Sol Shift operatoru, sol tərəfdəki biti götürərək biti sağdan sola keçirir və sağ bitə 0 əlavə edir. Bitlərin sayı ifadə əsasında köçürülür. Aşağıdakı nümunədə bitlər 1 mövqe ilə hərəkət etdirilir.

Bitsel OperatorPin

Sol keçid operatorunu hesablamağın başqa bir yolu aşağıdakı kimidir. Bit sayına əsasən 2-yə qaldırılan güclə tam ədədi vurun.

a = 5

a << 1 -> 5 * 2 ^ 1 = 5 * 2 = 10

a << 2 -> 5 * 2 ^ 2 = 5 * 4 = 20

Right Shift operatoru, sağ tərəfdəki biti götürərək biti soldan sağa keçirir və sol tərəfdəki bitə 0 əlavə edir.

Pin

Sağ keçid operatorunu hesablamanın başqa bir yolu aşağıdakı kimidir. Bit sayına əsasən 2-yə qaldırılan güclə tam ədədi bölün.

a = 5

a >> 1 -> 5/2 ^ 1 = 5/2 = 2

a >> 2 -> 5/2 ^ 2 = 5/4 = 1

public class BitwiseOperator {

  public static void main(String[] args) {
    int a = 5;
    int b = 2;
    int val;
    
    val = a&b;
    System.out.println("Output of Bitwise AND: "+ val);
    
    val = a|b;
    System.out.println("Output of Bitwise OR: " + val);
    
    System.out.println("Output of Bitwise XOR: " + ~a);
    System.out.println("Output of RightShift: " + (a>>1));
    System.out.println("Output of LeftShift: " + (a<<1));
    System.out.println("Output of RightShift with 0: " + (a>>>1));
    
  }

}
Output of Bitwise AND: 0
Output of Bitwise OR: 7
Output of Bitwise XOR: -6
Output of RightShift: 2
Output of LeftShift: 10
Output of RightShift with 0: 2

Java-da Təyinat Operatorları

Bu Operator istifadə olunur dəyərin təyin edilməsi tələb olunan əməliyyata əsaslanan dəyişənə.

OperatorƏməliyyatsintaksis
=Sağ operanddan sol operanda dəyər təyin edira = b
+=Əlavə edin və nəticə əmrini sol operanda təyin edina + = b kimidir
a = a + b
-=Nəticə dəyərini çıxardır və sol əmrinə verira- = b kimidir
a = ab
*=Çıxar və nəticəni sol operanda təyin edira * = b kimidir
a = a * b
/=Nəticə dəyərini bölüşdürür və sol əməliyyatda təyin edira / = b kimidir
a = a / b
%=Modul əməliyyatını yerinə yetirir və nəticə əmrini sol əmrinə verira% = b kimidir
a = a% b
&=Bitwise AND əməliyyatını yerinə yetirir və nəticə əmrini sol əmrinə verira & = b kimidir
a = a & b
|=Bitwise OR əməliyyatını yerinə yetirir və nəticə əmrini sol əmrinə verira | = b kimidir
a = a | b
^=Bitwise exclusice VƏ əməliyyatı yerinə yetirir və nəticə əmrini sol əmrinə verira ^ = b kimidir
a = a ^ b
>> =Sol keçid əməliyyatını həyata keçirir və nəticə əmrini sol əmrinə verira >> = b kimidir
a = a >> b
<< =Sağ sürüşmə əməliyyatını yerinə yetirir və nəticə əmrini sola işləyira << = b kimidir
a = a << b

Təyinat Operatoru Nümunəsi

Aşağıdakı nümunədə müxtəlif təyinat operatorlarının necə istifadə ediləcəyini görə bilərik.

public class AssignmentOperaor {

  public static void main(String[] args) {
    int x = 5;
    int y = 10;
    int i = 3;
    int j = 2;
    int a;
    a=x;
    System.out.println("a=x: " + a);
    x+=5;
    System.out.println("x=x+5: " + x);
    y-=2;
    System.out.println("y=y-2: " + y);
    x*=4;
    System.out.println("x=x*4: " + x);
    y/=2;
    System.out.println("y=y/2: " + y);
    a%=5;
    System.out.println("a=a%5: " + a);
    System.out.println("i=i&j: " + (i&=j));
    System.out.println("i=i|j: " + (i|=j));

  }

}
a=x: 5
x=x+5: 10
y=y-2: 8
x=x*4: 40
y=y/2: 4
a=a%5: 0
i=i&j: 2
i=i|j: 2

Java'da Üçlü Operatorlar

Bu operator şərtə əsasən nəticəni göstərir. Vəziyyət, bir boolean dəyəri qaytaran bir ifadəsidir.

sintaksis

var1 = (expression1) ? value1 : value2

var1, əməliyyatın nəticəsini tutan dəyişəndir

ifadə1 bir şərti qiymətləndirən ifadəsidir

value1 - Ifadə doğru qayıdırsa, bu dəyəri nəticədə dəyişənə verir

value2 - Ifadə yalnış qayıdırsa, bu dəyəri nəticədə dəyişənə verir

Başqa sözlə, ifadə doğrudursa, dəyişən 1 dəyərini saxlayır, başqa bir dəyər2 saxlayır

Üçlü Operator Nümunəsi

Birinci ifadədə ifadə doğrulduğundan çıxış 100, ifadə 2-də ifadənin yalan olduğundan çıxış 50-dir.

public class TernaryOperator {

  public static void main(String[] args) {
    int value;
    int x = 150;
    int y = 100;
    value = (x!=y) ? 100:50;
    System.out.println(value);
    
    value = (x<y) ? 100:50;
    System.out.println(value);
  }

}
100
50

Operatorun nümunəsi

Bu, bir obyektin müəyyən bir növə aid olub olmadığını yoxlayan xüsusi bir operatordur. Bunu daha yaxşı başa düşmək üçün aşağıdakı bir nümunəyə baxaq.

public class SpecialOperator {

  public static void main(String[] args) {
    String value = "Welcome to Java tutorial";
    Boolean b;
    b = (value instanceof String);
    System.out.println(b);
  }

}
true

Aşağıda genişləndirilmiş sinfə sahib olduğumuz instanceof operatorunun başqa bir nümunəsi verilmişdir. Burada d sinif şöbəsinin obyektidir. Ancaq Bölmə sinifində Kollec sinifini uzadır. Beləliklə d həm sinifin bir başlanğıcıdır və bu səbəbdən hər iki şərt üçün nəticə olaraq doğru çıxırıq.

public class Department extends College {

  public static void main(String[] args) {
    Department d = new Department();
    Boolean b;
    b = (d instanceof College);
    System.out.println(b);
    b = (d instanceof Department);
    System.out.println(b);
  }

}
true
true

Dəyişənin sıfır olduğu mənasını verən hər hansı bir dəyəri olmadıqda, instanceof true yerinə false qaytarır.

public class SpecialOperator {

  public static void main(String[] args) {
    String value = null;
    Boolean b;
    b = (value instanceof String);
    System.out.println(b);
  }

}
false

Əməliyyatçıların üstünlükləri

Bir ifadədə 1-dən çox operator olduqda operatorların üstünlüyünü başa düşmək vacibdir. Java ifadəni yuxarıdan aşağıya göstərən aşağıda verilən üstünlüyə əsasən qiymətləndirir.

Operator Növü Operatorlar
Unary operatoru ++ (postfiks)

- (postfiks)

++ (prefiks)

- (prefiks)

+

-

!

~

Çarpan operator *, /,%
Əlavə operatoru +, -
Shift operatoru <<

>>

>>>

Nisbi operator >

>=

<

<=

Bərabərlik operatoru ==

!=

Bitsel Operator &, ^, |
Məntiqi Operator &&

||

Üçlü Operator ?:
Təyinat Operatoru =, + =, - =, * =, / =,% =

>,> =, <, <=

& =, ^ =, | =

Nümunə Proqramı

Aşağıdakı nümunədə, ++ daha yüksək prioritetə ​​malikdir, ardından * və sonra -. Buna görə ifadəni aşağıdakı kimi qiymətləndiririk.

++ b = 5 + 1 = 6

++ b * c = 6 * 2 = 12

a - (++ b * c) = 15-12 = 3 olan son nəticədir

public class OperatorPrecedence {

  public static void main(String[] args) {
    int a = 15;
    int b = 5;
    int c = 2;
    int result;
    result = (a-++b*c);
    System.out.println(result);

  }

}
3

arayış

Crack Sistemi Dizayn Müsahibələri
Translate »
2