Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki
|
|
- Mikael Mäkelä
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Peräkkäinen laskenta Ehdollinen laskenta Laskennan toisto Laskennan hierarkisuus 10/19/99 E. Hyvönen: Java Osa 3 2 Lohkolause (block) Peräkkäinen laskenta Perälläkkäin suoritettavat lauseet muodostavat lohko(lausee)n (block). Lohkon lauseet kirjoitetaan aaltosulkujen väliin: { lause1; lause2; ; lausen ; Huomaa,että Yksittäiset lauseet päättyvät ; -merkkiin Lohkon lopussa ei ole ; -merkkiä Muuttujien määrittely on voimassa lohkoittain 10/19/99 E. Hyvönen: Java Osa 3 4 Esimerkki Lohkon käyttö { int a = 1, b, c = 2*a; b = a*2; int d = a+b; // d käytössä tästä alkaen { int e = d+b; // Lohkossa alilohko d = a+e; // e:n käyttöalue loppuu c = d+b; 10/19/99 E. Hyvönen: Java Osa 3 5 Lohkoa voi aina käyttää siellä missä yksittäistä lausettakin Lohko on eräs lause (statement) Tyhjä lohko/lause merkitään ";" Metodin runko on lohko Muuttujien nimien oltava sisäkkäisissä lohkoissa yksikäsitteisiä {int n =2; { int n=3;.. // Väärin! Luokan muuttujien peittäminen on kuitenkin ok. Lohkossa käytetään ensisijaisesti sen omia muuttujia. 10/19/99 E. Hyvönen: Java Osa 3 6 1
2 Ehtolause if Ehdollinen laskenta Ehdollinen lauseen suoritus if ( ehto ) lause ehto on lauseke, joka palauttaa boolean-tyypin arvon (true /false). lause on yksittäinen tai lohkolause, joka suoritetaan vain jos ehto-lauseke palauttaa arvon true. Esimerkki final double RAJA = 18.0; if (lämpötila<raja) System.out.println("Liian kylmää (" + lämpötila + " astetta)"); 10/19/99 E. Hyvönen: Java Osa 3 8 Ehtolause if- if ( ehto ) lause1 lause2 Jos ehto==true suoritetaan lause1, muuten lause2. Sisäkkäiset (nested) ehdolauseet -haara liittyy viimeisimpään edeltävään iflauseeseen, jolla ei vielä ole -haaraa. Selvyyden vuoksi harkitse lohkojen käyttöä haaroissa Merkitään haara "{" ja "" merkkien väliin. 10/19/99 E. Hyvönen: Java Osa 3 9 Esimerkki: monta testiä Kahden kolikon heiton tulostus if (kolikko1 = = KRUUNA) if (kolikko2 = = KRUUNA) System.out.println("kaksi kruunaa"); System.out.println("kruuna ja klaava"); if (kolikko2 = = KRUUNA) System.out.println("klaava ja kruuna"); System.out.println("kaksi klaavaa"); 10/19/99 E. Hyvönen: Java Osa 3 10 Esimerkki: monivalinta Edellinen esimerkki ylimääräisillä selventävillä suluilla if (kolikko1 = = KRUUNA) { if (kolikko2 = = KRUUNA) System.out.println("kaksi kruunaa"); System.out.println("kruuna ja klaava"); { // kolikko1 == KRUUNA if (kolikko2 = = KRUUNA) System.out.println("klaava ja kruuna"); System.out.println("kaksi klaavaa"); if (a <0) System.out.println("a<0"); if (a<1) System.out.println("0<=a<1"); if (a<2) System.out.println("1<=a<2"); 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa
3 Ehto-operaattori:?: Ehdollisuus voidaan ilmaista myös arvon palauttavana ehtolausekkeena. ehto? lauseke1 : lauseke2 ehto: boolean arvon palauttava lauseke lauseke1: palautetaan koko ehtolausekkeen arvona, jos ehto=true. lauseke2: palaututetaa koko ehtolausekkeen arvona, jos ehto=false. 10/19/99 E. Hyvönen: Java Osa 3 13 Esimerkki total = (total > MAX)? total + 1: total + 2; Sama kuin: if (total > MAX) total = total +1; total = total + 2; 10/19/99 E. Hyvönen: Java Osa 3 14 Monihaarainen ehtolause: switch int isompi = (x > y)? x : y; System.out.println("Pienempi: " + ((n < m)? n : m)); Huom. operaattoreiden presedenssijärjestys! 10/19/99 E. Hyvönen: Java Osa 3 15 Näppärä ja tehokas monihaarainen ehtolause switch (lauseke) { case arvo1: lause-lista1 case arvo2: lause-liusta2 default: lause-listan Vastaa sisäkkäisiä if-lauseita, mutta: Haarautumis testi lasketaan vain kerran. Haarat eivät välttämättä sulje pois toisiaan. 10/19/99 E. Hyvönen: Java Osa 3 16 Esimerkki Testi lauseke palauttaa arvonaan kokonaisluvun tai merkin Esim. totuusarvo tai desimaaliluku ei kelpaa! Laskenta haarautuu arvoa vastaavaa case-haaraan. Jos vastaavaa arvoa ei ole lueteltu, lasketaan default-haara. Huom: Ellei valitussa haarassa keskeytetä laskentaa esim. break-lauseella, lasketaan myös kaikki myöhemmät haarat i+1, i+2,, default! Haara sulkee pois vain sitä edeltävät haarat! 10/19/99 E. Hyvönen: Java Osa 3 17 String sana = "aurinko"; switch (sana.charat(0)) { case 'a': System.out.println("On a-kirjain"); // Lohkoa { ei merkitä vokaali_laskuri++; case 'e': // Haaroissa e-ä ei tehdä mitään, mutta laskenta case 'i': // mutta laskenta etenee ö-haaraan... case 'o': case 'u': case 'ä': case 'ö': System.out.println("On muu vokaali kuin a"); vokaali_laskuri++; // Switch lauseen laskenta loppuu tähän. default: System.out.println("On konsonantti"); konsonantti_laskuri++; 10/19/99 E. Hyvönen: Java Osa
4 Kertausta Mikä on if- ja?-muodon tärkein ero. Miten switch-lause kirjoitetaan if-then- lauseilla? Milloin se on helppoa/vaikeaa? Kumpi esitystapa on tehokkaampi ja miksi? Laskennan toisto 10/19/99 E. Hyvönen: Java Osa 3 19 While -lause while (ehto) lause Ehto testataan ennen laskentaa. Lause suoritetaan niin kauan kuin ehto toteutuu. Lauseen suoritus johtaa yleensä ennemmin tai myöhemmin johtaa tilanteeseen ehto==false Muuten joudutaan ikuiseen silmukkaan (infinite loop) Toinen mahdollisuus laskennan lopettamiseen Ehtolause, joka haarassa on break-lause. break lopettaa vain sisikkäisimmän toistolauseen laskennan; mahdollinen toisto ylemmällä tasolla jatkuu. 10/19/99 E. Hyvönen: Java Osa 3 21 Esimerkki class Laskin { public static void main(string [] args) { final int LIMIT = 5; int count = 1; while (count<=limit) { System.out.println(count); count++; // count=count+1; System.out.println("Loppu"); 10/19/99 E. Hyvönen: Java Osa 3 22 Esimerkki: Ikuinen silmukka class Ikuinen { static public static void main(string [] args) { final int LIMIT = 5; int count = 1; while (count<=limit) { System.out.println(count); count--; System.out.println("Loppu"); 10/19/99 E. Hyvönen: Java Osa 3 23 for-lause Lauseen ehdollinen toisto peräkkäisillä arvoilla for (alkuasetus; ehto; eteneminen) lause alkuasetus: lause, joka suoritetaan yhden kerran ennen for-lauseen varsinaista laskentaa. Tyypillisesti esitellään ja asetetaan for-lauseessa käytettävien muuttujien arvoja. ehto: for-lause suoritetaan seuraavan kerran vain jos ehto palauttaa arvon true ennen toistoa. eteneminen: lause, joka suoritetaan jokaisen toistokerran jälkeen lause: toistettava lause/lohko. 10/19/99 E. Hyvönen: Java Osa
5 Esimerkki int i; for (i = 1; i < 10; i++) System.out.println(i*i); System.out.println("Tehty " + i + " kertaa."); for (int i = 1; i < 10; i=i+1) // i on for-lauseen sisäinen muuttuja System.out.println(i*i); System.out.println("Tehty"); // i ei käytettävissä // ESIMERKKI: Vokaalien laskentaa int a_laskuri = 0, e_laskuri = 0, i_laskuri = 0; int o_laskuri = 0, muu_laskuri = 0; String lainaus = "Tulin, näin, voitin"; for (int i = 0; i<lainaus.length(); i++) // Indeksi alkaa 0:sta switch (lainaus.charat(i)) { case 'a': a_laskuri++; case 'e': e_laskuri++; case 'i': i_laskuri++; case 'o': o_laskuri++; default: muu_laskuri++; System.out.println("a-määrä:" + a_laskuri); System.out.println("e-määrä:" + e_laskuri);... 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 26 do-while -lause Loppuehtoinen lauseen toisto do lause while ( ehto) lause: Suoritetaan ensin kerran. Suorituksen jälkeen testataan ehto. ehto: Jos ehto palauttaa arvon true, lause suoritetaan uudelleen niin kauan kuin ehto toteutuu (testi aina suorituksen jälkeen). 10/19/99 E. Hyvönen: Java Osa 3 27 Esimerkki int i; for (i = 1; i < 10; i=i+1) System.out.println(i*i); int i = 1; do { System.out.println(i*i); i=i+1; while (i < 10); 10/19/99 E. Hyvönen: Java Osa 3 28 Toiston lopettaminen:break Toistolauseiden laskenta voidaan keskettää breaklauseella. Toisto kyseisellä tasolla lopetataan ilman, että mahdollisia toistolauseen ehtoja tarkistetaan, Esimerkki: for (int n = 1; n <= 20; n++) { // Tulostaa luvut 111 if (n==12) System.out.println("n = " + n); 10/19/99 E. Hyvönen: Java Osa 3 29 break-lauseen argumenttina voidaan käyttää hyppyosoitetta (label): break osoite; // Osoite on tunniste Laskenta jatkuu tällöin koodissa olevan tunnisteen jälkeisestä lauseesta. ulompi: while () {... sisempi: while () { if () break ulompi; if () break sisempi; 10/19/99 E. Hyvönen: Java Osa
6 break-lauseen käyttö ei ole välttämätöntä. Voidaan korvata ehdoilla. break-lauseen käyttö toistolauseessa johtaa helposti spagettikoodiin Ei suositella toiston lopetuskeinona. Toistokerran ohittaminen: continue continue-lauseella voidaan ohittaa toistolauseen loppujen lauseiden suoritus. Erona break-keskeytykseen on, että toistoa ei lopeteta, ainoastaan kyseinen toistokerta. Esimerkki: for (int n = 1; n <= 20; n++) { if (n==12) // Vain luku 12 jää tulostamatta, continue; System.out.println("n = " + n); // Muut /19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 32 Kertausta continue-lauseen argumenttina voidaan käyttää hyppysoitetta (label) (kuten break-lauseessa): continue osoite; // Osoite on tunniste laskenta jatkuu tällöin koodissa olevaa tunnistetta vastaavan toiston alusta. continue-lauseen käyttö ei ole välttämätöntä eikä yleensä suositeltavaa Voidaan korvata ehdoilla. Millaisissa tilanteissa käytät while-, do-while ja for-lauseita toistoon? Mikä ero on break ja continue lauseilla. Milloin niitä käytetään? 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 34 Aliohjelmat Laskennan hierarkisuus Ohjalma voidaan jakaa hierarkisiin osiin, aliohjelmiin Ongelman ratkonta osissa on helpompaa kuin yhtenä kokonaisuutena Rekursion (recursion) avulla ongelman ratkonta voidaan palauttaa pienempiin samanmuotoisiin ongelmiin Rekursiivinen ohjelma kutsuu itse itseään. Rekursion avulla voidaan toteuttaa toisto ilman toistolauseita. 10/19/99 E. Hyvönen: Java Osa
7 Esimerkiksi ruokaresepti: Alireseptikutsu "Keitetään 100g makaronia" korvaa mutkikkaamman keittämisen alialgoritmin (reseptin). Ylemmällä tasolla voidaan keskittyä varsinaiseen aterian valmistukseen alemmat yksityiskohdat unohtaen. Esimerkki rekursiosta Puumainen hakemisto voidaan tulostaa tulostamalla sen alipuut, jotka voidaan tulostaa... 10/19/99 E. Hyvönen: Java Osa 3 37 Saavutettavat edut Mutkikkaat kokonaisuudet voidaan korvata aliohjelmakutsuilla Koodi lyhenee ratkaisevasti, sillä mutkikasta kuvausta ei tarvitse toistaa. Korjauksia tehdään vain yhteen paikkaan (aliohjelmaan). Ongelman jäsentyy pienempiin osiin. Ongelma voidaan ratkaista luontevasti käsitteellisesti eri tasoilla Ohjelmat yksinkertaistuvat Javassa aliohjelmat toteutetaan metodeilla. 10/19/99 E. Hyvönen: Java Osa 3 38 Metodi Metodiin liittyy Metodin määrittely, jossa kuvataan metodille annettavat lähtötiedot, käyttötapa, toiminta (algoritmi) ja metodin palauttama arvo. Metodin kutsu Kun metodi on määritelty, sitä voidaan kutsua toisista metodeita määritellyllä tavalla. Metodin määrittely Metodi vastaa perinteisiä (ali)ohjelmaa. Määrittely kirjoitetaan luokkamäärittelyn sisään. Määrittely on luokkakohtainen: Eri luokilla voi olla samannimisiä erilaisia metodeja. Määrittely on parametrikohtainen. Samannimisellä metodilla voi olla eri määrittelyjä eri parametrikombinaatioita varten. 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 40 Metodin määrittelymuoto Yleismuoto: [määreet] arvotyyppi nimi ([parametrit]) [throws nimet] { algoritmi Määreet : mm. metodin käytettävyys muissa luokissa Arvotyyppi: Metodi voi palauttaa arvon, jonka on oltava annettua tyyppiä. Arvo palautetaan algoritmissa return-komennolla. Nimi: metodin kutsumanimi (tunniste) Metodien nimet kirjoitetaan muuttujien tavoin pienellä alkukirjaimella (suositus). Parametrit: Metodin muodolliset (formal) parametrit Metodia kutsuttaessa sille voidaan välittää tietoa parametrien välityksellä. throws nimet Poikkeusten käsittelyyn liittyvä ilmaus. Algoritmi: Metodin toiminnan kuvaus Java-lohkona. (Ns. abstrakteilla metodeilla lohko voi olla tyhjä.) 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa
8 Esimerkkimetodi class Laskin { double lasku (int x, int y) { y=y*y; return x+2*y; // Metodin kutsun arvo // lasku-metodi // Luokkamäärittelyn loppu Metodin kutsuminen Kutsun muoto: metodin_tunniste(argumentit) Metodin_tunniste: Yksinkertaisimmillaan metodin nimi: Esimerkiksi lasku(2, 3.1); Toisten luokkien metodeja kutsuttaessa myös luokka tai sen ilmentymä pitää yksilöidä. Tähän palataan olio-ohjelmoinnin yhteydessä 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 44 Esimerkki: rekursiivinen kutsu Argumentit: Todelliset (actual) parametrit, joita metodin halutaan käyttävän Näiden on oltava määrittelyssä esiteltyä tyyppiä. Javassa parametrien määrä on kiinteä Ei valinnaisia parametreja kuten esim. C++:ssa. Ei parametrien oletusarvoja. 10/19/99 E. Hyvönen: Java Osa 3 45 class Kaanna { // Tulostaa aakkoset annettujen merkkien välissä käänteisesti // Esim. java Kaanna a d -> dcba public static void main(string args[]) { kaanteisesti((int)args[0].charat(0), (int)args[1].charat(0)); static void kaanteisesti(int alku, int loppu) { if (alku>=loppu) { // Rekursion lopetusehto System.out.print((char)alku); return; { // Rekursiivinen haara kaanteisesti(alku+1, loppu); System.out.print((char)alku); 10/19/99 E. Hyvönen: Java Osa 3 46 Parametrien sitominen Kutsussa muodollisille parametreille annetaan todellisten parametrien mukaiset arvot. Javassa vain ns. arvoparametreja (value parameter) Muodollinen parametri on kuin paikallinen (local) muuttuja, jolle annetaan kutsussa arvoksi todellinen parametri. Metodista palattaessa sidokset häviävät. Paikallisen muuttujan sidos ei näy metodin ulkopuolelle. 10/19/99 E. Hyvönen: Java Osa 3 47 Esimerkki class Laskin { // Alkeistyyppisen arg:n arvomuutos ei näy ulospäin void ylilasku () { int x = 1, y =2; int tulos = alilasku(x,y); System.out.println(x); // tulostuu 1 System.out.println(y); // tulostuu 2 System.out.println(tulos); // tulostuu 4 // yli-lasku int alilasku (int x, int y) { x++; y=x+2; // Eri x ja y kuin ylilasku:ssa return y; // Metodin kutsun arvo // ali-lasku // Luokkamäärittelyn loppu 10/19/99 E. Hyvönen: Java Osa
9 Esimerkki Paikallinen muuttuja voi viitata metodin ulkopuolella näkyvään tietoon. Jos tätä tietoa itseään modifioidaan (siis ei paikallisen muuttuajan sidosta tietoon), jäävät muutokset voimaan metodin laskennan jälkeenkin ja näkyvät ulkopuolelle. Näin metodi voi välittää tietoa ulospäin paitsi arvonsa kautta myös sivuvaikutuksina (side effect). Vain viittaustietotyyppiset parametrit voivat viitata tällaiseen muutettavissa olevaan tietoon (olioihin). Olioihin palataan myöhemmin. class Laskin { // Viitetyyppisen arg:n arvon muutos näkyy ulospäin void ylilasku () { StringBuffer x = new StringBuffer(); alilasku(x, "Näkyy "); alilasku(x, "ulos"); // Sijoitus tarpeeton System.out.println(x); // tulostuu: Näkyy ulos // yli-lasku void alilasku (StringBuffer x, String y) { x.append(y); // Eri x ja y kuin ylilasku:ssa, mutta viittaavat // samaan olioon, jota voi modifioida. // ali-lasku // Luokkamäärittelyn loppu 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 50 Metodin palauttama arvo Arvona palautetaan viite olioon Alla y ja x viittaavat ylilasku:ssa samaan olioon class Laskin { // Viitetyyppisen arg:n arvon muutos näkyy ulospäin void ylilasku () { StringBuffer x = new StringBuffer(); StringBuffer y = alilasku(x, "x:n ja y:n arvo "); System.out.println(x); // sama tulostus kuin alla System.out.println(y); // sama tulostus kuin yllä // yli-lasku StringBuffer alilasku (StringBuffer x, String y) { x.append(y); return x; // ali-lasku // Luokkamäärittelyn loppu 10/19/99 E. Hyvönen: Java Osa 3 51 Metodien kuormittaminen Luokan metodeilla voi olla sama nimi, mutta erilaiset parametrit eri määrä parametreja ainakin yksi eri tyyppinen parametri Tätä kutsutaan metodin kuomittamiseksi (overloading) Esimerkiksi metodi println on kuormitettu: void println(int n); // Tulostaa kokonaisluvun void println(double n); // Tulostaa liukuluvun void println(string str); // Tulostaa merkkijonon... 10/19/99 E. Hyvönen: Java Osa 3 52 // // Arto Wikla: Ohjelmoinnin perusteet Java-kielellä, OtaDATA 1998 // kappale 2.5.5, s. 46 // public class Nelio { private static void tulostanelio() { // "private static" selostetaan myöh. System.out.println("neliö"); private static void tulostanelio(int luku) { System.out.println(luku*luku); private static void tulostanelio(double luku) { System.out.println(luku*luku); jatkuu... 10/19/99 E. Hyvönen: Java Osa 3 53 jatkoa... private static void tulostanelio(int i, int j) { for (int a=0; a<i; ++a) { for (int b=0; b<j; ++b) System.out.print("*"); System.out.println(); public static void main(string[] args){ // PÄÄOHJELMA tulostanelio(); tulostanelio(12); // Double:n tunnistaa desimaali pisteestä tulostanelio(3.14); tulostanelio(4, 6); 10/19/99 E. Hyvönen: Java Osa
10 Metodin muuttujat/parametrit Metodityypit Metodissa määritellyt parametrit ja muuttujat ovat paikallisia muuttujia (local variable). Niitä voidaan käyttää vain metodin omassa algoritmissa. Muuttujien arvot säilyvät vain yhden kutsun ajan. Metodissa ei voi käyttää toisen metodin muuttujia. (Metodeissa voi luonnollisesti olla samannimisiä, mutta eri muuttujia.) Muuttujilla ei ole alkuarvoja. Parametrit saavat automaattisesti alkuarvot kutsunsa mukaan. Muuttuja on käytettävissä määrittelykohdastaan määrittelylohkonsa loppuun saakka. Eri määreiden ym. mekanismien avulla voidaan luoda erityyppisiä metodeja Keskeistä olioajattelun kalustoa. Metodityyppeihin palataan tarkemmin jatkossa 10/19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa 3 56 Kertausta Milloin aliohjelmia on syytä käyttää? Miten parametrit välitetään metodille? Voiko metodin parametrin arvosidos säilyä metodin laskennan jälkeen? Milloin metodin parametrin arvon muutokset voivat näkyä metodin ulkopuolelle? Lisätietoja Arto Wikla: Ohjelmoinnin perusteet Java-kielellä, OtaDATA, John Lewis, William Loftus: Java Software Solutions, Addison-Wesley, /19/99 E. Hyvönen: Java Osa /19/99 E. Hyvönen: Java Osa
Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004
Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;
Lisätiedot11. Javan toistorakenteet 11.1
11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotJava-kielen perusteita
Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3
15. Lohkot 15.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.2 Lohkot Aaltosulkeet
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero
LisätiedotSisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
Lisätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet
Lisätiedot1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotTietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)
Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä
LisätiedotSisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
LisätiedotLohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3
16. Lohkot 16.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.2 Lohkot Kaarisulut
LisätiedotMetodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
LisätiedotSisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat
Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen
LisätiedotLuokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.
1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).
LisätiedotLauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if
3 Lauseet Lue kirjasta s. 54-84 Tämän osan sisältö Ehdollinen lause if Looginen lauseke vertailut AND-operaattori &&, & OR-operaattori, NOT-operaattori! Valintalause switch Toistolauseet while for do while
Lisätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
Lisätiedot7. Näytölle tulostaminen 7.1
7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
LisätiedotSisällys. 15. Lohkot. Lohkot. Lohkot
Sisällys 15. Lohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.1 15.2 Lohkot Aaltosulkeet
LisätiedotAlkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)
Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,
LisätiedotKoottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.
2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet
Lisätiedot11. Javan valintarakenteet 11.1
11. Javan valintarakenteet 11.1 Sisällys If- ja if--lauseet. Orpo. Valintaa toisin: switch-lause. 11.2 Valintarakenteet Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)
Sisällys JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys Periytyminen (inheritance) Näkyvyys (visibility) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E. Hyvönen: Java Osa
LisätiedotOlion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();
Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio
LisätiedotOhjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen
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
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotOhjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
LisätiedotMetodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
Lisätiedot19. Olio-ohjelmointia Javalla 19.1
19. Olio-ohjelmointia Javalla 19.1 Sisällys Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotJava-kielen perusteet
Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero
LisätiedotEhto- ja toistolauseet
Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden
Lisätiedot7. Oliot ja viitteet 7.1
7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin
LisätiedotJava-kielen perusteita
Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan
LisätiedotOlio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotTaulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko
5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
LisätiedotSisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus
Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit
LisätiedotSisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2
6. Metodit 6.1 Sisällys Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen Olio-ohjelmoinnissa ohjelma
LisätiedotOhjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotYleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.
2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä
LisätiedotMuuttujat ja kontrolli. Ville Sundberg
Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee
LisätiedotKompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma
1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.
LisätiedotJava kahdessa tunnissa. Jyry Suvilehto
Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,
Lisätiedot1 Tehtävän kuvaus ja analysointi
Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.
Lisätiedot1. Mitä tehdään ensiksi?
1. Mitä tehdään ensiksi? Antti Jussi i Lakanen Ohjelmointi 1, kevät 2010/ Jyväskylän yliopisto a) Etsitään Googlesta valmis algoritmi b) Mietitään miten itse tehtäisiin sama homma kynällä ja paperilla
LisätiedotRajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu
LisätiedotTietorakenteet (syksy 2013)
Tietorakenteet (syksy 2013) Harjoitus 1 (6.9.2013) Huom. Sinun on osallistuttava perjantain laskuharjoitustilaisuuteen ja tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. Näiden laskuharjoitusten
Lisätiedot9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
LisätiedotSisällys. 16. Lohkot. Lohkot. Lohkot
Sisällys 16. ohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 16.1 16.2 ohkot aarisulut
LisätiedotSisältö. 2. Taulukot. Yleistä. Yleistä
Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja
LisätiedotSisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen
Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotSisältö. 22. Taulukot. Yleistä. Yleistä
Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä
LisätiedotSisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4
Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.
Lisätiedoton ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä
LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen
LisätiedotInformaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006
TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa
LisätiedotSisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä
Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.
LisätiedotOperaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta
C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus
LisätiedotMikä yhteyssuhde on?
1 Yhteyssuhde Mikä yhteyssuhde on? Yhteyssuhde Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä yhteyssuhde on? Tili - : String - : double * 1 Asiakas - hetu: String - : String
LisätiedotOhjelmointi 1 / 2009 syksy Tentti / 18.12
Tentti / 18.12 Vastaa yhteensä neljään tehtävään (huomaa että tehtävissä voi olla useita alakohtia), joista yksi on tehtävä 5. Voit siis valita kolme tehtävistä 1 4 ja tehtävä 5 on pakollinen. Vastaa JOKAISEN
Lisätiedot4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
LisätiedotJava-kielen perusteita
Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja
Lisätiedot20. Javan omat luokat 20.1
20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)
LisätiedotSisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
LisätiedotSisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang
Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)
Lisätiedot4. Olio-ohjelmoinista lyhyesti 4.1
4. Olio-ohjelmoinista lyhyesti 4.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 4.2 Yleistä Olio-ohjelmointia käsitellään hyvin
LisätiedotListarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
LisätiedotLuokat ja oliot. Ville Sundberg
Luokat ja oliot Ville Sundberg 12.9.2007 Maailma on täynnä olioita Myös tietokoneohjelmat koostuvat olioista Σ Ο ω Μ ς υ φ Ϊ Φ Θ ψ Љ Є Ύ χ Й Mikä on olio? Tietokoneohjelman rakennuspalikka Oliolla on kaksi
LisätiedotRinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti
Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi
LisätiedotOhjelmointiharjoituksia Arduino-ympäristössä
Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet
LisätiedotOhjelmointi 2, välikoe
Ohjelmointi 2, välikoe 21.3.2014 Vastaa neljään tehtävään kuudesta siten, että jokainen tehtävä tulee omalle konseptilleen. Mikäli vastaat useampaan kuin neljään tehtävään, pisteiden laskussa huomioidaan
LisätiedotSisällys. 14. Poikkeukset. Johdanto. Johdanto
Sisällys 14. Poikkeukset Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
Lisätiedot17. Javan omat luokat 17.1
17. Javan omat luokat 17.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 17.2 Java API Java-kielen Application Programming Interface (API)
Lisätiedot14. Poikkeukset 14.1
14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Miten varautua poikkeukseen metodissa? Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla
Lisätiedot815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava
Lisätiedot7/20: Paketti kasassa ensimmäistä kertaa
Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotSisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä
Sisällys 9. Periytyminen Javassa Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Metodien korvaaminen ja super-attribuutti. Attribuutin peittäminen periytymisen kautta. Rakentajat
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
LisätiedotOliot viestivät metodeja kutsuen
6. Metodit 6.1 Sisällys Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit). Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2 Oliot viestivät metodeja kutsuen
LisätiedotOhjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
LisätiedotJavan perusteita. Janne Käki
Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).
LisätiedotJAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
LisätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
LisätiedotTietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
Lisätiedot811120P Diskreetit rakenteet
811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen
Lisätiedot