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

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

Java-kielen perusteet

Java-kielen perusteet

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

7. Näytölle tulostaminen 7.1

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

Java-kielen perusteita

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

Java-kielen perusteita

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

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

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

6. Muuttujat ja Java 6.1

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

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

Luokat ja oliot. Ville Sundberg

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

1. Omat operaatiot 1.1

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

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

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

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin peruskurssi Y1

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

Metodien tekeminen Javalla

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

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

6. Muuttujat ja Java 6.1

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

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

20. Javan omat luokat 20.1

Java-kielen perusteet

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

Olio-ohjelmointi Javalla

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

17. Javan omat luokat 17.1

13. Loogiset operaatiot 13.1

Ohjelmoinnin peruskurssi Y1

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

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

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

7/20: Paketti kasassa ensimmäistä kertaa

Ohjelmoinnin perusteet, syksy 2006

Ohjelmoinnin peruskurssi Y1

13. Loogiset operaatiot 13.1

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Muuttujat ja kontrolli. Ville Sundberg

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

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

Ohjelmointiharjoituksia Arduino-ympäristössä

Java-kielen perusteet

19. Olio-ohjelmointia Javalla 19.1

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 )

8. Näppäimistöltä lukeminen 8.1

14. Hyvä ohjelmointitapa 14.1

Ohjelmoinnin perusteet Y Python

9. Periytyminen Javassa 9.1

Taulukot. Jukka Harju, Jukka Juslin

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

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

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

17. Javan omat luokat 17.1

8. Näppäimistöltä lukeminen 8.1

Ehto- ja toistolauseet

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

Ohjelmoinnin jatkokurssi, kurssikoe

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

5. HelloWorld-ohjelma 5.1

Mikä yhteyssuhde on?

12. Javan toistorakenteet 12.1

Taulukoiden käsittely Javalla

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

12. Javan toistorakenteet 12.1

JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI LÄHTEITÄ HARJOITUKSET MUUTAMA MALLIRATKAISU...

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

1 Tehtävän kuvaus ja analysointi

11. Javan valintarakenteet 11.1

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

11. Javan toistorakenteet 11.1

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3

7. Oliot ja viitteet 7.1

1. Ohjelmoinnin perusteet, kesä Aloittaminen Tulostaminen Muuttujat if-rakenne Metodit

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Python-ohjelmointi Harjoitus 2

Ohjelmointi 1 Taulukot ja merkkijonot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Taulukot, silmukat ja muut joka koodin pikku veijarit

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

1. Olio-ohjelmointi 1.1

Ohjelmointi 2, välikoe

Javan GUI Scratchaajalle

Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki

Mitä poikkeuskäsittely tarkoittaa?

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Tietokannat II -kurssin harjoitustyö

Transkriptio:

Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka Tiedon tulostaminen Laskutoimitukset Muuttujat ja niiden alustaminen Tietotyypit 2 Tietokoneohjelma Tietokoneohjelma on kokoelma toimintaohjeita (käskyjä, lauseita), joiden avulla tietokone saadaan suorittamaan toimenpidesarja, jonka avulla saadaan haluttu lopputulos, esimerkiksi ratkaisu johonkin ongelmaan. Yksinkertainen ohjelma voi esimerkiksi tulostaa tekstiä tai laskutoimitusten tuloksia näytölle. Monimutkainen ohjelma voi esimerkiksi laskea annettujen tietojen perusteella projektin keston ja kustannukset. 3 1

Java-kieli ja Eclipse-kehitysympäristö Tietokoneohjelmat toteutetaan jollakin ohjelmointikielellä, tällä opintojaksolla Java-kielellä. Muita ohjelmointikieliä ovat esimerkiksi C, C++, C# ja Pascal. Eri ohjelmointikielillä on erilainen syntaksi, eli niiden käskyt, lauseet ja rakenteet kirjoitetaan eri tavalla. Ohjelmointia varten tarvitaan kehitysympäristö, joita on myös useita erilaisia (esimerkiksi Eclipse, NetBeans ja Visual Studio). Tällä jaksolla käytetään Eclipse-ympäristöä. 4 Java-ohjelma ja luokka (1/3) Ensimmäinen Java-ohjelmamme on seuraava: package osio1vko1; /** * Ohjelma, joka tervehtii käyttäjää. * @author Raine Kauppinen */ public class Hei { public void aja() { System.out.println("Hei!"); public static void main(string[] args) { Hei olio = new Hei(); olio.aja(); 5 Java-ohjelma ja luokka (2/3) Edellä olevassa ohjelmakoodissa on paljon asioita, joita ei vielä tarvitse ymmärtää, mutta sitä voi käyttää esimerkkinä ensimmäisiä ohjelmia kirjoittaessa. Java-kielessä kaikki ohjelmat kirjoitetaan luokkiin (public class Hei { ) ja luokat tallennetaan luokan nimisiin tiedostoihin.java päätteellä lisättynä (Hei.java). Luokissa on metodeita (public void aja() { ja public static void main(string[] args) { ), mutta näistä ei tarvitse vielä tietää sen enempää niihin palataan. 6 2

Java-ohjelma ja luokka (3/3) package osio1vko1; /** * Ohjelma, joka tervehtii käyttäjää. * @author Raine Kauppinen */ public class Hei { public void aja() { System.out.println("Hei!"); public static void main(string[] args) { Hei olio = new Hei(); olio.aja(); pakettimääritys (osio1vko1) kommentti luokka (Hei) metodi (aja) metodi (main) 7 Tiedon tulostaminen (1/3) Tässä vaiheessa meitä kiinnostaa tuo (metodin) public void aja() rivin jälkeinen, kaarisulkujen sisällä oleva osa, jossa edellä on yksi rivi: System.out.println("Hei!"); Kyseessä on Java-kielen tulostuslause, jolla ohjelma saadaan tulostamaan näytölle. Myöhemmin opitaan, mitä System.out.println-osa tarkoittaa, mutta tässä vaiheessa on hyvä huomata, että lauseen päättää puolipiste ja tulostettava merkkijono tulee sulkujen sisään lainausmerkeissä. 8 Tiedon tulostaminen (2/3) Muutetaan aja-metodin sisältöä eli sen alku- ja loppukaarisulkujen sisällä olevaa osaa: System.out.println("Hän sanoi "); // println tulostaa System.out.println("Hei!"); // rivinvaihdon System.out.println-lause tulostaa tekstin ja rivinvaihdon, sama ilman rivinvaihtoa tehdään näin: System.out.print("Hän sanoi "); // pelkkä print ei System.out.print("Hei!"); // tulosta rivinvaihtoa Huomaa, että // rivin lopussa aloittaa kommentin. 9 3

Tiedon tulostaminen (3/3) Tulostetaan näytölle vielä lisää ja muotoillaan tulostusta hieman: System.out.println("Hän sanoi: "); System.out.println("\"Hei!\""); // lainausmerkit: \" System.out.println("\n\n"); t tl \ ") // rivinvaihto: i iht \n System.out.println("\tNo hei!"); // tabulaattori: \t System.out.println("\\\\\\\\\\"); // takakeno: \\ Pitkän tulostuslauseen saa paloiteltua myös usealle riville (katenointi) toistamatta System.out.println -alkua: System.out.println("Hän sanoi \"Hei!\"\n\n" + "\tno hei!\\\\\\\\\\"); 10 Laskutoimitukset (1/2) Javassa on käytettävissä mm. peruslaskutoimitukset: + yhteenlasku - vähennyslasku * tulo / osamäärä % jakojäännös Näiden tulostamisessa kannattaa olla tarkkana, koska lopputulos voi olla laskujärjestyksestä riippuen joko merkkijonojen liittäminen (katenointi) tai aritmeettinen operaatio. Epäselvissä tapauksissa kannattaa järjestys määrätä suluilla (). 11 Laskutoimitukset (2/2) Esimerkkejä laskutoimituksista ja tulostamisesta: // lause // tulostus System.out.println(2+3); // 5 System.out.println("Luku on "+2+3); // luku on 23 System.out.println("Luku on "+(2+3)); // luku on 5 System.out.println("Tulo 2*3="+2*3); // Tulo 2*3=6 System.out.println(9/3); // 3 System.out.println(5%2); // 1 Laskutoimituksia voi siis tehdä suoraan tulostuslauseessa (kunhan huolehtii järjestyksestä). Huomio lainausmerkkien käyttö tulostuksessa. 12 4

Muuttujat ja niiden alustaminen (1/2) Muuttuja on ohjelmassa nimetty (esitelty) paikka (keskusmuistissa), johon ohjelman tarvitsema tieto tallennetaan ja josta se haetaan tarvittaessa. Muuttujan nimeä sanotaan tunnukseksi ja on Javassa tapana kirjoittaa pienellä alkukirjaimella - luokkien nimet taas kirjoitetaan isolla alkukirjaimella. Muuttujalle voidaan alustaa esittelyn yhteydessä alkuarvo. Muuttujan sisältämän arvon voi esimerkiksi tulostaa tai muuttaa ja sitä voi käyttää laskutoimituksen osana. 13 Muuttujat ja niiden alustaminen (2/2) Esimerkkejä muuttujien käytöstä: int luku1 = 15; // (kokonaisluku)muuttujien esittelyt int luku2 = 3; // ja alkuarvojen asetukset System.out.println(luku1+luku2); // 18 System.out.println(luku1+1); // 16 System.out.println(luku2*luku2); // 9 System.out.println((luku1+(2+luku2))/100); // 0 Edellä käytettiin kokonaislukuja, minkä vuoksi viimeisen lauseen tulos pyöristyy nollaan. 14 Tietotyypit (1/2) Muuttujan esittely on joko muotoa tietotyyppi tunnus; // esittely ilman alustusta tai muotoa tietotyyppi tunnus = alkuarvo; // esittely ja alustus Edellä käytetyn kokonaisluvun (int) lisäksi muita tietotyyppejä ovat mm. double (desimaaliluku), boolean (totuusarvo), char (yksittäinen merkki), byte (pieni kokonaisluku; tavu), short (pienehkö kokonaisluku), long (iso kokonaisluku), float (pienempi desimaaluku) ja String (merkkijono). 15 5

Tietotyypit (2/2) Muuttujan alkuarvon on vastattava sen tietotyyppiä: int luku = 123; double dluku = 12.45; // desimaalierotin on. boolean totuusarvo = true; // Boolean on aina joko // true tai false. char merkki = a ; // Yksittäinen merkki on // yksittäisten hipsujen // sisällä, vrt. // merkkijono alla. String merkkijono = Tämä on merkkijono. String on muista mainituista poikkeava tietotyyppi, johon palataan jatkossa huomaa, että se kirjoitetaan isolla alkukirjaimella. 16 6