Aritmeettiset operaattorit on tarkoitettu lukujen laskutoimituksiin. Java -kielessä on valmiina vain peruslaskutoimitukset. Lisää laskutoimituksia (mm. neliöjuuri ja potenssiinkorotus) löytyy Math –luokan valmiilla funktioilla. Peruslaskutoimitukset ovat
+ |
Yhteenlasku |
- |
Vähennyslasku |
* |
Kertolasku |
/ |
Jakolasku |
% |
Jakojäännös |
Seuraavaan taulukkoon on kerätty tärkeimmät laskuoperaattoreiden tuloksien tyypit. Paljon kattavampi taulukko löytyy Sunin Java –kielen dokumentaatiosta.
Operaattori | Operaatio | Operandien tyyppi | Tuloksen tyyppi |
+ | Yhteenlasku | int+int | int |
float+int, int+float float+float |
float | ||
- | Vähennyslasku | int – int | int |
int – float, float – int float – float |
float | ||
* | Kertolasku | int * int | int |
int*float, float*int float*float |
float | ||
/ | Jakolasku | int/int, int/float,
float/int, float/float |
float ( int/int antaa int !!!!! ) |
% | osamäärä | int % int | int |
Huomaa, että + operaattoria voidaan käyttää myös kahden merkkijonon välillä. Jakolaskun kanssa on oltava tarkkana. Kokeile kaikki eri mahdollisuudet (int/int, int/float, float/int, float/float) ja varmistu tuloksen tyypistä ja tarkkuudesta (katkaisu vai pyöristys?). Tuloksen tyyppi tulee aina tietää, jotta sijoitusyhteensopimattomuuden sudenkuopat osaisi jo etukäteen välttää. Suurimmat loogiset virheet usein aiheutuvat nimenomaan merkki ja numerotiedon tai int ja float tyypin sotkeentumisella. Tämä tapahtuu helposti nimenomaan metodikutsuparametreja pinottaessa. Tähän palaamme kurssin lopulla. Java –tulkki tarkistaa oletuksena sijoitusyhteensopivuuden ja ilmoittaa mahdollisista epäselvyyksistä virheilmoituksella
Esimerkki e12a
import Lue;
public class e12a
{ // kokeillaan jakolaskua ja jakojäännöstä
public static void main(String args[])
{
int i1, i2;
System.out.println(Anna kaksi kokonaislukua eri riveille);
i1 = Lue.kluku();
i2 = Lue.kluku();
System.out.println("Jakolasku: "+i1+"/"+i2+"="+i1/i2);
System.out.println("Jakojäännös: "+i1+"%"+i2+"="+i1%i2);
}
}