Operatorer i Java
För att göra beräkningar finns följande aritmetiska operatorer:
Namn
Syntax
Semantik
Exempel
additionsoperator,
a+b
strängsammanfogningsoperator
Summan av a och b, ifall båda är tal. Om någon av a och b är x=1+4;
x=”a”+4;
en sträng, blir resultatet den sammanfogade strängen.
x=4+”a”;
// x är nu 5
// x är nu ”a4”
// x är nu ”4a”
subtraktionsoperator
a-b
Differensen av a och b
x=5-7;
// x är nu -2
multiplikationsoperator
a*b
Produkten av a och b
x=5*8;
// x är nu 40
divisionsoperator
a/b
Kvoten av a och b. Om a och b är heltal, avrundas resultatet x=15/4;
neråt. Om någon av a och b är decimaltal (float eller double), är x=15.0/4;
x=15/4.0;
resultatet float resp. double, och då avrundas det inte.
restoperator, ”mod”-operator
a%b
Resten vid division av a med b. Förutsätter att a och b är heltal. x=15%4;
negationsoperator
-a
Minus a
// x är nu 3
// x är nu 3.25
// x är nu 3.25
// x är nu 3
x=1234%10; // x är nu 4
x=-15;
x=--15;
För att tilldela värden till variabler finns följande tilldelningsoperatorer:
Namn
Syntax
Semantik
// x är nu -15
// x är nu 15
Exempel
tilldelningsoperator
a=b
Sätter variabeln a till värdet av b
x=1+4;
// x är nu 5
ökningsoperator
a++
a=a+1
x=1;
x++;
// x är nu 2
minskningsoperator
a--
a=a–1
x=4;
x--;
// x är nu 3
ökningsoperator
a += b a = a + b
x=1;
x+=4;
// x är nu 5
minskningsoperator
a -= b a = a - b
x=1;
x-=4;
// x är nu -3
För att jämföra tal finns följande jämförelseoperatorer:
Namn
Syntax
likhetsoperator
Semantik
Exempel
// falskt
// sant
a == b Sant om a och b är lika. Två varningar: För objekt, såsom
strängar, använd i stället metoden equals(). För decimaltal
är det ofta dåligt att göra exakta jämförelser, eftersom dessa
inte alltid kan representeras exakt i datorn.
if (3==4)
if (3==3)
skilt från-operator
a != b Sant om a är skilt från b. Se varningarna ovan!
if (3!=4)
if (3!=3)
// sant
// falskt
större än eller lika-operator
a >= b Sant om a är större än eller lika med b
if (3>=4)
if (3>=3)
if (4>=3)
// falskt
// sant
// sant
mindre än eller lika-operator
a <= b Sant om a är mindre än eller lika med b
if (3<=4)
if (3<=3)
if (4<=3)
// sant
// sant
// falskt
större än-operator
a>b
Sant om a är större än b (och a och b är olika)
if (3>4)
if (3>3)
if (4>3)
// falskt
// falskt
// sant
mindre än-operator
a<b
Sant om a är mindre än b (och a och b är olika)
if (3<4)
if (3<3)
if (4<3)
// sant
// falskt
// falskt
String text = ”hej”;
if (text.equals(”hej”)) // sant
För att kombinera sanningsuttryck finns följande Boolska operatorer:
Namn
Syntax
Semantik
Exempel
och-operator
a && b Sant om a och b är sanna. Om a är falsk, så evalueras inte b.
if (3<4 && 5<6)
if (3<4 && 6<5)
if (4<3 && 5<6)
eller-operator
a || b Sant om a eller b är sann. Om a är sann, så evalueras inte b.
if (3<4 || 5<6)
if (4<3 || 6<5)
if (5/0==1)
inte-operator
!a
Sant om a är falskt
// sant
// falskt
// falskt
// sant
// falskt
// division med 0
// ger fel vid körning
if (3<4 || 5/0==1) // sant: eftersom 3<4
// utförs inte divisionen
if (!(3 < 4))
if (!(3 > 4))
// falskt
// sant