Operatory umożliwiają tworzenie implementacji w każdym języku programowania. Większość z nich nie różni się niczym od typowych operatorów występujących w matematyce. Przedstawiam Ci listę operatorów, których możesz użyć w swoich programach w Javie.
- Operatory matematyczne: +, -, *, /, %
- Przypisania: =, +=, -=, *=, /=, %=
- Logiczne: &&, ||
- Równości: ==, !=
- Bitowe: &, ^, |
- Relacyjne: < , >, <=, >=, instanceof*
- Inkrementacji: ++, —
- Warunkowy: wyrażenie ? 'wartości gdy prawdziwy’ : 'wartość gdy nieprawdziwy’
- Konwersja typów: (‘typ, na który chcemy zrzutować’) ‘typ obecnie używany’
Podstawowe operatory
Jak już pisałem, większość z nich już doskonale znasz. Postaram się jednak rozjaśnić kilka z nich odnośnie których możesz mieć pytania.
- Operator %, czyli operator dzielenia modulo, to tak zwane dzielenie z resztą. Np. 7 mod 5 = 2
- Operatory przypisania, typu +=, to skrócony zapis. Np. zamiast sum = sum +1, możesz napisać sum+=1
- Inkrementacja/Dekrementacja. Zamiast pisać w pętli np. while i+1, możesz użyć po prosu i++ (co jest tożsame z i+1).
- Jeśli chcesz przekonwertować typ na inny, to powinieneś korzystać z okrągłych nawiasów. Np. int myIntFromDouble = (int) 10.2
- Wyrażenie warunkowe jest skróconym zapisem warunku if – else.
public static void main(String [] args) { String testVariable = "some text"; System.out.println(checkValue(testVariable)); int result = (testVariable.equals("some text")) ? 0: 1; System.out.println(result); } private static int checkValue(String testVariable) { if (testVariable.equals("some text")) { return 0; } else { return 1; } }
Operatory logiczne i bitowe
Ostatnimi operatorami, o których warto napisać są operatory logiczne i bitowe. Służą one do wykonywania logicznych operacji (prawda/fałsz). Bardzo trudno jest zauważyć różnicę między nimi, ponieważ jest ona niewielka. Operatory logiczne nie wykonują operacji po prawej stronie równania jeśli lewa nie zostanie spełniona. W przypadku operatora bitowego jest inaczej, zawsze wyrażenie po prawej stronie jest wykonywane.
if (x == 0 && printInfo()) { System.out.println("Operator logiczny zadziałał"); } if (x == 0 & printInfo()) { System.out.println("Operator bitowy zadziałał"); } } private static boolean printInfo() { System.out.println("Metoda się wykonała "); return false; } private static int checkValue(String testVariable) { if (testVariable.equals("some text")) { return 0; } else { return 1; } } }
Link do lekcji: https://github.com/developeronthego/java-basics/tree/main/src/main/java/basics/lesson11
*Wytłumaczenie działania operatora instanceof: Java #28: instanceof operator