Java - podstawowe operatory

Java udostępnia bogaty zestaw operatorów do manipulowania zmiennymi. Możemy podzielić wszystkie operatory Java na następujące grupy -

  • Operatory arytmetyczne
  • Operatorzy relacyjni
  • Operatory bitowe
  • Operatory logiczne
  • Operatory przypisania
  • Różne operatory

Operatory arytmetyczne

Operatory arytmetyczne są używane w wyrażeniach matematycznych w taki sam sposób, jak w algebrze. W poniższej tabeli wymieniono operatory arytmetyczne -

Załóżmy, że zmienna całkowita A zawiera 10, a zmienna B 20, a następnie -

Pokaż przykłady

Operator Opis Przykład
+ (Dodawanie) Dodaje wartości po obu stronach operatora. A + B da 30
- (odejmowanie) Odejmuje operand po prawej stronie od operandu po lewej stronie. A - B da -10
* (Mnożenie) Mnoży wartości po obu stronach operatora. A * B da 200
/ (Podział) Dzieli operand po lewej stronie przez operand po prawej stronie. B / A da 2
% (Moduł) Dzieli operand po lewej stronie przez operand po prawej stronie i zwraca resztę. B% A da 0
++ (przyrost) Zwiększa wartość operandu o 1. B ++ daje 21
- (Zmniejsz) Zmniejsza wartość operandu o 1. B-- daje 19

Operatory relacyjne

Istnieją następujące operatory relacyjne obsługiwane przez język Java.

Załóżmy, że zmienna A zawiera 10, a zmienna B 20, a następnie -

Pokaż przykłady

Operator Opis Przykład
== (równe) Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli tak, warunek staje się prawdziwy. (A == B) nie jest prawdą.
! = (różne od) Sprawdza, czy wartości dwóch operandów są równe, czy nie, jeśli wartości nie są równe, warunek staje się prawdziwy. (A! = B) jest prawdą.
> (większe niż) Sprawdza, czy wartość lewego operandu jest większa niż wartość prawego operandu, jeśli tak, warunek staje się prawdziwy. (A> B) nie jest prawdą.
<(mniej niż) Sprawdza, czy wartość lewego operandu jest mniejsza niż wartość prawego operandu, jeśli tak, warunek staje się prawdziwy. (A <B) jest prawdą.
> = (większe lub równe) Sprawdza, czy wartość lewego operandu jest większa lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. (A> = B) nie jest prawdą.
<= (mniejsze lub równe) Sprawdza, czy wartość lewego operandu jest mniejsza lub równa wartości prawego operandu, jeśli tak, warunek staje się prawdziwy. (A <= B) jest prawdą.

Operatory bitowe

Java definiuje kilka operatorów bitowych, które można zastosować do typów całkowitych, long, int, short, char i byte.

Operator bitowy działa na bitach i wykonuje operacje bit po bicie. Załóżmy, że a = 60 i b = 13; teraz w formacie binarnym będą wyglądać następująco -

a = 0011 1100

b = 0000 1101

-----------------

a & b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

~ a = 1100 0011

W poniższej tabeli wymieniono operatory bitowe -

Załóżmy, że zmienna całkowita A ma 60, a zmienna B zawiera 13, a następnie -

Pokaż przykłady

Operator Opis Przykład
& (bitowe i) Operator binarny AND kopiuje trochę do wyniku, jeśli istnieje w obu operandach. (A i B) dadzą 12, czyli 0000 1100
| (bitowo lub) Operator binarny OR kopiuje bit, jeśli istnieje w którymkolwiek operandzie. (A | B) da 61, czyli 0011 1101
^ (bitowy XOR) Binarny operator XOR kopiuje bit, jeśli jest ustawiony w jednym operandzie, ale nie w obu. (A ^ B) da 49, czyli 0011 0001
~ (komplement bitowy) Operator dopełniacza binarnego jest jednoargumentowy i powoduje „odwracanie” bitów. (~ A) da -61, czyli 1100 0011 w postaci uzupełnienia do 2 ze względu na liczbę binarną ze znakiem.
<< (przesunięcie w lewo) Binarny operator przesunięcia w lewo. Wartość lewego operandu jest przesuwana w lewo o liczbę bitów określoną przez prawy operand. << 2 da 240, czyli 1111 0000
>> (prawe przesunięcie) Binarny operator przesunięcia w prawo. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand. >> 2 da 15, czyli 1111
>>> (przesunięcie w prawo z zerowym wypełnieniem) Przesuń w prawo operator wypełnienia zerowego. Wartość lewego operandu jest przesuwana w prawo o liczbę bitów określoną przez prawy operand, a przesunięte wartości są wypełniane zerami. >>> 2 da 15, czyli 0000 1111

Operatory logiczne

W poniższej tabeli wymieniono operatory logiczne -

Załóżmy, że zmienne logiczne A zawierają prawdę, a zmienna B fałsz, a następnie -

Pokaż przykłady

Operator Opis Przykład
&& (logiczne i) Nazywany operatorem logicznym AND. Jeśli oba operandy są niezerowe, warunek staje się prawdziwy. (A && B) jest fałszem
|| (logiczne lub) Nazywany operatorem logicznym OR. Jeśli którykolwiek z dwóch operandów jest niezerowy, warunek staje się prawdziwy. (A || B) jest prawdą
! (nie logiczne) Nazywany operatorem logicznym NOT. Służy do odwracania stanu logicznego operandu. Jeśli warunek jest spełniony, operator logiczny NOT spowoduje fałsz. ! (A && B) jest prawdą

Operatory przypisania

Poniżej przedstawiono operatory przypisania obsługiwane przez język Java -

Pokaż przykłady

Operator Opis Przykład
= Prosty operator przypisania. Przypisuje wartości z operandów po prawej stronie do operandów po lewej stronie. C = A + B przypisze wartość A + B do C.
+ = Dodaj operator przypisania AND. Dodaje prawy operand do lewego operandu i przypisuje wynik do lewego operandu. C + = A jest równoważne C = C + A
- = Operator odejmowania AND przypisania. Odejmuje prawy operand od lewego operandu i przypisuje wynik lewemu operandowi. C - = A jest równoważne C = C - A
* = Operator mnożenia AND przypisania. Mnoży prawy operand z lewym operandem i przypisuje wynik do lewego operandu. C * = A jest równoważne C = C * A
/ = Operator dzielenia AND przypisania. Dzieli lewy operand z prawym operandem i przypisuje wynik lewemu operandowi. C / = A jest równoważne C = C / A
% = Operator modułu AND przypisania. Pobiera moduł używając dwóch operandów i przypisuje wynik do lewego operandu. C% = A jest równoważne C = C% A
<< = Operator przesunięcia w lewo AND przypisania. C << = 2 to to samo, co C = C << 2
>> = Operator prawego przesunięcia AND przypisania. C >> = 2 to to samo, co C = C >> 2
& = Operator przypisania bitowego AND. C & = 2 to to samo, co C = C & 2
^ = bitowe wykluczające OR i operator przypisania. C ^ = 2 to to samo, co C = C ^ 2
| = bitowy operator OR i przypisanie. C | = 2 to to samo, co C = C | 2

Różni operatorzy

Istnieje kilka innych operatorów obsługiwanych przez język Java.

Operator warunkowy (?:)

Operator warunkowy jest również znany jako ternary operator. Ten operator składa się z trzech operandów i służy do obliczania wyrażeń boolowskich. Celem operatora jest podjęcie decyzji, jaką wartość należy przypisać zmiennej. Operator jest zapisywany jako -

variable x = (expression) ? value if true : value if false

Oto przykład -

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 );
   }
}

To da następujący wynik -

Output

Value of b is : 30
Value of b is : 20

instanceof Operator

Ten operator jest używany tylko dla zmiennych odwołań do obiektów. Operator sprawdza, czy obiekt jest określonego typu (typ klasy lub typ interfejsu). operator instanceof jest zapisywany jako -

( Object reference variable ) instanceof  (class/interface type)

Jeśli obiekt, do którego odwołuje się zmienna po lewej stronie operatora, przejdzie kontrolę IS-A dla typu klasy / interfejsu po prawej stronie, to wynik będzie prawdziwy. Oto przykład -

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 );
   }
}

To da następujący wynik -

Output

true

Ten operator nadal zwróci wartość true, jeśli porównywany obiekt jest przypisaniem zgodnym z typem po prawej stronie. Poniżej znajduje się jeszcze jeden przykład -

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 );
   }
}

To da następujący wynik -

Output

true

Pierwszeństwo operatorów Java

Pierwszeństwo operatorów określa grupowanie terminów w wyrażeniu. Ma to wpływ na sposób oceny wyrażenia. Niektórzy operatorzy mają wyższy priorytet niż inni; na przykład operator mnożenia ma wyższy priorytet niż operator dodawania -

Na przykład x = 7 + 3 * 2; tutaj x ma przypisane 13, a nie 20, ponieważ operator * ma wyższy priorytet niż +, więc najpierw jest mnożony przez 3 * 2, a następnie sumowany do 7.

Tutaj operatory o najwyższym priorytecie pojawiają się na górze tabeli, a operatory o najniższym priorytecie - na dole. W wyrażeniu najpierw zostaną ocenione operatory o wyższym priorytecie.

Kategoria Operator Łączność
Przyrostek wyrażenie ++ wyrażenie-- Z lewej na prawą
Jednoargumentowe ++ wyrażenie –- wyrażenie + wyrażenie – wyrażenie ~! Od prawej do lewej
Mnożny * /% Z lewej na prawą
Przyłączeniowy + - Z lewej na prawą
Zmiana << >> >>> Z lewej na prawą
Relacyjny <> <=> = instanceof Z lewej na prawą
Równość ==! = Z lewej na prawą
Bitowe i & Z lewej na prawą
Bitowe XOR ^ Z lewej na prawą
Bitowe OR | Z lewej na prawą
Logiczne AND && Z lewej na prawą
Logiczne LUB || Z lewej na prawą
Warunkowy ?: Od prawej do lewej
Zadanie = + = - = * = / =% = ^ = | = << = >> = >>> = Od prawej do lewej

Co jest następne?

W następnym rozdziale wyjaśniono sterowanie pętlami w programowaniu w języku Java. W tym rozdziale opisano różne typy pętli oraz sposób ich wykorzystania w tworzeniu programów w języku Java oraz w jakim celu są one używane.