17. Javan omat luokat 17.1

Samankaltaiset tiedostot
17. Javan omat luokat 17.1

20. Javan omat luokat 20.1

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

Java-kielen perusteet

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

16. Javan omat luokat 16.1

Metodien tekeminen Javalla

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia

7. Näytölle tulostaminen 7.1

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

Java-kielen perusteet

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

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

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

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

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

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

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

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

7/20: Paketti kasassa ensimmäistä kertaa

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

7. Oliot ja viitteet 7.1

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

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

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

Pakkauksen kokoaminen

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

Pakkauksen kokoaminen

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

Olio-ohjelmointi Javalla

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

Java-kielen perusteita

Java-kielen perusteet

12. Näppäimistöltä lukeminen 12.1

1. Omat operaatiot 1.1

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

14. Poikkeukset 14.1

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

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

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

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

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

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

Listarakenne (ArrayList-luokka)

14. Poikkeukset 14.1

Rajapinta (interface)

Taulukot. Jukka Harju, Jukka Juslin

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

Merkkijonon tutkiminen matches-metodilla

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmointi 2 / 2010 Välikoe / 26.3

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

Java kahdessa tunnissa. Jyry Suvilehto

Java-kielen perusteita

Mikä yhteyssuhde on?

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

Ohjelmointi 1 Taulukot ja merkkijonot

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

Metodien tekeminen Javalla

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

11. Javan valintarakenteet 11.1

ITKP102 Ohjelmointi 1 (6 op)

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

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

Taulukoiden käsittely Javalla

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

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

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä

19. Olio-ohjelmointia Javalla 19.1

Luokkakirjastot. esiintymämetodien käytöstä:

9. Periytyminen Javassa 9.1

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

9. Periytyminen Javassa 9.1

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

13. Loogiset operaatiot 13.1

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

Harjoitus 4 (viikko 47)

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

1 Tehtävän kuvaus ja analysointi

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

6. Muuttujat ja Java 6.1

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

15. Ohjelmoinnin tekniikkaa 15.1

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

6. Muuttujat ja Java 6.1

18. Abstraktit tietotyypit 18.1

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

Luokan sisällä on lista

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

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

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

12. Monimuotoisuus 12.1

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Transkriptio:

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) on kokoelma Javan omia luokkia, joista osa on valmiiksi ohjelmoitu ja osa määrittelee rajapintoja. API-dokumentaatio on luettavissa Internetissä. API on jaettu pienempiin kokonaisuuksiin eli pakkauksiin (package), koska Javan omia luokkia on satoja. Pakkaukset sijaitsevat nimeään vastaavissa alihakemistoissa: esimerkiksi java.lang-paketin luokat ovat Java-ympäristön alihakemistossa java\lang 17.3

Pakkaukset Pakkauksen luokat tuodaan ohjelman käyttöön importlauseella, jolla voidaan sisällyttää useampia pakkauksia. import-lauseet lisätään tiedoston alkuun ennen luokkaa. // Otetaan käyttöön java.util-pakkauksen kaikki luokat. import java.util.*; public class PakettiTesti { java.lang-pakkauksen luokkia (esimerkiksi String ja Math) voidaan käyttää suoraan ilman eri pyyntöä. Tällä kurssilla riittää tietää mitä pakkauksen ovat pakkauksia ei tarvitse osata tuoda ohjelmaan tai tehdä itse. 17.4

String-luokka Vaikka merkkijonot ovat String-luokan olioita, tämän tyyppiset tunnukset voidaan esitellä, ja niihin voidaan myös sijoittaa, alkeistyyppien tapaan. Esimerkiksi: String tervtre = "Moro!"; String tervkuo = new String("Päevee!"); Merkkijonoarvot suljetaan lainausmerkkeihin. Pienet ja isot kirjaimet ovat eri asia. Merkkijonoihin voidaan yhdistää +-operaatiolla alkeistyyppisiä arvoja ja merkkijonoja. Luokan palvelut ovat saatavilla ilman import-lausetta. 17.5

String-luokka Koska String-luokan operaatiot eivät ole osa omaa ohjelmaa (luokkaa), on niitä kutsuttava kutsuttava pistenotaatiolla. Joitain String-luokan operaatioista kutsutaan In-luokan operaatioiden tapaan luokan nimen kautta. Useimpia operaatioita kutsutaan olion (muuttujan) nimen kautta, jolloin operaatio kohdistuu olioon. Esimerkki: String mjono = "ABC - kissa kävelee."; // Pyydetään merkkijonoa kertomaan pituutensa. int jononpituus = mjono.length(); // 20 // Muutetaan kokonaisluku merkkijonoksi. String lukujonona = String.valueOf(123); 17.6

String-luokka Merkkijononon merkkeihin viitataan nollasta alkavalla indeksillä. Ensimmäisen kirjaimen indeksiarvo on 0, toisen 1 ja viimeisen n 1, missä n on jonon pituus. Esimerkki: String kielennimi = "Java"; Indeksi 0 1 2 3 Merkki J a v a Indeksiarvoja annetaan monien String-luokan operaatioiden parametreiksi. Javassa merkkijonot ja taulukot ovat eri asia. 17.7

Joitakin String-luokan operaatioita Operaatio length() palauttaa merkkijonon pituuden (int). Esimerkki: String kielennimi = "Java"; int jononpituus = kielennimi.length(); // 4 Tietty merkkijonon kirjain voidaan lukea charat(int i)- opraatiolla, missä parametri i on indeksiarvo ja operaation tuloksen tyyppi on char. Esimerkki: String kielennimi = "Java"; char toinenmerkki = mjono.charat(1); // a 17.8

Joitakin String-luokan operaatioita Operaatio indexof(int c) palauttaa merkin c ensimmäisen esiintymän indeksiarvon merkkijonon alusta lukien. Jos merkkijono ei sisällä merkkiä, paluuarvo on -1. Java muuttaa parametrin tyypin automaattisesti merkistä luvuksi. Esimerkki: String kielennimi = "Java"; // Merkkijonossa on kaksi pientä a-kirjainta, // joista ensimmäinen on toisessa paikassa. int inda = kielennimi.indexof('a'); // 1 // Merkkijonossa ei ole pientä q-kirjainta. int indq = kielennimi.indexof('q'); // -1 17.9

Joitakin String-luokan operaatioita Operaation equals(string s) tutkii ovatko merkkijonojen merkit samat ja kertoo vertailun tuloksen booleantyyppisellä paluuarvolla. Yhtä- ja erisuuruusoperaatiot (==,!=) eivät sovellu merkkijonomuuttujien vertailuun, koska kyseessä ovat oliot. Esimerkki: String mjono1 = new String("Java"); String mjono2 = new String("Java"); // true boolean samat1 = mjono1.equals(mjono2); // false boolean samat2 = mjono1 == mjono2; 17.10

Joitakin String-luokan operaatioita Operaatio valueof(int c) muuntaa alkeistyyppisen parametrinsa merkkijonoksi. Operaatio on kuormitettu: parametri voi olla esimerkiksi inttai double-tyyppinen. Esimerkki: String klmjono = String.valueOf(123); String llmjono = String.valueOf(1.23); String-tyyppistä merkkijonoa ei voi muuttaa. Ei operaatiota esimerkiksi yksittäisen merkin muuttamiseen. StringBuffer- ja StringBuilder-tyyppiset jonot muuttuvat. 17.11

String-luokan operaatiot toimessa public class VaihdaKirjain { public static void main(string[] args) { String sana = "Saari"; // Muutettava merkkijono. char vanhamerkki = 'a'; // Vanha merkki. char uusimerkki = 'i'; // Uusi merkki. String apu = ""; // Väliaikainen muuttuja. for (int i = 0; i < sana.length(); i = i + 1) if (sana.charat(i) == vanhamerkki) // Löytyi vaihdettava merkki. apu = apu + uusimerkki; else // Jokin muu merkki. apu = apu + sana.charat(i); sana = apu; System.out.println(sana); } } 17.12

Math-luokka Operaatioita kutsutaan luokan nimen kautta. Esimerkiksi: // Satunnaisluku väliltä [0, 1[. double satluku = Math.random(); Luokan operaatiot ovat kuormitettuja. Esimerkiksi parametrinsa itseisarvon palauttavar abs-operaatio hyväksyy double-, float-, int- tai long-tyyppisiä parametreja. Esimerkki: double lluku = -1.23; lluku = Math.abs(lluku); // 1.23 int kluku = -10; System.out.println(Math.abs(kluku)); // 10 17.13

Joitakin Math-luokan operaatioita min(a, b) Palauttaa pienemmän parametreistaan a ja b. max(a, b) Palauttaa suuremman parametreistaan a ja b. round(a) pow(a, b) sqrt(a) Pyöristää liukulukutyyppisen parametrinsa. Palauttaa pyöristetyn arvon. a b Potenssiin korotus. Palauttaa tuloksen. Neliöjuuren lasku a. Palauttaa tuloksen. 17.14