Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Essentials: Uitgebreide Gids voor Kern Operators

Java biedt een rijke set operators om variabelen te manipuleren. Alle Java operators vallen in deze groepen:

  • Arithmetic Operators
  • Relational Operators
  • Bitwise Operators
  • Logical Operators
  • Assignment Operators
  • Misc Operators

Arithmetic Operators

Gebruikt in wiskundige expressies zoals in algebra. Stel A=10, B=20:

OperatorBeschrijvingVoorbeeld
+ (Addition)Telt waarden aan weerskanten opA + B = 30
- (Subtraction)Trekt rechter operand van linker operand afA - B = -10
* (Multiplication)Vermenigvuldigt waardenA * B = 200
/ (Division)Deelt linker operand door rechter operandB / A = 2
% (Modulus)Deelt en retourneert restB % A = 0
++ (Increment)Verhoogt operand met 1B++ = 21
-- (Decrement)Verlaagt operand met 1B-- = 19

Relational Operators

Ondersteund door Java. A=10, B=20:

OperatorBeschrijvingVoorbeeld
== (gelijk aan)Controleert of twee operanden gelijk zijn(A == B) is false
!= (ongelijk aan)Controleert of twee operanden ongelijk zijn(A != B) is true
> (groter dan)Linker operand groter dan rechter(A > B) is false
< (kleiner dan)Linker operand kleiner dan rechter(A < B) is true
>= (groter of gelijk)Linker operand groter of gelijk(A >= B) is false
<= (kleiner of gelijk)Linker operand kleiner of gelijk(A <= B) is true

Bitwise Operators

Toepasbaar op integer types: long, int, short, char, byte. Werken bit-voor-bit. a=60 (0011 1100), b=13 (0000 1101):

a&b = 0000 1100 (12)
a|b = 0011 1101 (61)
a^b = 0011 0001 (49)
~a  = 1100 0011 (-61 in 2's complement)
OperatorBeschrijvingVoorbeeld
& (bitwise AND)Kopieert bit als in beide operanden(A & B) = 12
| (bitwise OR)Kopieert bit als in één van beide(A | B) = 61
^ (bitwise XOR)Kopieert bit als in één maar niet beide(A ^ B) = 49
~ (bitwise complement)Unary, 'flipped' bits(~A) = -61
<< (left shift)Linker operandwaarde verschuift linksA << 2 = 240
>> (right shift)Linker operandwaarde verschuift rechtsA >> 2 = 15
>>> (zero fill right shift)Verschuift rechts, vult met nullenA >>> 2 = 15

Logical Operators

Boolean A=true, B=false:

OperatorBeschrijvingVoorbeeld
&& (logical AND)True als beide operanden non-zero(A && B) = false
|| (logical OR)True als één van beide non-zero(A || B) = true
! (logical NOT)Keert logische state om!(A && B) = true

Assignment Operators

OperatorBeschrijvingVoorbeeld
=Simpele toewijzingC = A + B
+=Add AND assignC += A ≡ C = C + A
-=Subtract AND assignC -= A ≡ C = C - A
*=Multiply AND assignC *= A ≡ C = C * A
/=Divide AND assignC /= A ≡ C = C / A
%=Modulus AND assignC %= A ≡ C = C % A
<<=Left shift AND assignC <<= 2 ≡ C = C << 2
>>=Right shift AND assignC >>= 2 ≡ C = C >> 2
&=Bitwise AND assignC &= 2 ≡ C = C & 2
^=Bitwise XOR assignC ^= 2 ≡ C = C ^ 2
|=Bitwise OR assignC |= 2 ≡ C = C | 2

Miscellaneous Operators

Conditional Operator ( ? : )

Ook ternary operator genoemd. Drie operanden, evalueert Boolean expressies. Beslist welke waarde aan variabele toegewezen wordt.

variable x = (expressie) ? waarde als true : waarde als false

Voorbeeld

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); // 30
    b = (a == 10) ? 20 : 30;
    System.out.println("Value of b is : " + b); // 20
  }
}

Output

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

instanceof Operator

Alleen voor object referentie variabelen. Controleert of object van een bepaald type (class/interface) is.

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

Als object IS-A check doorstaat voor type aan rechterkant, resultaat is true.

Voorbeeld

public class Test {
  public static void main(String args[]) {
    String name = "James";
    boolean result = name instanceof String;
    System.out.println(result); // true
  }
}

Output

true

Werkt ook voor assignment compatible types:

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

Output

true

Precedentie van Java Operators

Operator precedentie bepaalt groepering in expressies. Hogere precedentie = eerder geëvalueerd. Bijv. * heeft hogere precedentie dan +: x = 7 + 3 * 2 → x = 13, niet 20.

CategorieOperatorAssociativiteit
Postfixexpr++ expr--Links naar rechts
Unary++expr --expr +expr -expr ~ !Rechts naar links
Multiplicative* / %Links naar rechts
Additive+ -Links naar rechts
Shift<< >> >>>Links naar rechts
Relational< > <= >= instanceofLinks naar rechts
Equality== !=Links naar rechts
Bitwise AND&Links naar rechts
Bitwise XOR^Links naar rechts
Bitwise OR|Links naar rechts
Logical AND&&Links naar rechts
Logical OR||Links naar rechts
Conditional?:Rechts naar links
Assignment= += -= *= /= %= ^= |= <<= >>= >>>=Rechts naar links

Wat Volgt?

Volgende hoofdstuk: loop control in Java. Verschillende lussen en hun gebruik in programmaontwikkeling.

Java

  1. Java-operators beheersen: typen, syntax en praktische voorbeelden
  2. Java Input & Output beheersen: printen, lezen en formatteren
  3. Java-commentaar: typen, gebruik en best practices
  4. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  5. Java Strings beheersen: aanmaken, methodes en best practices
  6. Java interfaces meesteren: concepten, implementatie en best practices
  7. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  8. Java Try-with-resources meesteren: automatische resource management uitgelegd
  9. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  10. Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
  11. Java Vector begrijpen: Gebruik, Kenmerken en Vergelijking met ArrayList