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

16. Javan omat luokat 16.1

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

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

7/20: Paketti kasassa ensimmäistä kertaa

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

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

7. Näytölle tulostaminen 7.1

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

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

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

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

Java-kielen perusteet

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

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

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

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

Java-kielen perusteet

Metodien tekeminen Javalla

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

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

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

Ohjelmointi 1 Taulukot ja merkkijonot

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

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

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

7. Oliot ja viitteet 7.1

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

Java-kielen perusteita

Pakkauksen kokoaminen

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

Taulukot. Jukka Harju, Jukka Juslin

1. Omat operaatiot 1.1

Pakkauksen kokoaminen

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

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

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Java kahdessa tunnissa. Jyry Suvilehto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

14. Poikkeukset 14.1

ITKP102 Ohjelmointi 1 (6 op)

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

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

6. Muuttujat ja Java 6.1

ITKP102 Ohjelmointi 1 (6 op)

Merkkijonon tutkiminen matches-metodilla

ITKP102 Ohjelmointi 1 (6 op)

Olio-ohjelmointi Javalla

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

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

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

14. Poikkeukset 14.1

Harjoitus 4 (viikko 47)

18. Abstraktit tietotyypit 18.1

15. Ohjelmoinnin tekniikkaa 15.1

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

Listarakenne (ArrayList-luokka)

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

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

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

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

Kielioppia: toisin kuin Javassa

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

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

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

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

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

Sisällys. 6. Muuttujat ja Java. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujien nimeäminen. Muuttujan tyypin määritys. Javan tietotyypit:

Rajapinta (interface)

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1

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

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

6. Muuttujat ja Java 6.1

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

Muuttujat ja kontrolli. Ville Sundberg

Harjoitus 5 (viikko 48)

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Rutiinin muodostaminen. 2. Rutiinin muodostaminen. specification) Määrittely (specification( Määrittelyn osapuolet. Hyvän ohjelman tunnusmerkit

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

15. Ohjelmoinnin tekniikkaa 15.1

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

Harjoitus 2 (viikko 45)

1. Mitä tehdään ensiksi?

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

Metodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet

Java-kielen perusteita

812341A Olio-ohjelmointi, Peruskäsitteet, jatkoa

Metodien tekeminen Javalla

Ohjelmoinnin perusteet Y Python

Osio2, olio-ohjelmointi: Luokkien ja olioiden käyttäminen Jukka Juslin

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. 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. Useimpia operaatioita kutsutaan olion (muuttujan) nimen kautta, jolloin operaatio kohdistuu olioon. Joitain String-luokan operaatioista kutsutaan In-luokan operaatioiden tapaan luokan nimen kautta. 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. 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). String kielennimi = "Java"; int jononpituus = kielennimi.length(); // 4 Tietty merkkijonon kirjain voidaan lukea charat(int i)- operaatiolla, missä parametri i on indeksiarvo ja operaation tuloksen tyyppi on char. 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. 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. 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 muuntaa alkeistyyppisen parametrinsa merkkijonoksi. Operaatio on kuormitettu: parametri voi olla esimerkiksi inttai double-tyyppinen. 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

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

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) Pyöristää liukulukutyyppisen parametrinsa. Palauttaa pyöristetyn arvon. b pow(a, b) Potenssiin korotus. Palauttaa tuloksen. sqrt(a) Neliöjuuren lasku a. Palauttaa tuloksen. a 17.13