Operator

Iz MaFiRaWiki

GFDL Avtor tega članka je študent/ka JozePremru.

Pripravil/a ga je pri predmetu Računalništvo 2 (FMF PRA).


Kljub temu ste vsi vabljeni k urejanju in popravkom, saj je bistvo wikija ravno v sodelovalnem delu.


Vsebina

Operator

Operatorji omogočajo spreminjanje in medsebojno primerjanje operandov, tj. količin (spremenljivke, konstante,...), nad katerimi izvajamo različne operacije. V Javi opazimo naslednje osnovne skupine:

  • aritmetični operatorji
  • prireditveni operatorji
  • primerjalni operatorji
  • logični operatorji
  • drugi operatorji


Aritmetični operatorji

Aritmetični operatorji operirajo s številčnimi vrednostmi, pa naj bodo to spremenljivke ali konstante. Osnovni operatorji seštevajo ( + ), odštevajo ( - ), množijo ( * ) in delijo ( / ) realna ali cela števila.

Operator za ostanek pri deljenju- % je operator, ki ob deljenju dveh števil vrne celoštevilski ostanek deljenja. Pri deljenju števil 11 in 2 ( to zapišemo v obliki 11%2 ) je rezultat enak 1( 11 / 2 = 5 + 1 ).

  1. public class Operatorji1{
  2. public static void main(String args[]){
  3. int a1, a2,a3,a4,a5;
  4. int b1=5;
  5. //standardni operatorji
  6. a1=5+7;
  7. a2=7-5;
  8. a3=7*5;
  9. a4=7/5;
  10. a5=7%5;
  11.  
  12. //Krajsi zapisi b1=b1-a2
  13. b1-=a2;
  14.  
  15. System.out.println(a1);
  16. System.out.println(a2);
  17. System.out.println(a3);
  18. System.out.println(a4);
  19. System.out.println(a5);
  20. System.out.println(b1);
  21. }
  22. }

Izpis:

>java Operatorji1
12
2
35
1
2
3


Večanje ( ++ )

Operator večanja uporabljamo v dveh oblikah, spremenljivka++ in ++spremenljivka. Operator v obeh primerih poveča vrednost spremenljivke za ena. Ko se operator nahaja za operandom, ohrani leva spremenljivka vrednost pred povečanjem, desna spremenljivka pa se poveča za 1. Če je operator pred operandom, prevzame leva spremenljivka vrednost povečane, desne spremenljivke.

Manjšanje ( -- )

Operator manjšanja uporabljamo za zmanjšanje vrednosti operanda. Tudi v tem primeru imamo na voljo dva postopka, spremenljivka- -, - -spremenljivka. Spremenljivka se obnaša podobno kot v operandu ++.


Prireditveni operatorji

Prireditveni operator priredi vrednost desne strani enačbe spremenljivki na levi strani. Pravzaprav je to enačaj, ki smo ga spoznali v zgornjem primeru ( a1=5+7 ).

Poleg tega operatorja poznamo v Javi še nekaj "prireditvenih" operatorjev, ki pa so v bistvu le okrajšave za nekatere matematične funkcije.

Krajši zapis Matematična funkcija
x+=y x=x+y
x-=y x=x-y
x*=y x=x*y
x/=y x=x/y
x%=y x=x%y
x<<=y x=x<<y
x>>=y x=x>>y
x&=y x=x&y
x^=y x=x^y
x|=y x=x|y


Primerjalni operatorji

S primerjalnimi operatorji primerjamo dva operanda. Rezultat primerjave je logična vrednost resnično (true) ali neresnično (false). Najpogosteje se z njimi srečujemo v zankah ali pogojnih stavkih.

Pomen Operand Razlaga
Enako(Equal) == Operator vrne vrednost resnično(true), kadar sta oba operanda enaka.
Različno(Not equal) != Pogoj je resničen, če sta operanda različna.
Večje > Operator vrne resnično, če je levi operand večji od desnega.
Večje ali enako >= Operator vrne resnično, če je levi operand večji ali enak desnemu.
Manjše < Operator vrne resnično, če je levi operand manjši od desnega.
Večje ali enako <= Operator vrne resnično, če je levi operand manjši ali enak desnemu.

  1. public class Operatorji2{
  2. public static void main(String args[]){
  3. int a=5, b=5, c=10;
  4.  
  5. System.out.println("a=" +a);
  6. System.out.println("b=" +b);
  7. System.out.println("c=" +c);
  8. System.out.println("a == b=" +(a == b));
  9. System.out.println("a != c=" +(a != c));
  10. System.out.println("a > c=" +(a > c));
  11. System.out.println("c >= b=" +(c >= b));
  12. System.out.println("a < c=" +(a < c));
  13. System.out.println("a <= b=" +(a <= b));
  14. }
  15. }

Izpis:

> java Operatorji2
a=5
b=5
c=10
a == b=true
a != c=true
a > c=false
c >= b=true
a < c=true
a <= b=true

Logični operatorji

Z logičnimi operatorji izvajamo operacije nad logičnimi vrednostmi. Rezultat je lahko resničen (true) ali neresničen (false). Pogosto si z njimi pomagamo v pogojnih stavnkih, npr:

Če je (a večji od b) in (c večji od d) potem izvedi ukaz...

V našem primeru je logični operator in, ki primerja pravilnosti prve in druge trditve. Če bi bili obe trditvi resnični, bi program izvedel nek poljuben ukaz.

Operator In (&&)

Logični operator && vrne vrednost resnično, kadar sta obe vrednosti oz. pogoja resnična. Če ima naša spremenljivka x1 vrednost 2, in postavimo pogoj:

Če je spremenljivka x1 večja od 1 in manjša od 3:

if ( x1 > 1 && x1 < 3 )

potem bo vrednost resnična ( true ), saj je x1 večji od 1 in manjši od 3. Če bi bila vrednost spremenljivke 0, bi bila vrnjena vrednost neresnična, saj prvi in drugi pogoj nista v celoti izpolnjena.

Operator Ali (||)

Logični operator ali vrne vrednost true, kadar je vsaj eden izmed pogojev resničen.

if ( x1 < 3 || x1 > 13 )

Ko dodelimo spremenljivki x1 vrednost 2, je vrnjena vrednost izraza true, saj je eden izmed pogojev ( x1 < x3 ) izpolnjen.

Operator Ni (!)

Logični operator negacije je unarni operator, ki negira vrednost operanda. Vrednost true tako postane false in nasprotno.


Drugi operatorji

Operator niza

Za operacije nad nizi lahko uporabimo t.i. združitveni operator ( + ). Z njim združimo več nizov v enega.

Opomba: Združevanje številčnih spremenljivk z nizom je dovoljeno le v primeru prikazovanja na zaslonu.

  1. public class Operatorji3{
  2. public static void main(String args[]){
  3.  
  4. String niz1= "Danes je lep soncen dan.";
  5. String niz2= " Res je!";
  6. System.out.println(niz1+niz2);
  7. }
  8. }

Izpis:

>java Operatorji3
Danes je lep soncen dan. Res je!

Pogojni logični operator(?:)

Pogojni logični operator, imenovan tudi trojni operator, operira z enim pogojem in dvema izrazoma.

Ko podamo mnenje o tem, ali je neka oseba pametna ali neumna, preverimo njen intelegenčni kvocient. Za mejo vzemimo 120.

Oseba = (IQ > 120) ? "pametna" : "neumna"

Če je pogoj izpolnjen, oz. ko je kvocient večji od 120, vrne operator prvo vrednost (pametna), v nasprotnem pa drugo (neumna).


Glej tudi

Osebna orodja