812341A Olio-ohjelmointi, Olio-ohjelmoinnin peruskäsitteet ja Java-kieli
|
|
- Jussi Salonen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 812341A Olio-ohjelmointi, 2016 Olio-ohjelmoinnin peruskäsitteet ja Java-kieli
2 Sisältö 1. Java-kieli 2. Luokka 3. Luokkakaaviot 4. Lisää Javaa Javalla 2
3 Java-kieli n Sun Microsystems tutkimusprojekti 1991 koodinimeltään Green n Kieli kehitetty C/C++ -kielestä James Goslingin johdolla n Alunperin nimi oli Oak, mutta tämänniminen ohjelmointikieli oli jo olemassa -> uudeksi nimeksi 1995 Java n Kieli julkaistiin virallisesti toukokuussa 1995 Javalla 3
4 Java-kieli Java-kieli on yksinkertainen (verrattuna C++ kieleen) ei osoittimia ei moniperintää automaattinen muistinvaraus ja roskien keruu Java on olio-orientoitunut kieli Java on hajautettu kieli Java on tulkattava kieli Java-ohjelmat käännetään ns. tavukoodiksi, jota Java Virtuaalikone (JVM, Java Virtual Machine) suorittaa tavukoodi on laiteriippumatonta Javalla 4
5 1. Java-kieli Javassa on pyritty luotettavuuteen mahdolliset virheet pyritään löytämään mahdollisimman aikaisessa vaiheessa korjattu muutamia muissa kielissä ilmenneitä heikkouksia ei osoittimia, joten ohjelma ei pääse tuhoamaan muistissa olevaa dataa poikkeusten käsittely "älä luota mihinkään" -periaate Javalla 5
6 1. Java-kieli Java on siirrettävä ohjelma voidaan suorittaa toisella laitealustalla kääntämättä ohjelmaa uudelleen ei alustariippuvaisia ominaisuuksia Javalla 6
7 1. Java-kieli n Java-ohjelman kirjoittaminen, kääntäminen ja suorittaminen Ohjelma kirjoitetaan tiedostoon tekstieditorilla (esim. notepad- eli muistio-ohjelmalla). Tuloksena saadaan tekstitiedosto, joka sisältää ohjelman lähdekoodin esimerkiksi Ohjelma.java Javalla 7
8 1. Java-kieli n Tekstitiedosto muutetaan tietokoneen ymmärtämään muotoon java-kääntäjällä: javac Ohjelma.java n Saadaan uusi tiedosto: Ohjelma.class, jossa on suoritettava ohjelmakoodi ns. tavukoodina (byte code) n Ohjelma käynnistetään kutsumalla java-tulkkia, joka suorittaa annetun ohjelman. Tulkkia kutsuttaessa ei käytetä.class -laajennusta: java Ohjelma Javalla 8
9 1. Java-kieli luo/muokkaa ohjeman lähdekoodia public class Ohjelma {! public static void main( String [ ] args ) {! System.out.println("Tervehdys!");! }! } lähdekoodi KÄÄNNÖSAIKAISET VIRHEET... Max stack Max locals getstatic FIELD java/lang/system out Ljava/io/PrintStream; B ldc STRING Tervehdys! invokevirtual METHOD java/io/printstream println (Ljava/lang/String;) V B return B1 Exceptions Table Additional info LineNumberTable 00 0A A javac Ohjelma.java Tavukoodi java Ohjelma tulos AJONAIKAISET VIRHEET Javalla 9
10 2.Luokka n Luokka kuvaa olion ominaisuudet n Jäsenet Attribuutit (olion rakenne) Metodit (olion toiminta, c-kielen funktiot) n Kapselointi n Tiedon kätkentä (onion model) Piilottaa kaiken, johon ei ulkopuolelta saa päästä käsiksi (tiedon suojaus) Kätkettyihin tietoihin pääsee käsiksi vain julkisten metodien avulla n Tiedon abstrahointi Javalla 10
11 Luokka n Luokka toimii mallina, jonka perusteella tehdään olioita n Olio on luokan ilmentymä n Kaikilla saman luokan ilmentymillä eli olioilla on samanlaiset attribuuti ja metodit n Attribuuttien arvot ovat kuitenkin jokaisen olion omia Javalla 11
12 Luokka n Attribbuuttien arvot kuvaavat olion tilan Henkilö-luokan attribuutteja voisi olla n Pituus n Nimi n Henkilötunnus n Attribuutit voivat olla tyypiltään Javan alkeistietotyyppejä (kokonaislukuja, merkkejä, jne.) Viittauksia toisiin olioihin (Henkilö-luokan olion attribuutin nimi arvona on viite merkkijono-olioon) Javalla 12
13 Luokka Metodit määrittävät olioiden käyttäytymisen Voivat muuttaa olion tilaa Voivat palauttaa jnkin arvon kutsujalleen Kaikilla luokan olioilla on samat metodit Metodeilla on Nimi Mahdolliset parametrit Runko, joka määrittää metodin toiminnan Javalla 13
14 Luokka n Luokan määrittely Javassa: class LuokanNimi { } attribuutit (eli muuttujat) konstruktori(t) metodit Ohjelmoija saa päättää luokan nimen (älä kuitenkaan käytää ääkkösiä ) Luokan nimi alkaa aina isolla kirjaimella Javalla 14
15 Luokka Luokan ja luokan sisältämän tiedoston nimi aina sama class Henkilo { } Henkilo.java class sanan edessä voi olla muuntimia public, protected, private, abstract, static, final tai strictfp Luokan nimen perässä voi olla tyyppiparametrien määrittely, extends tai implements määreet Javalla 15
16 Luokka n Luokan jäsenille voidaan antaa näkyvyysmääreet public, protected, private Myös oletusnäkyvyys (jätetään merkitsemättä) Javalla 16
17 Luokkakaavio Kuvaa luokasta kaiken olennaisen Ei metodien runkoja (toteutusta) Kuvataan muualla kaavioilla ja algoritmeilla Aika -tunnit: int -minuutit: int -sekunnit:int +Aika(t:int, m:int, s:int) +Aika( ) +gettunnit(): int +getminuutit(): int +getsekunnit(): int +settunnit(t: int) +setminuutit(m: int) +setsekunnit(s: int) +lisaatunti() +lisaatunti(t: int) Luokan nimi Luokan tiedot Luokan toiminnot Javalla 17
18 Luokkakaavio Atribuuttien kuvaaminen näkyvyysmääre attribuutinnimi: tyyppi! Näkyvyysmääre voi olla -, private (yksityinen) +, public (julkinen) #, protected (suojattu) ~, package (pakkaus) Metodien kuvaaminen näkyvyysmääre metodinnimi([param: tyyppi [,param: tyyppi] ]]): tyyppi! Javalla 18
19 Luokkakaavio Luokkakaaviolla kuvataan myös luokkien väliset assosiaatiot Assosiaatiolla nimeen voidaan liittää nuoli (>), joka osoittaa lukusuunnan Koostuminen Viitekorko -nimi: String 1 * koostuu > Korkojakso -alkupvm: Date -loppupvm: Date -korkoprosentti: double Viitekorko koostuu korkojaksoista Assosiaation kertautuminen (kardinaalisuus) Lähde: Vesterholm, Kyppö, Java-ohjelmointi, s. 60 Javalla 19
20 Luokkakaavio Assosiaation kertautuminen (kardinaalisuus) Montako oliota assosiaatio voi vähintään ja enintään yhdistää Viivan päähän n..m, n minimimäärä ja m maksimimäärä n..n voidaan lyhentää: n ja 0..*: * Opiskelija -nimi: String * osallistuu > Kurssi -nimi: String Kurssille voi osallistua maksimissaan 500 opiskelijaa Opiskelija voi osallistua niin monelle kurssille kuin haluaa Javalla 20
21 Luokkakaavio Perityminen (yleistys) Kuvio Ympyrä Suorakulmio Periytymisessä assosioaatio yliluokan ja aliluokan välillä Aliluokka tarkentaa tai erikoistaa yliluokkansa Aliluokat perivät kaikki yliluokkansa ominaisuudet Aliluokassa voi olla lisäominaisuuksia Voidaan muodostaa hierarkioita (eläin, nisäkäs, koira) Javalla 21
22 Luokkakaavio Assosiaatiota kahden luokan välillä kutsutaan koosteeksi Pääluokan olio koostuu komponenttiolioista Kirja koostuu luvuista ja luvut kappaleista Koostuminen kuvataan salmiakkikuviolla, joka sijaitsee koostuvassa päässä Kirja Luku Kappale Javalla 22
23 Luokkakaavio Transitiivisuus Jos A koostuu B:stä ja B koostuu C:stä, niin silloin A koostuu myös C:stä (kirja koostuu myös kappaleista) Asymmetrisyys A:n koostuessa B:stä ei B voi koostua A:sta (luku ei voi koostua kirjasta) Javalla 23
24 Luokkakaavio Aito kooste Komponentti voi olla olemassa ainoastaan pääluokan olion osana Komponentti voi olla osana ainoastaan yhdessä pääluokan oliossa Merkitään täytetyllä salmiakkikuviolla Rakennus * Huone Kun rakennus puretaan häviävät myös huoneet Javalla 24
25 Lisää Javaa, tunnukset ja avainsanat Tunnuksia ovat mm. luokkien, muuttujien, metodien ja attribuuttien nimet Voivat sisältää kirjaimia numeroita alaviivan Tunnus alkaa kirjaimella, ei pituusrajoituksia Kuten aina ohjelmoinnissa, tunnusten tulee olla kuvaavia Isoilla ja pienillä kirjaimilla ero Javalla 25
26 Tunnukset ja avainsanat Luokan nimen ensimmäinen kirjain alkaa isolla kirjaimella Muuttujien, attribuuttien ja metodien nimet alkavat pienellä kirjaimella, mutta voivat sisältää muuten isoja kirjaimia lukumaara pankkitilinnumero laskesumma( ) Javalla 26
27 Tunnukset ja avainsanat Javan avainsanoja ei saa käyttää tunnuksena abstract assert boolean break byte case catch char class const * continue default do double else enum extends false final finally float for goto * if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transient true try void volatile while Javalla 27
28 Muuttujat Javan muuttujia on kahdenlaisia Viitemuuttujat Sisältää viittauksen olioon (viitesemantiikka) Yksinkertaiset muuttuja, sisältävät alkeistyyppisiä tietoja kokonaislukuja reaalilukuja yksittäisiä merkkejä totuusarvoja Javalla 28
29 Muuttujat n Javassa vahva tyypitys n Muuttuja voi sisältää vain tyyppinsä mukaisia arvoja n Väärän tyyppisen tiedon sijoittaminen muuttujan arvoksi tuottaa kääntäjän virheilmoituksen n Sijoitus onnistuu vain jos tietotyypit ovat yhteensopivia ja sijoituksessa ei hukata informaatiota n Muuttujan määrittely: [final] tyyppi muutujannimi; [final] tyyppi nimi1, nimi2,, nimin; Javalla 29
30 Muuttujat Muuttujan määrittely: [final] tyyppi muutujannimi; [final] tyyppi nimi1, nimi2,, nimin; int ika; String nimi; double pituus, paino; final määrellä muuttujasta tehdään lopullinen arvoa ei voi muuttaa alustamisen jälkeen final double mailiakm = 1.609; Javalla 30
31 Tietotyypit Tyyppi Koko Arvoalue boolean true (tosi) tai false (epätosi) char 16 bit merkki, merkin unicode -koodi byte 8 bit kokonaisluku short 16 bit kokonaisluku int 32 bit kokonaisluku long 64 bit kokonaisluku float 32 bit liukuluku 1.4* *10 38, n. 7 numeron tarkkuus double 64 bit liukuluku 4.9* *10 308, n 15 numeron tarkkuus Javalla 31
32 Tietotyypit n float- ja double- tyypeillä kolme erityistä arvoa positiivinen ja negatiivinen ääretön n Float.NEGATIVE_INFINITY n Float.POSITIVE_INFINITY n Double.NEGATIVE_INFINITY n Double.POSITIVE_INFINITY NaN (Not a Number), arvoton lukuarvo n Float.NaN n Double.NaN Javalla 32
33 Muuttujien näkyvyys n Alue jossa muuttujaa voi käyttää Aina sen lohkon sisällä, jossa määritelty Muuttujilla ei voi olla samoja nimiä näkyvyysalueellaan Poikkeuksena attribuutit, jonka nimi voi olla saman kuin paikallisen muuttujan tai metodin parametrin nimi Tällöin muuttujan nimi peittää attribuutin nimen tällöin käytettävä this-avainsanaa Javalla 33
34 Muuttujat, alustaminen Paikallisia muuttujia ei alusteta automaattisesti Sijoitettava arvo ennen käyttöä, muuten kääntäjä antaa virheilmoituksen import java.io.*; public class MuuttujaDemo { public static void main( String [] args ){ final double PII = ; int leveys = 10; int korkeus, ala; korkeus = 25; ala = leveys * korkeus; korkeus = korkeus - 15; ala = leveys * korkeus; int r = 5; double ympyranala = PII * r * r; } } Javalla 34
35 Muuttujat, tulostaminen standardiin tulostusvirtaan Muotoilematon tulostus System.out.print( ); System.out.println( ); import java.io.*; public class TulostusDemo1 { public static void main( String [] args ){ int korkeus = 12, leveys = 10, piiri = 2 * (korkeus + leveys ); System.out.print("Korkeus on "); System.out.println(korkeus); System.out.println("Leveys on " + leveys); System.out.println("Piiri on " + piiri ); } } Javalla 35
36 Muuttujat, tulostaminen standardiin tulostusvirtaan Muotoiltu tulostus printf-metodilla printf(string format, Object args); format (ohjausjono) määrää tulostustavan Ohjausjono sisältää lainausmerkkien sisällä konversiomäärittelyjä sisältävän merkkijonon %[tietokohta$][liput][leveys][.tarkkuuus]konversio Hakasuluissa olevat eivät ole pakollisia %konversio Ohjausjonon perään pilkulla erotettuna ne tiedot, jotka tulostetaan ohjausjonon ohjaamana Javalla 36
37 Muuttujat, tulostaminen standardiin tulostusvirtaan Konversiomerkkejä ovat mm. d, lisää tulostukseen kokonaislukutyyppisen arvon 10- järjestelmän kokonaislukuna f, lisää tiedon desimaalilukuna c, lisää tiedon merkkinä s, lisää tiedon merkkijonona %, lisää %-merkin n, lisää järjestelmäkohtaisen rivinvaihdon Javalla 37
38 Muuttujat, tulostaminen standardiin tulostusvirtaan n Desimaalilukujen tulostuksessa tarkkuus määrää tulostuvien desimaalien lukumäärän n Leveys kertoo kohtaa tulostuvien merkkien minimimäärän n Oletuksena on tulostuksen tasasu kentän oikeasta reunasta n Lipuilla voi hienosäätää tulostusta -, tasaa tulostuksen vasempaan reunaan +, lisää aina luvun etumerkin välilyönti, positiivisille luvuille välilyönti luvun eteen 0, lisää etunollat luvun eteen pilkku, luvun ryhmittely Javalla 38
39 Muuttujat, tulostaminen standardiin tulostusvirtaan n Omalla koneella saattaa tulostus poiketa esimerkeistä n printf tekee luvuille järjestelmän mukaisen tulostuksen muotoilun n Suomalainen muotoilu asetuksiin import java.io.*; import java.util.locale; public class TulostusDemo { public static void main( String [] args ){ double luku = ; System.out.printf("luku on. %5.2f%n", luku); Locale loc = new Locale("fi", "FI"); System.out.printf(loc, "luku on: %5.2f%n", luku); } } Javalla 39
40 Muuttujat, tulostaminen standardiin tulostusvirtaan Ohjelman tulostus luku on: 1.23 luku on: 1,23 Väärän konversion käyttö aiheuttaa ajonaikaisen virhetilanteen double luku = ; System.out.printf("luku on. %5.2d%n", luku); Exception in thread "main" java.util.illegalformatprecisionexception: 2 at java.util.formatter$formatspecifier.checkinteger(formatter.java:2984) at java.util.formatter$formatspecifier.<init>(formatter.java:2729) at java.util.formatter.parse(formatter.java:2560) at java.util.formatter.format(formatter.java:2501) at java.io.printstream.format(printstream.java:970) at java.io.printstream.printf(printstream.java:871) at Malli.main(TulostusDemo.java:9) Javalla 40
41 Muuttujat, tyypinmuunnokset n Java käyttää vahvaa tyypitystä, vääräntyyppisen arvon sijoittaminen aiheuttaa virheen n Staatisen tyypityksen ansiosta virheet havaitaan jo käännösaikana n Muunos voidaan tehdä implisiittisesti (automaattisesti), jos tietoa ei häviä byte -> char -> short -> int -> long -> float -> double eksplisiittisesti, jos muunnoksessa voi hävitä tietoa tyypinmuunnosoperaattori n (tyyppi)lauseke Javalla 41
42 Muuttujat, operaattorit n Muuttujan/arvon tietotyyppi määritää mitä operaatioita muuttujalle sallitaan n Operaattori Operaatio, joka muodostaa arvon operaation kohteiden (operandien) perusteella Kolme kategoriaa, riippuen siitä montako operandia tarvitaan operaatiossa n Unaarioperaattori n Binäärioperaattori n Kolmiarvoinen operaattori (c = a > b? a : b;) Javalla 42
43 Muuttujat, operaattorit Operaattori Aritmeettiset operaattorit + - * / % Yhtäsuuruusoperaattorit ==!= Vertailuoperaattorit < > <= >= Loogiset operaattorit! && Sijoitusoperaattorit = += -= *= /= Erityiset lisäys- ja vähennysoperaattorit Javalla 43
44 Muuttujat, operaattorit Kertolasku ennen jakolaskua Samanarvoiset yhteen- ja vähennyslaskut lasketaan vasemmalta oikealle Operaattorien operandien kehitysjärjestys Vasemmalta oikealle laskea() + laskeb() + laskec(); Ensin luodaan koodi, joka tuottaa laskea():n ja sitten laskeb():n arvon Sitten lasketaan em. arvojen summa ja kehitetään laskec():n arvo ja lasketaan se yhteen edellisen tuloksen kanssa Virheen sattuessa kehittäminen lopetetaan välittömästi Javalla 44
45 Muuttujat, operaattorit Suluilla voi muuttaa laskentajärjestystä Tarvittaessa tehdään automaattisia tyypinmuunnoksia Valinnassa järjestys on double, float, long ja int Jos toinen operandi on int ja toinen float muutetaan int float-tyyppiseksi Reaaliluvuilla laskenta poikkeaa koulumatematiikasta Reaaliluvuilla arvot +0.0 ja -0.0, ovat vertailussa samoja mutta vaikuttavat tuloksen etumerkkiin (1.0/-0-0 = - ) NaN, laskutoimitukset joissa NaN mukana on tulos NaN Javalla 45
46 Muuttujat, operaattorit Poikkeavia laskutoimituksia x y X * y x/y x%y äärell.luku ±0.0 ±0.0 ± NaN äärell.luku ± ± ±0.0 x ±0.0 ±0.0 ±0.0 NaN NaN ± äärell.luku ± ± NaN ± ± ± NaN NaN ± ±0.0 NaN ± NaN Reaalilukulaskennassa kaksi tiukkuusastetta Oletuksena eri virtuaalikoneet eivät tuota tarkalleen samaa tulosta tiukka reaalilukulaskenta strictfp määreellä Javalla 46
47 Muuttujat, tietojen lukeminen käyttäjältä Standardisyöttövirta System.in Lukeminen tavuina Muutettava merkkijonoksi ja muiksi tietotyypeiksi muiden luokkien avulla Javassa luokat Console yksittäisten rivien lukeminen Javalla 47
48 Muuttujat, tietojen lukeminen käyttäjältä import java.io.console; class LueTietoja { private static final Console konsoli = System.console(); public static void main(string [] args){ System.out.print("Anna etunimesi >"); String etunimi = konsoli.readline(); System.out.printf("Terve \"%s\" %n", etunimi); } } Anna etunimesi >Ilkka Terve "Ilkka" Javalla 48
49 Muuttujat, tietojen lukeminen käyttäjältä Luokka Scanner pakkauksessa util Kytketään standardi inputvirtaan (System.in) import java.util.scanner; class LueTietoja { private static final Scanner lukija = new Scanner(System.in); public static void main(string [] args){ System.out.print("Anna etunimesi >"); String etunimi = lukija.nextline(); System.out.printf("Terve \"%s\" %n", etunimi); } } Javalla 49
50 Muuttujat, tietojen lukeminen käyttäjältä Metodeja nextline() lukee rivin tekstiä nextint(), nextlong() lukee kokonaisluvun nextfloat(), nextdouble() lukee desimaaliluvun Javalla 50
51 Ohjausrakenteet Valinta- ja toistorakenteet vaativat jonkin ehtolausekkeen, jonka tuottaman totuusarvon perusteella päätellään mitä tehdään seuraavaksi Totuusarvot, aitoja arvoja toisin kuin vaikka C:ssä boolean- tietotyyppi true! false! boolean onparillinen;! onparillinen = (5 % 2 == 0);! Javalla 51
52 Ohjausrakenteet Javan loogiset operaattorit operaattori selite! negaatio (not) && & ehdollinen JA (and) ehdoton JA ehdollinen TAI (or) ehdoton TAI ^ poissulkeva tai, JOKO TAI (xor) Ehdollinen ja ehdoton ja/tai eroavat toisistaan siinä, että ehdollisissa tapauksissa (&&, ) lausekkeen arvon kehitäminen loppuu heti, kun lausekkeen tulos voidaan päätellä (ns. oikosulkuominaisuus) Javalla 52
53 Ohjausrakenteet Ehtolauset kuten C:ssä if(ehto)! lausea;! else! lauseb;! if(ehto){! lause1;! lause2;! }else{! lause3;! lause4;! }! Javalla 53
54 Ohjausrakenteet Ehto-operaattori int x = 2, y = 5;!! int z = x > y? x-y : x+y; //z on 7! switch -lause! switch( valintaa ohjaava lauseke ){! case arvo1:! lauseet;! break;! case arvo2:! lauseet;! break;! case arvon:! lauseet;! break;! default:! lauseet;! }! Javalla 54
55 Toistorakenteet n Samat kuin C:ssä do {! lause(ita);! }while(ehto); while(ehto) {! lause(ita);! }while! for(alustus; ehto; päivitys){! lause(eita)! }! Javalla 55
56 Toistorakenteet Parannettu versio for-toistorakenteesta Jonkin joukon kaikkien alkioiden läpikäymiseen ns. foreach-silmukka Joukko voi olla Taulukko Jokin Iterable-liittymän totetuttavan luokan olio, esimerkiksi kokoelma (myöhemmin tästä)!! Javalla 56
57 Toistorakenteet for( muodollinen parametri : lauseke ) lause! n Muodollinen parametri määrittelee muuttujan, joka saa arvokseen vuorollaan jokaisen joukon alkion arvon kun suoritetaan lause n Voidaan käyttää mm. taulukoiden yhteydessä Taulukko on lauseke, jonka alkiot käydään läpi public static void tulostataulukko(int [] luvut){! for( int tulostettavaluku : luvut ){! System.out.println(tulostettavaLuku);! }! }! Javalla 57
58 Merkit Merkit kuvataan Unicode-standardin mukaisesti char-tyyppi 16 bittinen ( merkkiä) Laajennttu Unicode -tyyppi, merkit esitetään inttyyppisinä tai kahtena peräkkäisenä char-arvona Erityismerkit \n, \\,sama merkitys kuin C:ssä \uxxx, heksadesimaaliluku, joka kuvaa jonkin Unicode-merkistön merkin (esim. \u03c0 on π) Javalla 58
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ä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ä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ä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 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ä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ä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ätiedotJavan 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ä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ätiedotVertailulauseet. 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ä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ätiedot2. 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ä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ä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ä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ä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ä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ä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ä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ätiedot1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.
EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat
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ä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ä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ä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ätiedotTietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla
Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään
LisätiedotTietotyypit 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ä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ä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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen
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ä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ätiedotC-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ä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ätiedot12. Näppäimistöltä lukeminen 12.1
12. Näppäimistöltä lukeminen 12.1 Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit.
LisätiedotVIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto
Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely Poikkeukset Poikkeuksella tarkoitetaan yllättävää ajonaikaista tilannetta, joka
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ä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ä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 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ätiedotA) 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ä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ä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ä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ätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
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ä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ä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ä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ä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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
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ätiedot5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
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ätiedot815338A 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ä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ä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ätiedot812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 13.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 13.9.2017 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,
LisätiedotSisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2
6. Tiedostot 6.1 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2 Johdanto Tiedostoja on käsitelty uudelleenohjattujen standardisyöteja tulostusvirtojen avulla. Tiedostoja voidaan
Lisätiedot16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
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ätiedotTehtä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ä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ä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ä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ä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ä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ätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n
LisätiedotSisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2
26. Tiedostot 26.1 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2 Johdanto Tiedostoja on käsitelty uudelleenohjattujen standardisyöte- ja tulostusvirtojen avulla. Tiedostoja
LisätiedotPoikkeustenkäsittely
1 Poikkeustenkäsittely Mitä poikkeustenkäsittely tarkoittaa? Poikkeuksen käsitteleminen Poikkeusluokkien hierarkia Poikkeuksen heittäminen 1 Mitä poikkeustenkäsittely tarkoittaa? Poikkeus (Exception) on
LisätiedotJava-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ätiedotSisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2
6. Tiedostot 6.1 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2 Johdanto Tiedostoja on käsitelty uudelleenohjattujen standardisyöte- ja tulostusvirtojen avulla. Tiedostoja voidaan
LisätiedotJAVA-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ä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ätiedot8. Näppäimistöltä lukeminen 8.1
8. Näppäimistöltä lukeminen 8.1 Sisällys Arvojen lukeminen näppäimistöltä Java-kielessä. In-luokka. In-luokka, käännös ja tulkinta Scanner-luokka. 8.2 Yleistä Näppäimistöltä annettujen arvojen (syötteiden)
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. salinovi tai syntymapaiva
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
Lisätiedot6. Muuttujat ja Java 6.1
6. Muuttujat ja Java 6.1 Sisällys Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut. boolean- ja char-tyypit. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
LisätiedotPerusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti
C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin
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ä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ä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. 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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
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ä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ä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ätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
LisätiedotOhjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.
Välikoe / 20.3 Vastaa neljään (4) tehtävään. Jos vastaat 5:een, 4 huonointa arvostellaan. Kunkin tehtävän vastaus eri konseptille. 1. Pöytätesti Pöytätestaa seuraava ohjelma. Tutki ohjelman toimintaa pöytätestillä
Lisätiedot15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
LisätiedotSisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:
Sisällys 6. Muuttujat ja Java Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit: Kokonais- ja liukuluvut, merkit, totuusarvot. Tyyppien yhteensopivuus. Viitetietotyypit ja merkkijonotietotyyppi
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ätiedotSisä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