JAVAN PERUSTEITA MAURI HEINONEN. Versio 1.0

Koko: px
Aloita esitys sivulta:

Download "JAVAN PERUSTEITA MAURI HEINONEN. Versio 1.0"

Transkriptio

1 JAVAN PERUSTEITA MAURI HEINONEN Versio 1.0

2 Tiivistelmä Tässä oppaassa on käyty lävitse javan perusteita, lähtien liikkeelle siitä, että mitkä ovat javan perusjutut, eli mitä tarvitaan kun luodaan itsenäisesti toimiva ohjelma tai sitten java appletti. i

3 Sisältö 1 Johdanto 1 2 Java ohjelmointikieli Yleistä Javasta Javan eri versioista Appletit eli sovelmat Javan Historia Mistä Java sai alkunsa? Java-kieli ja 5 4 Javan tärkeimmät ominaisuudet Oliopohjaisuus Java on jarjestelmariippumaton ohjelmointikieli Turvallisuus Moniajotuki Verkko on Javan koti Kansainvalinen merkkivalikoima Java-ohjelmoinnin perusteet Hello World! Itsenäinen sovellus Appletit Appletin liittäminen HTML-dokumenttiin Peruskielioppi Alkeistietotyypit Muuttujat Kommentit Vakiot (Literals) Tunnisteet Operaattorit Taulukot Kaksiulotteinen taulukko Harjoituksia Ehtolauseet 29 ii

4 6.1 if-lause switch-lause Harjoituksia Silmukat while-silmukka do...while -silmukka for-silmukka Silmukasta poistuminen (break) Uuden kierroksen aloittminen (continue) Harjoituksia Funktiot Javassa Merkkijonon muuntamisfunktiot omaksi luokaksi Harjoituksia Sanasto 42 iii

5 1 Johdanto Tässä oppaassa käsitellään Javaa, joka on Sun Microsystemsin kehittama järjestelmariippumaton oliopohjainen ohjelmointikieli. Java on ainoa luvulla kehitetty ohjelmointikieli. Alunperin Javan rakettimaisen nousun syy oli Webselaimeen liitetyssa Java-virtuaalikoneessa suoritettavat appletit. Tällä hetkellä Javaa käytetään yhä enemmän yrityssovellusten toteuttamisessa, koska Javalla voidaan mm. tehda verkkoon hajautettuja ohjelmistokomponentteja ja toteuttaa tietokantayhteydet. Javan tulevaisuus näyttää valoisalta, sillä monet tietotekniikan suuret yritykset (mm. IBM ja Oracle) tukevat Javan kehitystä yhä voimakkaammin. Lisää materiaalia aiheeta löytyy osoitteesta Toivon mielekkäitä lukuhetkiä oppaan parissa ja toivon myös, että olen onnistunut kirjoittamaan oppaassa käsiteltävät asiat niin helposti ja ymmärrettävästi, että ne olisivat helppo sisäistää. Mauri Heinonen 1

6 2 Java ohjelmointikieli Java on Sun Microsystemsin kehittämä järjestelmariippumaton oliopohjainen ohjelmointikieli, joka on saavuttanut suurta suosiota niin ohjelmistoteollisuudessa kuin opetuksessakin. Tässä luvussa tutustuaan yleisesti Javaan sekä sen historiaan. 2.1 Yleistä Javasta Java on Sun Microsystemsin kehittämä järjestelmariippumaton oliopohjainen ohjelmointikieli, joka on saavuttanut suurta suosiota. Javalle ennustetaan valoisaa tulevaisuutta niin ohjelmistoteollisuudessa kuin opetuskielenäkin. Java muistuttaa syntaksiltaan erittain paljon ohjelmistoteollisuudessa suosittua C++kieltä, mutta poikkeaa siitä monessa kohtaa hyvin radikaalisti. Järjestelmäriippumattomuus tarkoittaa, etta Java-ohjelmia voi kehittää ja testata esimerkiksi Linuxissa, mutta sama koodi toimii myos Windowsissa, Macintoshissa tai Java-verkkotietokoneessa (Network Computer). Tuettavien käyttöympäristöjen määrä kasvaa jatkuvasti, ja Javalla tullaan ohjelmoimaan tulevaisuudessa niin matkapuhelimia, digitaalitelevisioita kuin kotiverkkojakin Javan eri versioista Java-kielisiä ohjelmia voi käyttää laajasti erilaisissa käyttöympäristöissä, sillä Sunin ilmaiseksi jakama JDK (Java Developer Kit) on saatavilla mm. seuraaviin suosittuihin käyttöjärjestelmiin: Windows NT Windows 95 Linux Sun Solaris (Unix) 2

7 Macintosh Java-ohjelmoinnin aloittamiksi ei tarvitse ostaa sovelluskehitintä, koska Sun jakaa JDK:aa ilmaiseksi osoitteessa Jos haluat näppärän ilmaisen sovelluskehittimen graafiseen ympäristöön, joka pitää sisällään debuggerin niin kannattaa käydä osoitteesta lataamassa kyseinen ohjelmisto. Java-sovelluksen teko aloitetaan aina kirjoittamalla Java-kielinen lähdekoodi, joka käännetään Java-kääntäjällä (esim. JDK, JBuilder, Cafe jne.) järjestelmäriippumattomaksi tavukoodiksi (byte code). Käännetty tavukoodi suoritetaan sitä ymmärtävällä Java-virtuaalikoneella (Java Virtual Machine), joka voi olla esim. käyttöjärjestelmässä, matkapuhelimessa tai Web-selaimessa. Java lähdekoodi Lähdekoodin kääntäjä Tavukoodi Java Virtuaalikone Käyttöjärjestelmä (Windows, Unix, jne.) Laitteisto Appletit eli sovelmat Eniten mielenkiintoa ja näkyvyyttä saanut Javan sovelluskohde on Javaohjelman ajaminen WWW-selaimen sovellusikkunassa. Java-kääntäjän tuottaman ja WWW-selaimeen liitetyllä Java-virtuaalikoneella suoritettavan appletin (applet) koodi on järjestelmäriippumatonta tavukoodia, jota voidaan suorittaa millä tahansa käyttöjärjestelmällä. Javassa on kuitenkin monia muita nykyaikaisia ominaisuuksia, jotka tekevät siitä sopivan esim. tietokantaohjelmointiin tai hajautettujen järjestelmien ohjelmointiin. Oikeastaan Javassa yhdistyy useiden suosittujen olio-ohjelmointikielten parhaat ominaisuudet. Appletit ladataan WWW-palvelimelta Internet-verkon kautta selaimella, jossa ne käännetään toimiviksi ohjelmiksi selaimeen liitetylla Java-virtuaalikoneella (Java Virtual Machine). 3

8 3 Javan Historia Java on kieli, jonka ymmärtäminen vaatii kielen yllättävän lyhyen historian tuntemista. Java on kehitetty kokonaan 1990-luvulla, joten se on nykypäivän suosituimpien ohjelmointikielten uusin tulokas. Ensimmäinen versio JDK:sta astui päivänvaloon marraskuussa 1995, mutta sen jälkeen on vajaan viiden vuoden aikana ehtinyt tapahtua paljon. Tärkeimmät Java-versioiden julkaisuajankohdat ovat: Syksyllä 1995 ilmestyi Java 1.0 (JDK 1.0), joka soveltui Web-sivulle luotavien applettien tekemiseen, mikä nostikin kielen nopeasti maailmanmaineeseen. Keväällä 1997 ilmestyi Java 1.1 (JDK 1. 1), jossa oli muuttunut erityisesti käyttöliittymän ohjelmointi oliomaisempaan suuntaan. Graafisen käyttöliittymän ohjelmointiin suunnatusta AWT 1.1 -kirjastosta tuli pohja myos Java 2:n mukana jaettavaan Swing-komponenttikirjastoon. Loppuvuonna 1998 ilmestyi Java 2 (JDK 1.2), joka sisälsi uuden JFCluokkakirjaston (Java Foundation Clas,se.s), jossa tuli mukaan mm. kohuttu Swing, Java 2D -grafiikkakirjasto sekä uusia tietorakenneluokkia. Oikeastaan Java 2 sisältää sellaisen määrän uusia ominaisuuksia, komponentteja ja kirjastoja, että siitä on tullut täysin vertailukelpoinen minkä tahansa yleiskäyttöisen, ohjelmointiin tarkoitetun ohjelmointikielen kanssa. Java 2 on yli kolme kertaa suurempi kokonaisuus kuin Java 1.0, joten on luonnollista, että ensimmäisissä Java 2 -sovelluskehittimissä on esiintynyt lukuisia "lastentauteja", jotka ajan myötä saadaan korjattua. 3.1 Mistä Java sai alkunsa? Monet Javan ominaisuudet ovat suoraa seurausta kielen alkuperäisistä käyttötarkoituksesta sulautettujen järjestelmien ohjelmointiin. Java-kieli itsessään on hyvin pieni ja melko yksinkertainen. Java-ohjelma sopii hyvin pieneen 4

9 muistitilaan, sillä sen sisäinen esitystapa (ts. tavukoodi) on tiivista. Monet vaaralliset ohjelmointirakenteet (mm. Goto-hyppykäskyt ja keskusmuistiosoitteisiin viittaaminen) jätettiin kielestä kokonaan pois, sillä ne ovat olleet hyvin monien ohjelmointivirheiden lähteenä ohjelmointikielissä. Eräs tärkeimmistä ominaisuuksista oli virheiden käsittelyn parantaminen, ja sen vuoksi Java on ollut alusta alkaen turvallinen ohjelmointikieli. Turvallisuutta lisää mm. turvallisuusmanageri, joka huolehtii siitä, ettei verkosta ladattava javaappletti pääse käsiksi paikallisen tietokoneen järjestelmäresursseihin (kuten kiintolevyyn), jos siihen ei ole annettu oikeutta. Myös monet muut ohjelmointikielet olivat jo aiemmin toteuttaneet poikkeustenhallinnan (exception handling), mutta toteutukset olevat huomattavasti Javan toteutusta puutteellisempia. 3.2 Java-kieli ja WWW Vaikka Javalla voi luoda millaisia tietokoneohjelmia tahansa, suurin syy sen nykyiseen jatkuvasti lisääntyvään suosioon on ohjelmien toimivuus WWWselaimissa. Internet on maailmanlaajuinen asiakas-palvelin-järjestelmä (Client- Server), johon WWW-selain toimii graafisena käyttöliittymänä. Javan myötä toteutui mahdollisuus kehittää interaktiivisia WWW-sovellusohjelmia. WWW-selaimessa toimivalle sovellukselle asetetaan useita erikoisvaatimuksia, sillä ohjelmaa pitää pystyä ajamaan missä tahansa asiakaskoneessa, jolloin perinteinen konekielinen ohjelma ei enää toimi sellaisenaan. 5

10 4 Javan tärkeimmät ominaisuudet Javan tärkeimpiä ominaisuuksia ovat: oliopohjaisuus jarjestelnuiriippumattomuus turvallisuus automaattinen muistin vapauttaminen (dynaamisuus) tuki moniajolle (saikeet) tuki verkko-ohjelmoinnille tuki graatisen kayttoliittyman ohjelmoinnille sisaanrakennettu virheiden kasittely tuki kansainvaliselle merkistolle oma komponenttimalli (JavaBeans) 4.1 Oliopohjaisuus Java on täysin oliopohjainen ohjelmointikieli. Yksinkertaisinkin tietotyyppi on periaatteessa olio, vaikka rajoituksesta poiketaan tehokkuussyistä lukujen ja merkkien kohdalla. Myös yksinkertaisia tietotyyppejä voidaan käsitella oliomaisesti ns. wrapper-luokilla. Oliopohjaisuuden ansiosta useimmat ohjelmointivirheet paljastuvat jo käännöksen aikana eivätkä vasta koodia suoritettaessa. Poikkeuksena on luonnollisesti ohjelman logiikassa esiintyvät virheet, jotka eivät ole kielen vaan ohjelmoijan vastuulla. Oliopohjaisen koodin etuja on myöskin koodin uusiokäyttö uusissa projekteissa lähes sellaisenaan. Tämä edellyttää kuitenkin huolellista luokkien ja ohjelman toiminnallisuuden suunnittelua. 6

11 4.2 Java on jarjestelmariippumaton ohjelmointikieli Java-ohjelmat ovat suhteellisen helposti siirrettävissä laitteistolta toiselle. Javan lähdekoodi käännetään tavukoodiksi, jonka Java-virtuaalikone suorittaa. Virtuaalikone on tavallaan kone, mutta se on ainoastaan todellista tietokoneen prosessoria matkiva ohjelma. Java-tavukoodi on tälle virtuaalikoneelle ohjelmoitua konekieltä, mutta se ei toimi ainoastaan jossain tietyssä järjestelmässä, vaan missä tahansa järjestelmässä, johon on saatavilla tavukoodia ymmärtävä Java-virtuaalikone. Tavukoodi on suhteellisin tiivista, helppoa tulkata ja helposti käännettävissä järjestelmakohtaiselle konekielelle. JIT (Just In Time) on ollut suuren mielenkiinnon kohteena. Siinä järjestelmä lukee Java-tavukoodia kääntäen ohjelman tavukoodiesityksen tietokoneen konekielisiksi käskyiksi jo ennen ohjelman suoritusta. Koska Java-ohjelma suoritetaan konekielisin käskyin, Java-koodi voi tällöin olla lähes yhtä nopeaa kuin aito konekielinen ohjelma, mutta silti säilytetään tavukoodin mukanaan tuoma ohjelman helppo siirrettävyys. Ohjelmat voidaan käännöksen aiheuttaman viiveen jälkeen suorittaa konekieltä vastaavalla nopeudella. Java-virtuaalikonetta kutsutaan usein Java-tulkiksi. Koska tavukoodia voi suorittaa eri tavoilla, tämä käsite voi olla hieman harhaanjohtava. "Javatulkki" voi olla sopiva nimi Java-virtuaalikoneelle, joka tulkkaa tavukoodin, mutta useimmat virtuaalikoneet käyttävät muita tekniikoita (esim. JIT). Vaikka kaikki Java-tulkit ovat Java-virtuaalikoneita, niin kaikki Java-virtuaalikoneet eivät ole Java-tulkkeja. 4.3 Turvallisuus Java käyttää turvallisuusmanageria (security manager) rajoittamaan ohjelman mahdollisesti aiheuttamia vaarallisia tilanteita asiakaskoneella. Turvallisuusmanageri ei päästä Java-appletteja käsiksi käyttäjän tietokoneen tiedostojärjestelmään tai siellä oleviin ohjelmiin. Turvallisuusmanageri voi kuitenkin päästää itsenäisen sovelluksen käsiksi tiedostojärjestelmään, koska erityyppisille sovelluksille voidaan määritellä erilaisiaturvallisuustasoja. Ohjelmissa on luonnollisesti ollut muutamia virheitä, mutta käytännössa Javaohjelmien aiheuttamat turvallisuusaukot ovat olleet suhteellisen vaaratto- 7

12 mia. Internetistä ladattavien Java-ohjelmien turvallisuus taataan mm. seuraavasti: Appletit eivat voi kasitella jarjestelmassa olevia tiedostoja. Appletit eivat voi suorittaa jarjestelmassa olevia ohjelmia. Appletit eivat paase lahettamaan tietoa muualle Internetiin kuin sille palvelinkoneelle, josta ohjelma on ladattu, tai ne eivat paase kasiksi johonkin muuhun suojattuun resurssiin. Javan turvallisuutta lisää myös ohjelman virhetilanteiden järjestelmällinen hallinta. Ohjelmointikieli on perusratkaisuiltaan turvallinen, sillä Javalla ei voi viitata suoraan muistipaikkaan eikä muistia tarvitse itse vapauttaa, vaan Java-virtuaalikone vapauttaa muistin automaattisesti. Javassa on toteutettu täysin automaattinen muistin hallinta, jota kutsutaan roskien keruuksi. Tekniikassa varaamattomalla muistialueella olevat oliot voi poistaa muistista tietyin väliajoin. 4.4 Moniajotuki Javassa on sisäänrakennettu tuki säikeistä moniajoa varten. Se poikkeaa muista yleisimmistä ohjelmointikielistä, sillä niiden moniajo on yleensä toteutettu käyttöjärjestelmätasolla. Javassa moniajo on toteutettu virtuaalikoneeseen säikeillä, joten moniajo toimii järjestelmariippumattomasti. 4.5 Verkko on Javan koti Java suunnattiin verkko-ohjelmointikieleksi, joten kielen suunnittelussa on huomioitu myös Internet-verkko. Javan standardikirjasto tarjoaa luokkia URL-osoitteiden käsittelemiseen, yhteyden luomiseen asiakkaan ja palvelimen välille sekä mahdollisuuden suorittaa ohjelmaa jossain rajatussa ympäristössä eli "hiekkalaatikossa". Lisäksi Java tarjoaa tuen TCP/IP-pistokkeille, joiden avulla voi olla yhteydessä myös muilla ohjelmointikielillä toteutettuihin ohjelmiin, jotka toimivat IPverkossa. 8

13 4.6 Kansainvalinen merkkivalikoima Javassa on sisäänrakennettuna erittäin laaja tuki erilaisille standardoidun Unicode 2.0 -merkkivalikoiman merkeille. Tämä helpottaa ohjelmien tekoa esimerkiksi venäjän tai japanin kielellä. Unicode-merkistö on alaspain yhteensopiva ASCIImerkistön kanssa. Käyttöjärjestelmistä esimerkiksi Microsoft Windows 98 ja NT 4 tukevat Unicode-merkistöä. 9

14 5 Java-ohjelmoinnin perusteet Javalla voi tehdä ohjelmia, jotka ovat ns. itsenäisiä ohjelmia tai sitten esim. www-selaimessa toimivia Java-appletteja. Tulemme käymään molempien ohjelmatyyppien perusteet tässä kappaleessa lävitse. 5.1 Hello World! Aloitamme kappaleen yksinkertaisimmasta mahdollisesta esimerkistä, eli perinteikkäästä Hello World -esimerkistä käyttäen Eclipse nimistä ohjelmaa (saat haettua kyseisen ohjelman osoitteesta tai sitten tämän oppaan lisämateriaaleista) Itsenäinen sovellus 1. Käynnistä Eclipse. 2. Mene Eclipsen editointi tilaan. 3. Eclipsessä pitää luoda aina projekti, johon yksittäiset java-tiedostot liitetään. Näin ollen valitse File > New > Project. Eteesi avautuvasta ikkunasta valitse Java ja sen alta Java Project. Tämän jälkeen valitse next. Kirjoita Project name -kenttään jokin projektin nimi, jonka jälkeen valitset Finish. 4. Tämän jälkeen eteesi avautuu suurin piirtein seuraavan kaltainen näkymä: 10

15 5. Valitse juuri luotu projekti vasemmalta aktiiviseksi, jonka jälkeen valitset File > New > File. Varmista, että kentässä Enter or select the parent folder lukee juuri luomasi projektin nimi. Tämän jälkeen kirjoita File name -kenttään HelloWorld.java. Huomioi isot kirjaimet! 6. Nyt sinulle pitäisi aueta työtilaan uusi editoitava ikkuna, johon kirjoitat seuraavan koodin: Sinulla on kaksi vaihtoehtoa tarkistaaksesi, että toimiiko ohjelmasi. Niistä toinen vaihtoehto on suorittaa kääntäminen Eclipsessä ja toinen komentokehoitteessa. Komentokehotteessa suoritettava käännös tapahtuu seuraavaasti: 11

16 1. Käynnistä komentokehote Käynnistä (start) > Suorita (run) > cmd 2. Mene komentokehotteessa siihen paikkaan, johon tallensit projektin. 3. Käännä ohjelma javac -komennolla: > javac HelloWorld.java 4. Suorita ohjelma komennolla: java HelloWorld Ohjelman kääntäminen Eclipsessä: 1. Valitse kyseinen tiedosto, jonka haluat kääntää. 2. Valitse Run > Run, jolloin eteesi avautuu seuraava ikkuna: 3. Tästä ikkunasta valitse Java Application, jonka jälkeen klikkaat New -painiketta. Nyt Java Application:n alle pitäisi ilmestyä HelloWorld niminen valinta. Älä tee tähän mitään muutoksia vaan klikkaa ainoastaan Run -painiketta. 4. Nyt pitäisi Console -ikkunaan ilmestyä ohjelman tuloste, eli Hello World!, kuten seuraavassa kuvassa: 12

17 Näin olet saanut tehtyä ensimmäisen itsenäisen ohjelman, joka tulostaa näytölle tekstin Hello World!. Mitä tämä ohjelma sitten tarkemmin ottaen pitää sisällään? Ohjelman ensimmäinen rivi // Luokka HelloWord on kommentti, jonka Java-kääntäjä jättää huomioimatta. Sinä voit kommentoida ohjelmaasi niin paljon kuin haluat. Kommentoiminen on jopa suotavaa, sillä oikeanlaisella kommentoinnilla pystytään selkeyttämään ohjelmakoodia huomattavasti. Tämän kommenttirivin jälkeen ohjelmassa on määritelty luokan nimi avainsanan class avulla. class HelloWorld Class-avainsanalla annetaan luokalle nimi, joka on luokan yksilöllinen tunniste. Vastaavasti HelloWorld on ohjelman pääluokka, sillä se sisältää pääohjelman eli main() -metodin. On tärkeää, että olet nimennyt tiedoston saman nimiseksi kuin mitä ohjelman pääluokka on, eli tässä tapauksessa HelloWorld.java, koska mikäli et ole toiminut näin, Java-kääntäjä ei pysty kääntämään ohjelmaa. Kun luokka on määritelty, niin sen sisälle tulevat kaikki määritykset ja metodit, jotka kuuluvat kyseiseen luokkaan. Nämä määritykset ja metodit kirjoitetaan aaltosulkujen ( { ja ) väliin. Tätä aaltosulkujen rajamaa aluetta kutsutaan lauselohkoksi. 13

18 class HelloWorld { // Luokan määrittelyn alkaminen { // Lauseloho alkaa. // Muuttujien määrittelyt // Metodit // Lauselohko päättyy. // Luokan määrittely päättyy Itsenäisessä sovelluksessa ohjelman suoritus käynnistetään pääohjelmasta seuraavasti: public static void main(string args[]) { Pääohjelman sijainnilla ei ole merkitystä, vaan Java-tulkki käynnistää ohjelman suorituksen aina main() -nimisestä pääohjelmasta, joten sellainen on löydyttävä jokaisesta itsenäisestä Java-sovelluksesta. Appletit eroavat tässä suhteessa itsenäisistä sovelluksista, sillä ne käyttävät toisennimisiä vakiometodeita. Java-kielen tulostus hoidetaan System.out -luokan println -metodilla (aliohjelmalla). Tulostuslauseelle annetaan merkkijono (String -luokan olio) paramerinä: System.out.println( Hello World! ); Appletit Appletit ovat pieniä Java-ohjelmia, jotka toimivat Internet-selaimissa, joissa on Java-tulkki. Appleteilla on muutamia toiminnallisia rajoitteita tavallisiin sovelluksiin verrattuna. Itseasiassa appletit ovat Java-kielen oliomallin toimivuuden osoitus. Applettien perusominaisuudet toteuttavat Applet -luokka on yksi Javan olioluokka (java.applet.applet). Applettien idea on yksinkertainen, sillä Applet -luokasta peritty olio saa käyttövalmiina kaikki ominaisuudet suoraan Applet -luokalta. 14

19 1. Käynnistä Eclipse 2. Lisää edelliseen projektiin uusi tiedosto, kuten edellä lisättiin ja anna tiedoston nimeksi HelloWorldApplet.java. 3. Kirjoita kyseiseen tiedostoon seuraavanlainen koodi: 4. Tämän jälkeen käännä tämä koodi. Voit kääntää ohjelman, joko komentokehotteessa tai Eclipsessä. Jos käännät ohjelman Eclipsessä sinun tulee luoda nyt uusi toiminto Java Applet vaihtoehdon alle. Tiedoston nimen on oltava täsmälleen sama kuin Applet -luokasta perittävän pääohjelman nimi. Yleensä ohjelman nimi kirjoitetaan virheellisesti kokonaan pienillä kirjaimilla, mutta luokan nimi isoilla alkukirjaimilla. Tällöin Java-appletin kääntäminen tavutiedostoksi ei onnistu, sillä appletin voi suorittaa ainoastaan, jos luokan ja tiedoston nimet ovat täsmälleen samat. Tämän ohjelman rivit 1-8 ovat jälleen kommentteja, jotka jätetään huomioimatta käännösvaiheessa. Ensimmäiset uudet käskyt tulevat esille rivillä 10 ja 11 15

20 import java.applet.*; import java.awt.*; joilla otetaan käyttöön kaikki ohjelmassa käytettävät luokkakirjastot, jolloin saadaan käyttöön kaikki ohjelmassa tarvittavat luokat ja metodit. Tämä import -lause kertoo kääntäjälle, mistä on haettava Java-ohjelmassa käytettäviä luokkia. Yllä olevat luokat kertovat, että Applet-luokka sijaitsee pakkauksessa java.applet ja Graphics-luokka pakkauksessa java.awt. Luokkia voi samassa ohjelmassa olla useita, ja niistä jokainen muodostaa loogisen kokonaisuuden. Seuraavassa on esitetty tämän ohjelman ainoa luokkamäärittely: public class HelloWorldApplet extends Applet { Avainsanaa class seuraava sana määrittelee luokan nimen. Esimerkissa luokan nimi on HelloWorldApplet, joka perii kaikki Applet-luokan ominaisuudet (Extends Applet). Applet-luokkaa käyttämällä WWW-sivuille linkitettävän appletin voi ohjelmoida suhteellisen helposti. Ohjelmoijan ei tarvitse lainkaan ohjelmoida WWWselaimen vaatimia toiminnallisuuksia, vaan Applet-luokka tarjoaa ne valmiina. Avainsana public vaaditaan jokaiseen applettiin, jotta selain voi luoda sovelluksesta esiintymän, jota se kykenee ajamaan. Täten jokaisen Applet-luokasta perityn appletin on aina oltava julkinen (public) luokka, jotta sen voi suorittaa selaimessa. Sen sijaan muuttujat voivat olla myös yksityisiä (private), jolloin niitä ei voi käyttää kuin omasta luokastaan. Alkumäärittelyjen jälkeen voidaan kirjoittaa appletin toiminnallinen koodi paint()-metodiin (paint() -aliohjelmaan). public void paint(graphics g) Edellä esitelty ohjelmarivi esittelee ohjelman tärkean rakennuspalikan, metodin, joka tarkoittaa luokkaan liittyvää funktiota. Jokainen Java-luokka sisältää 16

21 vähintään yhden metodin, joka määrittelee ohjelman ajon aikana suoritettavan komentojoukon. Metodin sisältämät käskyt suoritetaan kutsuttaessa metodia jostain ohjelman osasta. Metodien tarkoitus on jakaa luokan toiminta useisiin pienempiin alikokonaisuuksiin, ja niitä käyttämällä luokasta saa toimivamman. Metodin sisältämä ohjelmakoodi kirjoitetaan lauselohkon sisään. Lauselohko rajataan Java-kielessä aaltosulkeilla C-kielen tapaan. Ohjelmoijan kannattaa sijoittaa aaltosulkuparit editorissa samalle tasolle, jotta vältytään turhilta ohjelmointivirheiltä. Java-kääntäjä ei tarkista kuinka monta tyhjää riviä tai lausetta koodissa on, joten tyhjillä merkeillä, rivinvihdoilla ja välilyönneillä ei ole merkitystä koodin toimivuuden kannalta. Koodin luettavuuden ja selkeyden vuoksi lauselohkon oikealle aukeavaa aaltosulkua seuraavaa koodia kannattaa sisentää 2-4 merkkiä oikealle. Vastaavasti lauselohkon lopettavan aaltosulkeen jälkeen palataan sama sisennetty merkkimäärä vasemmalle. Yleensä kannattaa käyttää vakiosisennystä, jos ohjelmassa käytettava editori sita tukee. paint()-metodissa suoritetaan tekstin piirtaminen näytölle käyttäen draw- String()metodia, jolle annetaan parametreina sekä tulostettava teksti että tekstin tarkat sijoituskoordinaatit appletin piirtopinnalle. Koordinaatiston nollapiste alkaa appletin vasemmasta ylänurkasta. drawstring()-metodi tulostaa piirtopinnalle tekstin "Hello World!". Tämän jälkeen on määritelty, että tekstin tulostaminen alkaa paikasta (20, 40) appletin piirtopinnalla. g.drawstring("hello World!", 20, 40); Metodin toiminta voitaisiin suomentaa seuraavasti: Tulosta merkkijono "Hello World" alkaen appletin vasemmasta yläkulmasta lasketuista X- ja Y - koordinaateista paikkaan (20, 40) käyttäen appletin piirtopinnan (Graphics) metodia drawstring() Appletin liittäminen HTML-dokumenttiin Appletin suorittamiseksi selaimessa on appletti liitettävä HTML-koodiin. Tämä liittäminen koodiin tapahtuu APPLET-elementin avulla. Seuraavas- 17

22 sa on esitelty APPLET-elementin käyttö HTML-koodissa. Sen yleisemmin käytettävät attribuutit ovat: CODE-attribuutti määrittelee HTML-sivulle liitettävän Java-kielisen tulkkausvalmiin tavukoodin nimen (class-tarkenne) ja mahdollisen URLosoitteen, jos Javaappletti ei ole samassa hakemistoissa kuin HTMLdokumentti. WIDTH- ja HEIGHT-attribuutit määrittelevät appletin koon (leveys ja korkeus) pikseleinä HTML-sivulle. Appletti liitetään HTML-koodiin seuraavasti: <HTML> <HEAD> <TITLE> Ensimmainen appletti</title> </HEAD> <BODY> <APPLET code="helloworldapplet.class" width= 300 height= 200 > </APPLET> </BODY> </HTML> Appletit käyttävät parametreja, joilla voi lähettää tietoa suoraan HTMLsivulta. Tällöin on käytettävä PARAM-elementtiä, jolla voi määritellä appletille lähetettävät parametrit seuraavasti: NAME -attribuutilla määritellään appletille lähetettävän muuttujan nimi. VALUE -attribuutilla annetaan nimetylle muuttujalle arvo samassa PARAM-elementissa. Yhdessä PARAM-elementissä voi antaa ainoastaan yhden parametrin arvon. Seuraavassa esimerkissä appletille annetaan kaksi parametriä, jotka ovat kuukausi ja vuosi. 18

23 <HTML> <HEAD> <TITLE> Parametrien syotto Java-appletille</TITLE> </HEAD> <BODY> <APPLET code="paramdemo.class" width=300 height-200> <PARAM name="vuosi" value="1998"> <PARAM name="kuukausi" value="elokuu"> </APPLET> </BODY> </HTML> Seuraavassa on esitelty appletti, joka lukee parametrina annetut merkkijonot. HTML-sivulla annetun parametrin arvon voi lukea getparameter() -funktiolla. // ParamDemo.java - ensimmainen parametrillinen // appletti. Ohjelma lukee HTML-lomakkeella annetut // parametrit ja "piirtaa" ne naytolle appletin // paint()-metodilla. import java.applet.*; import java.awt.*; public class ParamDemo extends Applet { // Maaritellaan kaksi ParamDemo-luokan // jasenmuuttujaa. String vuosi = "alustamaton"; String kuukausi = "maarittelematon"; public void init() { vuosi = getparameter("vuosi"); kuukausi = getparameter("kuukausi"); public void paint (Graphics g) { g.drawstring("vuosi on " + vuosi, 50,50); g.drawstring("kuukausi on " + kuukausi, 50,80); Ohjelmassa on init()-metodi, jossa appletti alustetaan. Esimerkissä HTMLkoodissa annettujen VUOSl- ja KUUKAUSI -parametrien arvot sijoitetaan 19

24 vastaavan nimisiin muuttujiin. Appletin paint() -metodissa tulostetaan muuttujien arvot drawstring() -metodilla koordinaateissa määriteltyihin kohtiin. 5.2 Peruskielioppi Javan perussyntaksi on melko tuttu kaikille C- ja C++-kielillä ohjelmoineille. Jokainen Javan kehittynyt tietotyyppi on olio. Myös kaikki yksinkertaiset tietotyypit, kuten kokonaisluvat tai reaaliluvut, voidaan muuntaa olioiksi. Luokkien ja olioiden tekeminen vaatii kuitenkin normaalia enemmän ohjelman suunnittelua Alkeistietotyypit Java-kielessä kaikki muuttujat ja tietorakenteet ovat ainakin periaatteessa olioita. Alkeistietotyypit (primitive data types) eivät täsmalleen vastaa tätä mallia, koska näillä tyypeillä on standardoitu koko, joka on sama kaikissa Java-tulkin sisältävissä käyttöjärjestelmissä. Alla olevassa taulukossa on lyhyesti esitelty kaikki Java-kielen alkeistietotyypit. Tietotyyppi Selitys Koko byte tavu 8-bittinen short lyhyt kokonaisluku 16-bittinen int tavallinen kokonaisluku 32-bittinen long pitkä kokonaisluku 64-bittinen float epätarkka liukuluku 32-bittinen double tarkka liukuluku 64-bittinen char Unicode-merkki 16-bittinen Java-kielessä ei käytetä lainkaan etumerkittömiä tietotyyppejä (unsigned type). 20

25 5.2.2 Muuttujat Ohjelmoitaessa on helpompi muistaa muistipaikkojen symbolisia nimiä, kuin itse muistipaikkojen osoitteita. Näin ollen ohjelmoitaessa käytetään muuttujia, jotka ovat juuri näitä muistipaikkojen symbolisia nimiä. Javassa ohjelmalle, muuttujalle tai luokalle annettavaa nimeä kutsutaan tunnisteeksi. Seuraavassa esimerkissä määritellään muuttujalle ika jokin arvo: ika = 28; Tässä esimerkissä ika on yksikäsitteinen nimi muuttujalle. Muuttujan ideana on se, että sen arvoa voi myöhemmässä vaiheessa ohjelmaa muuttaa. Tässä esimerkissä muuttujan nimi siis oli ika ja arvo, joka siihen sijoitetaan on 28. Sijoittamisesta huolehtii = -merkki. Muistisääntönä voitaneen sanoa, että muuttujaan sijoitetaan aina kaikkki yhtäsuuruusmerkin oikeallapuolella olevat asiat. Eli sijoittaminen tapahtuu oikealta vasemmalle. Näin ollen siis, jos haluammekin lisätä tähän ikään yhden vuoden, se voitaisiin suorittaa seuraavasti: ika = ; Javassa pitää ennen muuttujan käyttöä määritellä kyseinen muuttuja. Määrittelyllä tarkoitetaan sitä, että kääntäjälle kerrotaan mikä on muuttujan tyyppi ja nimi. Kyseisen esimerkin muuttujan tyyppi voisi olla vaikka kokonaisluku, eli int. Seuraavassa on esitetty miten kyseinen muuttuja määriteltäisiin: int ika; ika = 28; ika = ; // muuttujan määrittely // muuttujan alustus // lisätään ika-muuttujan arvoa yhdellä Javassa yksittäiset alkeismuuttujat (primitive variable) määritellään yleisesti: <tyyppi> <muuttujan nimi> 21

26 Seuraavassa esimerkissä on otettu käsittelyyn reaalilukumuuttujan määrittely sekä muuttujan alustaminen. Esimerkissä myös tulostetaan muuttujan arvo komentoriville, kommentoi rivit: double x; //??? x = 10; //??? System.out.println(x); //??? x = x + 1; //??? Javan muuttujakäsite on lausekielisiä ohjelmointikieliä monipuolisempi. Java sisältää kolmenlaisia muuttujia: ilmentymämuuttujia (instance variable): Javassa luokan tilan määrittelevät ominaisuudet eli attribuutit talletetaan niin kutsuttuihin ilmentymämuuttujiin tai lyhyemmin kenttiin (field). luokkamuuttujia (class variable): Määritellään luokan esittelyn jälkeen, ja on voimassa luokan jokaisessa metodissa. Tämän tyyppistä muuttujaa ei määritellä minkään metodin sisällä, vaan heti luokan esittelyn jälkeen. paikallisia muuttujia (local variable): Määritellään metodien tai jonkin metodissa olevan ohjelmalohkon sisällä, ja ne ovat voimassa vain kyseisen metodin/ohjelmalohkon sisällä. Desimaaliluvuissa käytetään kokonaisosan ja desimaaliosan erottimena desimaalipistettä eikä desimaalipilkkua Kommentit Ovat suotavia ohjelmia kirjoittaessa, sillä niiden avulla voidaan selkeyttää koodia ja ne myös auttavat, kun myöhemmin palaat koodin pariin muistamaan mitä olet tehnyt. Javassa voidaan kommentoida jokin tietty rivi tai sitten isompi alue. Seuraavassa on esitetty Javan kaksi eri kommentointi tapaa: // Tämä kommentti alkaa kautta kautta merkeistä ja päättyy rivin loppuun 22

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (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ätiedot

Java-kielen perusteet

Java-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ätiedot

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

JAVA-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ätiedot

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

Ohjelmassa 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ätiedot

Java-kielen perusteita

Java-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ätiedot

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

Sisä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ätiedot

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

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 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

Lisätiedot

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

Koottu 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ätiedot

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

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ätiedot

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

Lisätiedot

Ehto- ja toistolauseet

Ehto- 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ätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

Lisätiedot

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

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

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

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Rajapinta (interface)

Rajapinta (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ätiedot

Java-kielen perusteita

Java-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ätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 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ätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java 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ätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

Lisätiedot

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

Opintojakso 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ätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi 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ätiedot

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

Olion 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ätiedot

Java-kielen perusteet

Java-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ätiedot

Metodit. 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 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ätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian 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ätiedot

P e d a c o d e ohjelmointikoulutus verkossa

P e d a c o d e ohjelmointikoulutus verkossa P e d a c o d e ohjelmointikoulutus verkossa Java-kielen perusteet Teoria ja ohjelmointitehtävät Java-kielen perusteet 3 YLEISKATSAUS KURSSIN SISÄLTÖIHIN 10 JAVA-KIELEN PERUSTEET 10 OPISKELUN ALOITTAMINEN

Lisätiedot

Olio-ohjelmointi Javalla

Olio-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ätiedot

Sisä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. 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ätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin 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ätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin 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ätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (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ätiedot

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

Lisätiedot

JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU...

JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU... 1 JAVA-OHJELMOINNIN PERUSTEET Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU... 27 2 1. JAVA OHJELMOINTI Kurssin tavoite ensimmäinen ohjelmointikurssi

Lisätiedot

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

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

Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki 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

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

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

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli 812341A Olio-ohjelmointi, 2016 Olio-ohjelmoinnin peruskäsitteet ja Java-kieli Sisältö 1. Java-kieli 2. Luokka 3. Luokkakaaviot 4. Lisää Javaa Javalla 2 Java-kieli n Sun Microsystems tutkimusprojekti 1991

Lisätiedot

Java-kielen perusteita

Java-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ätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 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ätiedot

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan

Lisätiedot

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

Sisä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ätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

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

Taulukot. 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ätiedot

1 PHP-sovelluksen toiminta

1 PHP-sovelluksen toiminta AMVA48-49 HTML ja PHP-ohjelmointi, 2 ov Yleistä kurssista HTMLperusteita PHP-kielen perusrakenteet HTMLlomakkeen käsittely Tiedoston käsittely Evästeiden käyttö Istunnon hallinta Oppimistehtävät PHP-KIELEN

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

Metodien tekeminen Javalla

Metodien 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ätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

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

Lauseet. 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ätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

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

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Ohjausrakenteet. Valinta:

Ohjausrakenteet. Valinta: Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla

Lisätiedot

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse

Lisätiedot

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle

12.10.2011. Erittäin nopea tapa saada kehitysympäristö php:lle pystyyn Voidaan asentaa muistitikulle (Ei yhtään videota tällä kertaa.) X niin kuin Cross-Platform, Apache, MySql, PHP, Perl Kehitysympäristö EI tuotantokäyttöön Monet tärkeät tietoturva-asetukset ovat oletuksena pois päältä Erittäin nopea

Lisätiedot

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen

Lisätiedot

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

Taulukot, silmukat ja muut joka koodin pikku veijarit

Taulukot, silmukat ja muut joka koodin pikku veijarit Taulukot, silmukat ja muut joka koodin pikku veijarit Janne Käki 7.9.6 MERKKI liikenne jono METRI para laku MOGARI ATRI psyki buutti ESINE pelottelu ellistäminen runsauden kuono TUNTI SARVI kusi assistentti

Lisätiedot

Java-API, rajapinnat, poikkeukset, UML,...

Java-API, rajapinnat, poikkeukset, UML,... Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)

Lisätiedot

13 Operaattoreiden ylimäärittelyjä

13 Operaattoreiden ylimäärittelyjä 248 13 C++-kielessä voidaan operaattoreita ylimäärittää. Ylimääriteltävää operaattoria voidaan pitää ikäänkuin metodina, joka esitellään luokan esittelyssä ja määritellään luokan ulkopuolella kuten metoditkin.

Lisätiedot

MITÄ JAVASCRIPT ON?...3

MITÄ JAVASCRIPT ON?...3 JavaScript MITÄ JAVASCRIPT ON?...3 YLEISTÄ JAVASCRIPTIN SYNTAKSISTA...3 KÄSKYSANAT JA MUUT VARATUT SANAT...3 MUUTTUJIEN, FUNKTIOIDEN JA LUOKKIEN NIMISSÄ...3 HTML-TAGEIHIN VIITTAAVISSA METODINIMISSÄ...3

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015 Ohjelmoinnin perusteet Pythonilla Teemu Sirkiä, 2015 Päivitetty 16.9.2015 Yleistä Materiaali sisältää lähinnä Aalto-yliopiston Ohjelmoinnin peruskurssi Y1:n harjoitustehtävissä tarvittavia keskeisiä asioita

Lisätiedot

Microsoft Visual J++ ohjelmointiympäristö

Microsoft Visual J++ ohjelmointiympäristö Microsoft Visual J++ ohjelmointiympäristö Ohjelmistotuotantovälineet seminaarin alustus Raine Lehto Helsingin yliopisto Tietojenkäsittelytieteen laitos 08.11.2000 Helsinki Sisällys 1 Johdanto...2 2 Sovelluskehys

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

Lisätiedot

Muuttujien roolit Kiintoarvo cin >> r;

Muuttujien roolit Kiintoarvo cin >> r; Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,

Lisätiedot

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet 2 Java-kielen perusteet Tämän osan sisältö Syntaksi Ohjelma, luokka, metodi Tunnukset, muuttujat ja tyypit esittely, alustaminen, näkyvyyssäännöt Syöttö ja tulostus Metodit määrittely, kutsu, parametrit,

Lisätiedot

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia. 4. Periytyminen 4.1. Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

Ohjelmointityö 3. Mikko Laamanen 185667

Ohjelmointityö 3. Mikko Laamanen 185667 Ohjelmointityö 3 Mikko Laamanen 185667 Sisällysluettelo Tehtävän määrittely ja ratkaisuperiaate... 1 Tehtävän määrittely... 1 Ratkaisuperiaate... 1 Ohjelman käyttöohje... 1 Syötteet ja tulosteet... 1 Ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

JAVA-OHJELMOINTI 3 op A274615

JAVA-OHJELMOINTI 3 op A274615 JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

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

Kompositio. 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ätiedot

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot