ALOITTELIJAN JAVA-OPAS


3. Tiedon käsittely

Java sisältää monenlaisia operaattoreita tiedon käsittelyyn, vertailuun ja laskutoimitusten suorittamiseen. Eri tyyppiset operaattorit voidaan jakaa viiteen eri kategoriaan, jotka ovat :

  • aritmeettiset operaattorit

  • sijoitusoperaattorit

  • vertailuoperaattorit

  • relaatio-operaattorit

  • tyyppimuunnosoperaattorit

Lisäksi java sisältää myös muutamia muita operaattoreita jotka eivät varsinaisesti kuulu mihinkään edellämainituista kategorioista, kuten operaattorit bittioperaatioille. Seuraavissa kohdissa kerrotaan tarkemmin kunkin kategorian operaattoreista ja listataan kunkin kategorian sisältämät java-kielen tukemat operaattorit.

3.1 Aritmeettiset operaattorit

Javan sisältämät aritmeettiset operaattorit kaikille kokonais-ja liukuluvuille ovat :

+ : Lisäysoperaattori
- : Vähennysoperaattori
* : Kertolaskuoperaattori
/ : Jakolasku (div) operaattori
% : Jakojäännös (mod) operaattori

Operaattorit '++' ja '--' voidaan suorittaa joko alkuliitteenä tai loppuliitteenä, jolloin arvon lisääminen tai vähentäminen tapahtuu joko ennen tai jälkeen varsinaisen arvon muuttumista. Aritmeettisia operaattoreita voidaan myäs yhdistellä sijoitusoperaattoreihin, jolloin sekä sijoitus että laskuoperaatio voidaan suorittaa yhdellä varsinaisella operaattorilla. Näitä yhdistelmäoperaattoreita tarkastellaan tarkemmin sijoitusoperaattoreiden osiossa.

Esimerkki : Aritmeettisten operaattoreiden käyttö.

	//Esitellään kokonaislukumuuttujat joille operaatiot suoritetaan.

        int luku1 = 1;
        int luku2 = 50;
        int luku3 = 10;

	//Suoritetaan aritmeettisia operaatioita muuttujille
        
        luku1 = luku1 + luku2; // --> luku1 = 1 + 50 = 51
        luku1 = luku1 - luku3; // --> luku1 = 51 - 10 = 41
        luku1 = luku1 + (luku2 * 10); // --> luku1 = 41 + (50 * 10) = 541
        luku1++; // --> luku1 = 541+1
        luku1 = luku1 / 2; // --> luku1 = 542 / 2 = 271
        luku2 = luku2 % luku3; // --> luku2 = 50 % (jakojäännös) 10 = 0

	//Lisäys ja vähennysoperaattorit ++ ja -- etuliitte-ja jälkiliite versioina

        luku1++;
        ++luku1;

Javan sisältämä luokka math pitää sisällään lisää aritmeettisia operaatioita kuten neliöjuuri-ja eksponenttifunktiot. Lisätietoa ja tarkemmat kuvaukset luokan sisältämistä aritmeettisista operaattoreista voi etsiä sivulta :

Java 1.4 API - sun microsystems

3.2 Sijoitusoperaattorit

Java sisältää varsinaisesti vain yhden tavalisen sijoitusoperaattorin ('='), muut sijoitusoperaattorit ovat ns. yhdistelmäoperaattoreita joissa yhdistyvät sijoitusoperaattori ja jokin toinen operaattori, kuten aritmeettinen operaattori tai looginen operaattori. Sijoitusoperaattoreiden avulla voidaan sijoittaa esimerkiksi arvo muuttujalle, sijoittaa muuttujan arvo toiseenmuuttujaan tai tallentaa jonkin operaation tulos tiettyyn muuttujaan. Luvun lopussa annetaan tarkempia esimerkkejä sijoitusoperaattoreiden käytöstä.

Javan tukemat sijoitus-ja yhdistelmäoperaattorit ovat :

= : (x = y) = x saa arvokseen y:n arvon
+= : (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

Bittiyhdistelmäoperaattorit :

&= : (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

Ensimmäisenä luetellut aritmeettiset yhdistelmäoperaatiot ovat, kuten kuvauksestakin käy ilmi, lähinnä lyhyempi tapa kirjoittaa varsinainen aritmeettinen lause ja siihen liittyvä sijoitusoperaattori. Bittioperaattoreihin emme tässä perustason oppaassa perehdy sen tarkemmin.

Esimerkki : Sijoitus-ja yhdistelmäoperaattoreiden käyttö

	//Esitellään kokonaislukumuuttujat joille operaatiot suoritetaan.
	//esittelyssä nähdään myös normaali sijoitusoperaatio, jossa
	//esitellylle kokonaisluvulle sijoitetaan alkuarvo.

        int luku1 = 1;
        int luku2 = 5;
        int luku3 = 3;

	//Suoritetaan sijoitusoperaatioita muuttujille
        
        luku1 += luku2; // luku1 = luku 1 + luku2
        luku1 -= luku3; // luku1 = luku1 - luku3
        luku1 *= luku2; // luku1 = luku1 * luku2
        luku1 /= 2; // luku1 = luku1 / luku2
        luku2 %= luku3; //luku2 = luku2 % luku3

3.3 Vertailuoperaattorit ja relaatio-operaattorit

Vertailuoperaattorit tutkivat kahden arvon välistä suhdetta, ja palauttaa operaattorista riippuen joko 'tosi' tai 'epätosi'. Esimerkiksi operaattori '!=' palauttaa negatiivisen tuloksen jos kaksi vertailtavaa arvoa ovat yhtä suuria. Relaatio-operaattoreita käytetään yleisimmin vertailuoperaattoreiden kanssa, kun halutaan muodostaa monipuolisempia ehtolausekkeita tai yhdistellä eri lauseiden ehtoja relaation avulla.

Javan tukemat vertailuoperaattorit ja relaatio-operaattorit ovat :

Vertailuoperaattorit

> :suurempi kuin
>= :suurempi tai yhtäsuuri kuin
< :pienempi kuin
<= :pienempi tai yhtäsuuri kuin
== :yhtäsuuri
!= :erisuuri

Relaatio-operaattorit

& tai && :looginen JA (AND)
| tai || :looginen TAI (OR)
! :looginen EI (NOT)
^ :looginen VAIN JOS (XOR)

Jälkimmäisenä esitellyillä relaatio-operaattoreilla voidaan käsitellä myös bittejä loogisilla operaatioilla (bitwise AND / OR / NOT / XOR). Vertailuoperaattoreiden ja relaatio-operaattoreiden yhdistelmillä voidaan myös luoda hyvinkin monimutkaisia ehtolausekkeita ohjelman ohjaamiseksi ja tiedon vertailemiseksi.

Esimerkki : vertailu-ja relaatio-operaattoreiden käyttö

	//Muutamia esimerkkejä ehtolauseista ja ehtojen
	//yhdistelemisestä loogisten operandien avulla

	if (a <= b) //Jos a on pienempi tai yhtäsuuri kuin b 
	  a = 1;

	if (a > b)  //Jos a on suurempi kuin b 
	  b = 1337;

	if (luku == luku2)  //Jos luku on yhtäsuuri kuin luku2
	  doSomethingFun();

	if (kissa != koira) //Jos kissa on erisuuri kuin koira
	  doMeow();

	if (a & b) //Jos a ja b ovat tosia

	if (a | b) //Jos a tai b on tosi
        
	if (!a)           //Jos a ei ole tosi

	if (!a) and (b | c) or (c & d)
	  //jos a ei ole tosi ja b tai c on tosi, tai c ja d ovat tosia

3.4 Tyyppimuunnosoperaattorit

Java on vahvasti tyypitetty kieli, joka tarkistaa käytettyjen argumenttien yhteensopivuuden jo ohjelman käännösvaiheessa. Käytettäessä keskenään epäyhteensopivia objekteja tulee suorittaa tyyppimuunnos. Oliolle suoritetaan tyyppimuunnos komennolla :

(tyyppi) muunnettava

Sulkujen sisään sijoitetaan tyyppi johon muunnettava tyyppi halutaan muuntaa, ja muunnettava-sanan tilalle arvo joka halutaan muuntaa haluttuun muotoon.

Esimerkki : tyyppimuunnos

	//Tyyppimuunnoksia lukuarvoilla
	
	liukuluku = (float) 3 / 2; //Muunnetaan laskutoimituksen 3 / 2 arvo liukuluvuksi
	kokonaisluku = (int) liukuluku //Muunnetaan luotu liukuluku kokonaisluvuksi	


Tietojärjestelmien dokumentointi 2005 | Aloittelijan JAVA-opas


Valid CSS!