Tuloksellinen Java-ohjelmointi Luku 2 Ensimmäiset ohjelmat

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

15. Loogiset operaatiot.
© Jukka Juslin1 Ohjelmointitaito (ict1td002, 12 op) Opintojakson esittely Kevät 2008 Jukka Juslin, Raine Kauppinen Tuloksellinen Java-ohjelmointi.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Lisäosa: GUI
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 13 Monimuotoisuus.
JavaScript (c) Irja & Reino Aarinen, 2007
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 12 Periytyminen.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 6 (osittain) Tiedostot.
Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1
Tuloksellinen Java-ohjelmointi Luku 9 Taulukot ja perustietorakenteet
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
© Jukka Harju, Jukka Juslin
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Ehto- ja toistolauseet.
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
TyyppimuunnoksettMyn1 Tyyppimuunnokset Joskus kääntäjän on tehtävä itse päätöksiä, jos ohjelmoija ei ole ajatellut yksityiskohtia: int arvo1=10; long arvo2=25;
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi Luku 4 Ehto- ja toistolauseet Tuloksellinen Java-ohjelmointi.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
TAULUKKO YKSIULOTTEINEN TAULUKKO. TAULUKKO  Taulukon tarkoitus Ohjelmassa tarvitaan paljon samantyyppisiä samaan kohdealueeseen kuuluvia muuttujia Näitä.
13. Hyvä ohjelmointitapa (osa 1)
© Jukka Harju, Jukka Juslin
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 2 Ensimmäiset ohjelmat © Jukka Harju, Jukka Juslin.
Java Java on Sun Microsystems yhtiön kehittämä laaja olio-pohjainen ohjelmointikieli, joka on laitteistoriippumaton. Laitteistoriippumattomuudessa on.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
String-vertailusta ja Scannerin käytöstä (1/2)
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
20. Javan omat luokat.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi Lisäosa: GUI Tuloksellinen Java-ohjelmointi.
22. Taulukot.
© Jukka Juslin1 Tiedostot Tuloksellinen Java-ohjelmointi.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
© Lewis & Loftus & Jukka Juslin1 Tietotyypit ja lausekkeet.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Johdatus ohjelmointiin – C kielen peruselementit Tutkijayliopettaja Manne Hannula Opetusharjoittelu (ohjaava opettaja Jukka Jauhiainen)
2. Lisää Java-ohjelmoinnin alkeita
© Jukka Harju, Jukka Juslin1 Tuloksellinen Java-ohjelmointi HashMap, Properties, Logger, etc Tuloksellinen Java-ohjelmointi.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
Visual Basic -ohjelmointi
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
15. Ohjelmoinnin tekniikkaa
Tiedostot. 8.2 Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen.
String-vertailusta ja Scannerin käytöstä (1/2)
6. Tiedostot.
17. Javan omat luokat.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
7. Näytölle tulostaminen
9. Aritmeettiset operaatiot
9. Aritmeettiset operaatiot
16. Ohjelmoinnin tekniikkaa
7. Näytölle tulostaminen
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

Tuloksellinen Java-ohjelmointi Luku 2 Ensimmäiset ohjelmat © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tuloksellinen Java-ohjelmointi Nämä kalvot on lisensoitu Creative Commons Attribution-ShareAlike 1.0 -lisenssillä. Lisäys edelliseen lisenssiin: Kalvojen muokkaaminen on sallittu vain opettajille, joiden kursseilla käytetään kurssikirjana Tuloksellinen Java-ohjelmointi -kirjaa. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Sisältö Tuloksellinen Java-ohjelmointi Luvussa tarkastellaan ensimmäistä toimivaa Java- ohjelmaa, Eclipsen perusteita ja tietotyyppejä. 2 Ensimmäiset ohjelmat 2.1 Ensimmäinen Java-ohjelma 2.2 Java-ohjelman toteuttaminen Eclipsellä 2.3 Java-API 2.4 Tietotyypit 2.5 Sijoittaminen 2.6 Operaattorit 2.7 Tyyppimuunnokset © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Missä ollaan? Tuloksellinen Java-ohjelmointi Ensimmäinen Java-ohjelma Java-ohjelman toteuttaminen Eclipsellä Java-API Tietotyypit Sijoittaminen Operaattorit Tyyppimuunnokset © Jukka Harju, Jukka Juslin

Ensimmäinen Java-ohjelma Tuloksellinen Java-ohjelmointi Ensimmäinen ohjelma tulostaa ruudulle tekstin “Kone on kaapattu Kuubaan!”. public class Tulostus { public static void main(String[] args) { System.out.println("Kone on kaapattu Kuubaan!"); } © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin main-metodi Tuloksellinen Java-ohjelmointi Jokainen Java-ohjelma käynnistyy main-metodista. Main-metodi määritellään aina samalla tavalla public static void main(String[] args) { //ohjelmalauseet } Myöhemmin opitaan mitä yo määrittely tarkoittaa. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin String eli merkkijono Tuloksellinen Java-ohjelmointi String on eräs Javan yleisimmistä tietotyypeistä. Tietotyyppi kertoo minkälaista tieto muuttujaan voidaan tallentaa. String-tyyppinen muuttuja voi sisältää merkkijonon. Merkkijono kirjoitetaan Javassa lainausmerkkien sisään. Esimerkkejä: "Merkkijono" "Tämä on String-tyyppinen tieto" Jokainen String-tyyppinen tieto on Javan String-luokan olio. © Jukka Harju, Jukka Juslin

System.out.println ("Kone on kaapattu Kuubaan!"); println-metodi Tuloksellinen Java-ohjelmointi Edellisessä esimerkissä käytetiin println-metodia merkkijonon tulostamiseen. System-luokan attribuutti out edustaa käyttäjän näytölle ohjautuvaa tietovirtaa, johon merkkijono lähetetään. System.out.println ("Kone on kaapattu Kuubaan!"); Kutsuttava metodi Informaatio metodille (parametrit) © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin print-metodi Tuloksellinen Java-ohjelmointi System.out-oliolle on käytettävissä myös toinen tulostusmetodi. print-metodi on toimii muuten kuten println- metodi, mutta print-metodi ei tee tulostuksen loppuun rivinvaihtoa. © Jukka Harju, Jukka Juslin

Merkkijonojen yhdistäminen Tuloksellinen Java-ohjelmointi Merkkijonojen yhdistämisoperaattoria "+" käytetään liittämään merkkijonoja yhteen: "Yksi kahvi " + " ja kaksi maitoa" "+"-operaattoria voidaan myös käyttää liittämään numeroita merkkijonoon: 1 + " kahvi " + " ja " + 2 + " maitoa" © Jukka Harju, Jukka Juslin

Merkkijonojen yhdistäminen Tuloksellinen Java-ohjelmointi "+"-operaattoria käytetään myös lukujen yhteen laskemiseen. Jos ainakin yksi operandi on String-tyyppinen, toimii "+"-operaattori tietoja yhdistäen. Jos kaikki operandit ovat numeerisia, toimii "+"- operaattori tietoja yhteen laskien. "+"-operaattori evaluoidaan vasemmalta oikealle, mutta sulkeita voidaan käyttää muuntelemaan evaluointijärjestystä. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Missä ollaan? Tuloksellinen Java-ohjelmointi Ensimmäinen Java-ohjelma Java-ohjelman toteuttaminen Eclipsellä Java-API Tietotyypit Sijoittaminen Operaattorit Tyyppimuunnokset © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Eclipse Tuloksellinen Java-ohjelmointi Ohjelmoitaessa Eclipsellä tarvitaan aina projekti. Javaa ohjelmoitaessa käytetään Java-projektia (File  New  Java Project). Projektiin voidaan luoda luokkia (File  New  Class). Luokat tulee kääntää ennen niiden ajamista Project-valikon toiminnoin. Ajettavan luokan tulee sisältää main-metodi. Ajettavan luokan tulee olla ensimmäisellä ajokerralla aktiivisena editori-ikkunassa, jotta se voidaan ajaa (Run  Run As  Java Application). © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Java API Tuloksellinen Java-ohjelmointi Java SE 5:n API sijaitsee osoitteessa http://java.sun.com/j2se/1.5.0/docs/api/ . API on eräs Java-ohjelmoijan tärkeimmistä tietolähteistä, sitä kannattaa opetella käyttämään heti alusta alkaen! © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Java API Tuloksellinen Java-ohjelmointi API koostuu seuraavista osista. Pakkausluettelo Luokan kuvaus Pakkauksen sisältämät luokat © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Missä ollaan? Tuloksellinen Java-ohjelmointi Ensimmäinen Java-ohjelma Java-ohjelman toteuttaminen Eclipsellä Java-API Tietotyypit Sijoittaminen Operaattorit Tyyppimuunnokset © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tietotyypit Tuloksellinen Java-ohjelmointi Muuttuja on tietokoneen muistipaikan nimi. Muuttuja pitää esitellä määrittelemällä muuttujan nimi ja muuttujan sisältämän tiedon tyyppi eli tietotyyppi. tietotyyppi muuttujan nimi int summa; String teksti; © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tietotyyppi int Tuloksellinen Java-ohjelmointi int-tyyppinen muuttuja voi sisältää vain kokonaislukuja. int-tyyppiset arvot ovat aina välillä -2147483648 – 2147483647. Esimerkkejä int-tyyppisistä muuttujista: int laskuri; int lukumaara; Katso myös kirjan esimerkki 2.2. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Muuttujan alustus Tuloksellinen Java-ohjelmointi Muuttujien esittelyn yhteydessä muuttujalle voidaan antaa alkuarvo. int summa = 0; Käyttäen erottimena pilkkua, voidaan määritellä useita samaa tietotyyppiä olevia muuttujia. int minimi = 1, maksimi = 100; © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tietotyyppi double Tuloksellinen Java-ohjelmointi double-tyyppinen muuttuja sisältää desimaalilukuja. double-tietotyypin arvoalue on todella suuri: 4.9 * 10 ^ 324 - 1.7976931348623157 * 10 ^ 308 Desimaalierottimena käytetään pistettä. Esimerkkejä double-tyyppisistä muuttujista: double palkka = 4500; double matka = 10.5; Katso myös kirjan esimerkki 2.3. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tietotyyppi boolean Tuloksellinen Java-ohjelmointi boolean-tietotyypillä esitetään totuusarvoa: boolean-tyyppisen muuttujan arvo on aina joko true tai false. boolean-tyyppiä tarvitaan erityisesti ehtolausekkeiden yhteydessä (ks. Luku 4). Esimerkki boolean-tyyppisestä muuttujasta: boolean totuusarvo = true; Katso myös kirjan esimerkki 2.4. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tietotyyppi char Tuloksellinen Java-ohjelmointi char-tietotyypillä voidaan esittää yksittäinen merkki. char-tyyppinen tieto kirjoitetaan heittomerkkien sisään. Esimerkkejä char-tyyppisistä muuttujista: char vastaus = 'K'; char numeerinenMerkki = '1'; Katso myös kirjan esimerkki 2.5. © Jukka Harju, Jukka Juslin

Muut alkeistietotyypit Tuloksellinen Java-ohjelmointi Edellisten tietotyyppien lisäksi Javassa on seuraavat alkeistietotyypit. byte: voi sisältää vain kokonaislukuja välillä -128 - 127 short: voi sisältää vain kokonaislukuja välillä -32768 - 32767 long: voi sisältää myös todella suuria kokonaislukuja, arvoalue -9223372036854775808 - 9223372036854775807 float: tarkoitettu pienempien desimaalilukujen käsittelyyn kuin double-tyyppi, arvoalue 1.4 * 10 ^ -45 - 3.4028235 * 10 ^ 38 © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Missä ollaan? Tuloksellinen Java-ohjelmointi Ensimmäinen Java-ohjelma Java-ohjelman toteuttaminen Eclipsellä Java-API Tietotyypit Sijoittaminen Operaattorit Tyyppimuunnokset © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Sijoittaminen Tuloksellinen Java-ohjelmointi Sijoitusoperaatio muuttaa muuttujan arvoa. Sijoitusoperaattori on "="-merkki. int arvo = 55; Yhtäsuuruusmerkin oikealla puolella oleva arvo (tai lausekkeen tulos) sijoitetaan vasemmalla puolella olevaan muuttujaan. Muuttujaan voidaan sijoittaa vain muuttujan tietotyypin mukaisia arvoja. © Jukka Harju, Jukka Juslin

final int KENTAN_MAKSIMIPITUUS = 10; Vakiomuuttujat Tuloksellinen Java-ohjelmointi Vakiomuuttuja on muuttuja jolle voidaan suorittaa sijoitusoperaatio vain kerran. Kääntäjä antaa virheilmoituksen, mikäli sijoitusta yritetään useammin kuin kerran. Javassa käytetään final-sanaa määrittelemään muuttuja vakiomuuttujaksi. Vakiomuuttujan nimi kirjoitetaan Javassa isoin kirjaimin ja nimen osat erotellaan alaviivalla. Esimerkki. final int KENTAN_MAKSIMIPITUUS = 10; © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Missä ollaan? Tuloksellinen Java-ohjelmointi Ensimmäinen Java-ohjelma Java-ohjelman toteuttaminen Eclipsellä Java-API Tietotyypit Sijoittaminen Operaattorit Tyyppimuunnokset © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Operaattorit Tuloksellinen Java-ohjelmointi Operaattori kertoo minkälainen toimenpide operandeille halutaan suorittaa. Javan aritmeettiset operaattorit suorittavat matematiikasta tuttuja laskutoimituksia. Laskutoimitus Operaattori Summa + Erotus - Kertolasku * Jakolasku / Jakojäännös © Jukka Harju, Jukka Juslin

Aritmeettiset operaattorit Tuloksellinen Java-ohjelmointi Esimerkkejä aritmeettisten operaattorien käytöstä. int summa = 1 + 2; int jakaja = 3; int osamaara = summa / jakaja; int jakojaannos = summa % jakaja; int tulo = osamaara * jakaja; int erotus = 10 -5 ; Katso myös kirjan esimerkki 2.7. © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Operaattorit Tuloksellinen Java-ohjelmointi Operaattoreille on olemassa myös lyhennysmerkintöjä. Kaikki lyhennysmerkinnät on lueteltu taulukossa 2.2, yleisimpiä näistä ovat muuttujan arvon kasvatus / vähennys yhdellä: int laskuri = 1; laskuri++; //kasvattaa laskurin arvoa yhdellä laskuri--; //vähentää laskurin arvosta luvun 1 © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Missä ollaan? Tuloksellinen Java-ohjelmointi Ensimmäinen Java-ohjelma Java-ohjelman toteuttaminen Eclipsellä Java-API Tietotyypit Sijoittaminen Operaattorit Tyyppimuunnokset © Jukka Harju, Jukka Juslin

© Jukka Harju, Jukka Juslin Tyyppimuunnokset Tuloksellinen Java-ohjelmointi Usein on tarpeen muuntaa tiedon tietotyyppiä. Esimerkki: kokonaislukua (int) voidaan haluta käsitellä desimaalilukuna (double). Tällainen muunnos saadaan aikaan kirjoittamalla haluttu tietotyyppi sijoitettavan arvon eteen sulkuihin: int osoittaja = 3; double tulos = (double) osoittaja / 2; Tyyppimuunnosten kanssa täytyy olla varovainen, sillä niissä saatetaan kadottaa tietoa. © Jukka Harju, Jukka Juslin