Java-kielen perusteet

Samankaltaiset tiedostot
Java-kielen perusteet

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

7. Näytölle tulostaminen 7.1

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Java-kielen perusteita

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Java-kielen perusteita

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

13. Loogiset operaatiot 13.1

Muuttujat ja kontrolli. Ville Sundberg

Metodien tekeminen Javalla

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Java-kielen perusteet

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

13. Loogiset operaatiot 13.1

11. Javan valintarakenteet 11.1

Ohjelmoinnin perusteet Y Python

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva

6. Muuttujat ja Java 6.1

1. Omat operaatiot 1.1

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

17. Javan omat luokat 17.1

Python-ohjelmointi Harjoitus 2

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Ohjelmoinnin perusteet Y Python

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Ehto- ja toistolauseet

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Ohjelmoinnin peruskurssi Y1

11. Javan valintarakenteet 11.1

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Ohjelmoinnin peruskurssi Y1

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

12. Javan toistorakenteet 12.1

Ohjelmoinnin peruskurssi Y1

1. luento. Ohjelmointi (C) T0004 Syksy luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Taulukoiden käsittely Javalla

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Ohjelmointiharjoituksia Arduino-ympäristössä

12. Javan toistorakenteet 12.1

Taulukot. Jukka Harju, Jukka Juslin

11. Javan toistorakenteet 11.1

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Sisältö. 2. Taulukot. Yleistä. Yleistä

812341A Olio-ohjelmointi, Olio-ohjelmoinnin peruskäsitteet ja Java-kieli

1. ohjelman selitystä Muutamien ohjelman yksityiskohtien läpikäyntiä

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

Sisältö. 22. Taulukot. Yleistä. Yleistä

19. Olio-ohjelmointia Javalla 19.1

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Java-kielen perusteet

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Ohjelmoinnin peruskurssi Y1

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Listarakenne (ArrayList-luokka)

Rajapinta (interface)

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1

Ehto- ja toistolauseet

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

17. Javan omat luokat 17.1

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

ITKP102 Ohjelmointi 1 (6 op)

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

14. Hyvä ohjelmointitapa 14.1

Tietotyypit ja operaattorit

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjelmoinnin peruskurssi Y1

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2

Olio-ohjelmointi Javalla

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Ohjelmointi 2 / 2010 Välikoe / 26.3

5. HelloWorld-ohjelma 5.1

Mitä poikkeuskäsittely tarkoittaa?

Java-kielen perusteita

7. Oliot ja viitteet 7.1

ITKP102 Ohjelmointi 1, syksy 2007

9. Periytyminen Javassa 9.1

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

9. Periytyminen Javassa 9.1

4. Luokan testaus ja käyttö olion kautta 4.1

5/20: Algoritmirakenteita III

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Transkriptio:

Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1

Tunnus Java tunnus Java-kirjain Java-numero 2

Tunnus jatkuu.. Java-kirjain { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, å, ä, ö, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, Å, Ä, Ö, $, _ } Java-numero { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } Esim. int tama_on_java_tunnus8; 3

Varattu sana Varatuilla sanoilla ilmaistaan ohjelmointikielen toimenpiteitä eli lauseita ja muita rakenteita. Javan varattuja sanoja ovat mm. if, while, break, for, true, false, null, jne 4

Kommentti Kommentit (selitteet, huomautukset) ovat ohjelmatekstiin kirjoitettuja selityksiä. Ne eivät vaikuta ohjelman toimintaan. Kommenttien tarkoitus on auttaa ohjelmoijaa ja ohjelman ylläpitäjää ymmärtämään ohjelman rakennetta ja toimintaa. 5

Kommentti jatkuu Javassa kommenttien ilmaisemiseen on kaksi tapaa: // Tässä on yhden rivin kommentti /* Tämä kommentti puolestaan jatkuu ja jatkuu,...,., kunnes tulee vastaan merkkiyhdistelmä: */ 6

Muuttuja (5.4.1) Muuttuja on ohjelman varaama muistipaikka, johon voidaan tallentaa yksittäisiä tietoja. Muuttujalle annetaan nimi ja tietotyyppi, joka kertoo millaista tietoa voi tallentaa ko. muuttujaan eli muistipaikkaan. Muuttuja on määriteltävä ohjelmassa ennen kuin sitä voi käyttää. 7

Muuttujan määrittely (5.4.1) Yksi muuttuja, syntaksi: tai tietotyyppi tietotyyppi muuttujan_nimi; muuttujan_nimi = alkuarvo; Monta muuttujaa, joiden tyyppi on sama, syntaksi: tietotyyppi tai tietotyyppi muuttujan_nimi, muuttujan_nimi2, muuttujan_nimi3; muuttujan_nimi = alkuarvo, muuttujan_nimi2, muuttujan_nimi3 = alkuarvo; 8

tietotyyppi muuttujan_nimi ; Muuttujan nimi noudattaa Javan tunnusstandardia Käytämme nimistandardia, jossa muuttujan nimi alkaa aina pienellä alkukirjaimella. yhdistelmänimien jälkiosat alkavat isolla alkukirjaimella. Esim. int lkm; boolean rivilöytyi; 9

tietotyyppi muuttujan_nimi; // alkeistietotyypit Muuttujan tietotyyppi ilmaisee, minkä tyyppistä tietoa voidaan sijoittaa muuttujaan Kokonaisluvut: byte, arvoalue: -128 127 ( 8 bittiä) short, arvoalue: -32 768 32 767 (16 bittiä) int, arvoalue: -2 147 483 648 2 147 483 647 (32 bittiä) long, arvoalue: -9 223 372 036 854 775 808 9 23 372 036 854 775 807 (64 bittiä) Desimaaliluvut: double arvoalue: -1.79769 *10 308 1.79769 *10 308 (64 bittiä) float arvoalue: -3.4028234*10 38 3.4028234*10 38 (32 bittiä) 10

tietotyyppi muuttujan_nimi; // alkeistietotyypit jatkuu Totuusarvo: boolean Yksi merkki: char true tai false yksi merkki (16 bittiä) Esim. boolean löytyi = false; char merkki = K ; int luku = 34; double dluku = 45.67; 11

tietotyyppi muuttujan_nimi; //viittaustyypit Javan alkeistietotyyppeihin ei kuulu merkkijono-tyyppiä, mutta kieleen on tehty merkkijono-luokka String String-tyyppinen muuttuja on ns. viittausmuuttuja, eli muuttujan arvo on viittaus olioon ( eli muuttujan arvo on String-olion muistipaikan numero) Esim. String kaupunki = Helsinki ; String nimi = Mika Waltari ; kaupunki: Helsinki nmi: Mika Waltari 12

tietotyyppi muuttujan_nimi = alkuarvo; Kun muuttuja määritellään, se voi saada myös ensimmäisen arvonsa eli alkuarvon. Alkuarvon on oltava samaa tyyppiä kuin muuttujan tyyppi. Alkuarvo voi olla: literaalivakio, nimetty vakio, lauseke, jolloin lausekkeen arvo ratkaistaan ja sijoitetaan muuttujan arvoksi alkuarvon saanut muuttuja 13 Ohjelmointi - Kai Kivimäki, Seija Lahtinen

tietotyyppi muuttujan_nimi = alkuarvo; jatkuu Esim. int luku1 = 2; luku1: 2 int luku2 = 4; luku2: int summa = luku1 + luku2; 4 summa: 6 int tulos = (3 + luku2) * 7 23; tulos: 26 String mjono = Libretto + + Cavaletto ; mjono: Libretto Cavaletto 14

Tietotyyppi muuttujan_nimi = alkuarvo; //Literaalivakio Literaalivakiolla tarkoitetaan ohjelmatekstiin kirjoitettua vakiota, esim. 3.14, true, L, Koira, Hello world,..., jolla ei ole nimeä Vakion perään voidaan kirjoittaa tietty kirjan, jolloin vakion tietotyyppi määrätään Esim. long luku = 99999999945L; 15

Tietotyyppi muuttujan_nimi = alkuarvo; //Literaalivakio jatkuu literaalivakio tietotyyppi 12 Kokonaisluku, int 12L tai 12l Kokonaisluku, long 12.6 Desimaaliluku, double 12.6F tai 12.6f Desimaaliluku, float true Totuusarvo, boolean false Totuusarvo, boolean k Merkki, char K Merkkijono, String kissa Merkkijono, String 16

Tietotyyppi muuttujan_nimi = alkuarvo; // Nimetty vakio Nimetty vakio on muuttuja, jonka arvo annetaan muuttujan määrittelyn yhteydessä, eikä arvoa voi enää muuttaa ohjelman aikana. Syntaksi: final tietotyyppi MUUTTUJAN_NIMI = arvo; Nimistandardin mukaan vakio kirjoitetaan suurin kirjaimin. Esim. final double PII = 3.14; final int VAKIOLUKU= 12345; final double R = 7.8; double sade = R; 17

Tietotyyppi muuttujan_nimi = alkuarvo; //lauseke Lauseke muodostuu operandeista ja operaattoreista. Lausekkeen operandit voivat olla vakioita, muuttujia, metodikutsuja, jne. Lausekkeen arvon tyyppi riippuu operandien tyypeistä, eli jos lausekkeessa on yksikin desimaalityyppinen arvo, lausekkeen tyyppi on desimaalinen. Lausekkeen arvon laskemisen järjestystä voidaan vaihtaa sulkeiden avulla. 18

Tietotyyppi muuttujan_nimi = alkuarvo; //lauseke jatkuu Aritmeettiset operaattorit: + yhteenlasku - vähennyslasku * kertolasku / jakolasku tai kokonaisjako, kun operandit ovat kokonaislukutyyppiä % jakojäännös, toimii vain operandeilla, jotka ovat kokonaislukutyyppiä 19

Tietotyyppi muuttujan_nimi = alkuarvo; //lauseke jatkuu Esim. int osamaara = 34 / 3; int jakojaannos = 34 % 3; double osa = 55 / 7; double osa2 = 55.0 / 7; osamaara: 11 jakojaannos: 1 osa: 7.0 osa: 7.8571428 int a = 45 + 89 * 0 34; a: 11 double b = 3.4 * (4 + 5); b: 30.6 20

Tietotyyppi muuttujan_nimi = alkuarvo; //lauseke jatkuu Vertailuoperaattorit: == yhtäsuuri kuin <= pienempi ta yhtäsuuri kuin >= suurempi tai yhtäsuuri kuin < pienempi kuin > suurempi kuin!= eirsuuri kuin Vertailulausekkeen arvo on totuusarvo eli true tai false 21

Tietotyyppi muuttujan_nimi = alkuarvo; //lauseke jatkuu Esim. int luku1 = 7, luku2 = 8; luku1: luku2: 7 8 boolean samat = luku1 == luku2; samat: false boolean erit = luku1!= luku2; erit: true Ohjelmointi - Kai Kivimäki, Seija Lahtinen 22

Loogiset operaattorit: && ja tai! ei Tietotyyppi muuttujan_nimi = alkuarvo; //lauseke jatkuu Käytetään vain vertailulausekkeiden yhteydessä Operaation tulos on looginen arvo true tai false Esim. int vuosi= 2004; boolean karkausvuosi = (vuosi % 400 == 0 ) (vuosi % 4 == 0 && vuosi % 100!= 0); Karkausvuosi: true 23

tietotyyppi muuttujan_nimi = alkuarvo; // alkuarvon saanut muuttuja Jos muuttujat ovat samaa tietotyyppiä tai vähemmän tilaa vievän muuttujan arvo sijoitetaan enemmän tilaa vievään muuttujaan, järjestelmä tekee tyyppimuunnoksen itse. Esim. int a = 78; int b = a; double d = a; a: 78 b: 78 d: 78.0 double float long int short char byte char merkki = k ; int koodi = merkki; merkki: k koodi: 107 24

tietotyyppi muuttujan_nimi = alkuarvo; // alkuarvon saanut muuttuja jatkuu Sijoitettavan tiedon arvosta voi pudota tietoa, kun sijoitus tehdään eri tyyppiseen muuttujaan. Tässä tilanteessa tarvitaan pakotettu tyyppimuunnos Syntaksi: (uusi tyyppi) muuttuja Esim. int a = 89; short b = (short) a; a: 89 b: 89 double c = 89.89; int d = (int) c; c: 89.89 d: 89 25

Muuttujan määrittely esimerkki public class EsimerkkiOhjelma { public void aja(){ // muuttujien määrittelyt // muuttujien arvoiksi literaalivakiot int luku = 23; long luku1 = 56789999L; double dluku = 4.5; boolean ok = true; // nimettyjen vakioiden määrittely final int VAKIO = 67; final double PII = 3.14; // muuttujien arvoiksi nimetyt vakiot int sade = VAKIO; double pii = PII; 26

Muuttujan määrittely esimerkki jatkuu // muuttujien arvoiksi lausekkeet int luku2 = luku*vakio-5 + luku/vakio+3; double ympyranala = sade*sade*pii; boolean totuus = luku1 < luku2; // muuttujien arvoiksi alkuarvon saaneet muuttujat double dluku1 = luku; // tyyppimuunnos int luku3 = (int)dluku; } // end of aja() public static void main(string[] args) { EsimerkkiOhjelma e = new EsimerkkiOhjelma(); e.aja(); } // end of main } // end of class 27

Muuttujat ja niiden näkyvyys (5.4.1) Muuttuja määritellään lohkossa, jossa sitä käytetään Muuttujaa voidaan käyttää ko. lohkossa ja myös lohkon sisäkkäisissä lohkoissa. Lohko alkaa { ja päättyy }. public void aja() { // muuttujien määrittely int luku1 = 4; int luku2 = luku1; double dluku1 = 6.7; double dluku2 = dluku1 + luku1+luku2;... } 28

Tiedon merkkipohjainen tulostaminen Tulostuslause: println System.out. ( lauseke ) print + ; Tulostuslauseen päättää aina puolipiste. Tulostettavan lausekkeen arvo ratkaistaan ja se tulostetaan merkkimuotoisena kuvaruudulle. 29

Tiedon merkkipohjainen tulostaminen jatkuu System.out.print ( ); ei tee rivinvaihtoa kirjoittamisen jälkeen seuraava tulostus tulostuu samalle riville edellisen perään. System.out.println ( ); tekee rivinvaihdon kirjoittamisen jälkeen seuraava tulostus tulostuu uuden rivin alkuun. 30

Tiedon merkkipohjainen tulostaminen jatkuu a) jokaiselle lausekkeelle oma tulostuslause Esim. double pituus = 172.5; System.out.print ( Pituutesi on ); System.out.print (pituus); System.out.println ( m ); tulostuu: Pituutesi on 172.5 m b) yksi tulostuslause, välimerkkinä + -merkki Esim. double pituus = 172.5; System.out.println ( Pituutesi on +pituus + m ); tulostuu: Pituutesi on 172.5 m 31

Tiedon merkkipohjainen tulostaminen jatkuu Tyhjän rivin tulostaminen: System.out.println ( ); // mikäli edellinen tulostuslause on // vaihtanut riviä System.out.println ( ); // mikäli edellinen tulostuslause ei System.out.println ( ); //vaihda riviä System.out.print ( \n ); // tulostetaan rivinvaihtomerkki 32

public class EsimerkkiOhjelmaB { Muuttujat ja tulostus esimerkki public void aja() { int luku = 23; double dluku = 45.67; final double PII = 3.14; boolean ok = luku < dluku; // tulostus / yksi lauseke System.out.print("luku = "); System.out.println(luku); // tulostuu: luku = 23 System.out.print("dluku = "); System.out.println(dluku); // tulostuu: dluku = 45.67 33

Muuttujat ja tulostus esimerkki jatkuu // tulostus / monta lausetta System.out.println("vakio PII = " + PII + "\nok = " + ok); // tulostuu: vakio PII = 3.14 // ok = true } public static void main(string[] args) { EsimerkkiOhjelmaB e = new EsimerkkiOhjelmaB(); e.aja(); } } 34