1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla sijoitetaan ja lasketaan Miten desimaaliluku muotoillaan 1 Ohjelmointi IPO-malli Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi näppäimistö kamera näyttö tulostin 1
2 Java - lähdekoodista suoritettavaksi ohjelmaksi Työvaiheet ohjelmoija saa työksiannon, suunnitelman suunnittelee ohjelman toiminnan toimintalogiikka koodataan javalla,.java javakielinen ohjelma annetaan kääntäjälle tarkistettavaksi ja käännettäväksi,.class suoritin toteuttaa ohjelman Ohjelmoija Java kääntäjä Suoritin 2 Vakio final tietotyypi NIMI = arvo; final double PALKKIO = 3.44; Käytetään säilyttämään tietoa, mitä ohjelma ei muuta. Kalvolla 4 on mahdollisia tietotyyppejä. Vakion tunnus (nimi) kirjoitetaan suurilla kirjaimilla. Vakion tunnus alkaa kirjaimella, muut merkit kirjaimia (skandeja ei suositella), numeroita tai _. Vakio näkyy vain sille lohkolle {, mihin se on esitelty. 4
3 Muuttuja tietotyypi nimi; tietotyyppi nimi = alkuarvo; double myyntihinta, palkkio = 0; int ika; Käytetään mm. käyttäjän antamien tietojen säilyttämiseen ja laskutuloksen säilyttämiseen. Kalvolla 4 on mahdollisia tietotyyppejä. Muuttujan tunnus (nimi) kirjoitetaan pienillä kirjaimilla (usea sana, sanan eka kirjain suurella esim. hintayhteensa). Muuttujan tunnus alkaa kirjaimella, muut merkit kirjaimia (skandeja ei suositella), numeroita tai _. Muuttuja näkyy vain sille lohkolle {, mihin se on esitelty. 5 Tietotyyppejä Tietotyyppi Selitys Arvoalue byte tavu -128 127 short lyhyt kok.luku -32768-32767 int tav. kok.luku -2147483648-2147483647 long pitkä kok. luku -2 63 2 63-1 double tarkka liukuluku char Unicode-merkki kaikki merkit boolean boolean-tyyppi true tai false! Huom. double on eri kuin Double 6
4 Sijoituslause Muuttujalle arvon antaminen double palkkio; int ika; palkkio = 0.0; ika = 21; tai double palkkio = 0.0; int ika = 21; desimaaliluvun arvo annetaan pisteellä (.) 7 Laskeminen + yhteenlasku ++ kasvatus yhdellä - Vähennyslasku -- vähennys yhdellä * kertolasku / jakolasku % jakojäännös Jos kaksi kokonaislukua jaetaan tulos on kokonaisluku double vastaus = 1 / 2; => 0 double vastaus = (double)1 / 2; => 0.5 Jakojäännös kertoo jakolaskun jakamattoman osan int jaannos = 10 % 4; => 2 8
5 Tiedon näyttäminen käyttäjälle Kirjoitetaan konsoliin vakiotekstiä/muuttujien arvoja Lainausmerkeissä on vakioteksti, +:lla liitetään vakioiden/muuttujien arvoja System.out.print("Anna asunnon myyntihinta: "); ei laita loppuun rivinvaihtoa tekstin näyttäminen System.out.println("Myyntipalkkio on " + palkkio + " euroa"); laittaa loppuun rivinvaihdon tekstin näyttäminen muuttujan arvon näyttäminen 9 Käyttäjän syötteen lukeminen Luetaan konsolista käyttäjän antama syöte. Ohjelman alkuun täytyy importoida java.util.scanner double myyntihinta; luodaan Scanner System.out.print("Anna myyntihinta: "); myyntihinta = input.nextdouble(); int ika; luetaan Scannerilla konsolista desimaaliluku. Käyttäjä antaa desimaalit desimaalipilkulla (,) eikä desimaalipisteellä. System.out.print("Anna ikä: "); ika = input.nextint(); luetaan Scannerilla konsolista kokonaisluku 10
6 package viikko1ja2; import java.util.scanner; public class AsunnonMyynti { public static void main(string[] args) { final double PALKKIOPROSENTTI = 3.44; double myyntihinta, palkkio; System.out.print("Anna myyntihinta: "); Tee ohjelma, joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavan välityspalkkion. Välityspalkkion on 3.44% myyntihinnasta. vakio desimaaliluku muuttuja desimaaliluku konsoliin kirjoittaminen myyntihinta = input.nextdouble(); konsolista lukeminen palkkio = myyntihinta * (PALKKIOPROSENTTI / 100); System.out.println("Myyntipalkkio on " + palkkio); vastauksen kirjoittaminen konsoliin laskeminen 11 Miten desimaaliluku muotoillaan Ohjelman alkuun täytyy importoida java.text.decimalformat double korvaus = 123.7659; Luodaan muotoilumääre DecimalFormat desimaalit = new DecimalFormat("0.00"); System.out.println("Korvauksen määrä on " + desimaalit.format(korvaus) + " euroa"); Muotoillaan desimaaliluku Vastauksena on 123,77. Muotoilu tulee pyöristettynä. Muotoiluun tulee pilkku eikä piste, koska muotoilu tehdään lokalisoituna. 12
7 Tee ohjelma, joka kysyy ajetut kilometrit, laskee ja näyttää korvauksen määrän. package viikko1ja2; Kilometrikorvaus on 0.45 import java.util.scanner; euroa/kilometri. Näytä vastaus kahdella desimaalilla. import java.text.decimalformat; public class Kilometrikorvaus { public static void main(string[] args) { final double KILOMETRIKORVAUS = 0.45; int ajettu; double korvaus; muuttuja on desimaaliluku System.out.print("Anna ajetut kilometrit: "); ajettu = input.nextint(); muotoilun määrittäminen korvaus = ajettu * KILOMETRIKORVAUS; DecimalFormat desimaalit = new DecimalFormat("0.00"); System.out.println("Korvauksen määrä on " + desimaalit.format(korvaus) + " euroa"); 13 muotoilun tekeminen