Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

20. Javan omat luokat.

Samankaltaiset esitykset


Esitys aiheesta: "20. Javan omat luokat."— Esityksen transkriptio:

1 20. Javan omat luokat

2 Sisällys Application Programming Interface (API). Pakkaukset.
Merkkijonoluokka String. Math-luokka. Kääreluokat.

3 Java API Java-kielen Application Programming Interface (API) on kokoelma Javan omia luokkia, joista osa on valmiiksi ohjelmoitu ja osa määrittelee rajapintoja. Javan versiokohtainen API-dokumentaatio on luettavissa Internetissä. Esimerkiksi version 1.7 dokumentit löytyvät osoitteesta: Linkki kurssin verkkosivuilla.

4 Pakkaukset API on jaettu pienempiin kokonaisuuksiin eli pakkauksiin (package), koska Javan omia luokkia on satoja. java.lang-pakkauksen luokkia (esimerkiksi String ja Math) voidaan käyttää suoraan ilman eri pyyntöä. Pakkaukset sijaitsevat nimeään vastaavissa alihakemistoissa: esimerkiksi java.lang-paketin luokat ovat Java-ympäristön alihakemistossa java\lang

5 Pakkaukset Nyt riittää tietää kuinka pakkauksen luokat saadaan käyttöön - pakkauksia ei tarvitse osata tehdä itse. Pakkauksen luokat tuodaan ohjelman käyttöön import-lauseella, jolla voidaan sisällyttää useampia pakkauksia. import-lauseet tiedoston alkuun ennen luokkaa. // Esim. Käyttöön java.util-pakkauksen kaikki luokat. import java.util.*; public class PakettiTesti { … }

6 String-luokka Vaikka merkkijonot ovat String-luokan olioita, tämän tyyppiset tunnukset voidaan esitellä, ja niihin voidaan myös sijoittaa, alkeistyyppien tapaan. Esim. String tervTre = "Moro!"; String tervKuo = new String("Päevee!"); Merkkijonoliteraalit merkitään lainausmerkeillä. Pienet ja isot kirjaimet ovat eri asia. +-operaatiolla merkkijonoihin voidaan yhdistää alkeistyyppisiä arvoja ja merkkijonoja.

7 String-luokka Luokan palvelut saatavilla ilman import-lausetta.
Koska String-luokan metodit eivät kuulu omaan ohjelmaan (luokkaan), metodeja kutsutaan pistenotaatiolla joko olion tai luokan nimen kautta. Esim. String mjono = "ABC - kissa kävelee."; int mjonoPit = mjono.length(); // 20 String mjono = String.format("%.2f", osamaara);

8 String-luokka Merkkeihin viitataan nollasta alkavalla indeksillä. Ensimmäinen kirjain on kohdassa 0, toinen kohdassa 1 ja viimeinen kohdassa n – 1, missä n on jonon pituus. Indeksiarvoja annetaan monien String-luokan metodien parametreiksi. Huom! Yksiulotteiset taulukot ovat eri asia kuin merkkijonot! Indeksi 1 2 3 Merkki J a v

9 Joitakin String-luokan metodeja
int length()-metodi palauttaa merkkijonon pituuden. Esim. String mjono = "Java"; int l = mjono.length(); // 4 Tietty merkkijonon kirjain voidaan lukea char charAt(int i)-metodilla, missä parametri i on indeksi ja operaation tuloksen tyyppi char. Esim. char toinenMerkki = mjono.charAt(1); // ′a′

10 Joitakin String-luokan metodeja
int indexOf(int c)-metodi palauttaa merkin c ensimmäisen paikan merkkijonossa. Mikäli merkkijono ei sisällä merkkiä, palautetaan -1. Esim. String mjono = "Java"; int i = mjono.indexOf('a'); // 1 int j = mjono.indexOf('q'); // -1

11 Joitakin String-luokan metodeja
boolean equals(String s)-metodi tutkii ovatko merkkijonojen merkit samat. Yhtä- ja erisuuruusoperaatiot (==, !=) eivät sovellu merkkijonomuuttujien vertailuun. Esim. String mjono1 = new String("Java"); String mjono2 = new String("Java"); // true boolean samat1 = mjono1.equals(mjono2); // false boolean samat2 = mjono1 == mjono2;

12 Joitakin String-luokan metodeja
valueOf(int c)-metodi muuntaa alkeistyyppisen parametrinsa merkkijonoksi. Metodi on kuormitettu: parametri voi olla esimerkiksi int- tai double-tyyppinen. Esim. String klmjono = String.valueOf(123); String llmjono = String.valueOf(1.23); String-tyyppistä merkkijonoa ei voi muuttaa. Ei metodia esimerkiksi yksittäisen merkin muuttamiseen. StringBuffer- ja StringBuilder-tyyppiset jonot muuttuvat.

13 String-luokka 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); }

14 Math-luokka Luokan rakentaja yksityinen  Luokasta ei voida luoda olioita. Vain luokkametodeja, joita kutsutaan luokan nimen kautta. Esim. // Satunnaisluku väliltä [0, 1[. double satluku = Math.random();

15 Joitakin Math-luokan metodeja
abs-metodi palauttaa parametrinsa itseisarvon. Metodi kuormitettu siten, että parametri voi olla double-, float-, int- tai long-tyyppiä. Esim. double lluku = -1.23; lluku = Math.abs(lluku); // 1.23 int kluku = -10; System.out.println(Math.abs(kluku)); // 10

16 Joitakin Math-luokan metodeja
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. pow(a, b) Potenssiin korotus Palauttaa tuloksen. sqrt(a) Neliöjuuren lasku Palauttaa tuloksen.

17 Kääreluokat java.lang-pakkaus sisältää alkeistyyppejä vastaavat niin sanotut kääreluokat (wrapper class). Esim. double-tyyppiä vastaa Double-luokka. Rakentajille voidaan antaa parametriksi joko alkeistyypin arvo tai merkkijono. Esim. Double d = new Double(1.23); Java käärii alkeistyyppisiä arvoja myös automaattisesti. Esim. Double d = 1.23; Kääreluokkien valueOf-metodilla voidaan muuttaa merkkijono kääreluokan olioksi ja toString-metodilla olio merkkijonoksi. Esim. Integer luku = Integer.valueOf("10");


Lataa ppt "20. Javan omat luokat."

Samankaltaiset esitykset


Iklan oleh Google