Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()

Samankaltaiset esitykset


Esitys aiheesta: "Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()"— Esityksen transkriptio:

1 Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print() tai System.out.println() tulostaa tekstiä näytölle •Kommentit muotoa /*...*/, // tai /**...*/

2 Javatyökalut •Vapaasti haettavissa osoitteesta www.javasoft.com www.javasoft.com •”javac”-työkalu kääntää ohjelman bytecode- muotoon (kääntäjä) •”java” suorittaa bytecode-muodossa olevan ohjelman (virtuaalikone)

3 Muuttujien perustyypit •Kuten ”C”-kielessä •Tyyppi ”boolean” lisätty •Tyyppi ”int” 4 tavua, ”C”-kielessä 2 tavua •Vastaavasti ”long int” on 8 tavua •Muita tyyppejä luokkien avulla

4 Ohjausrakenteet •Kuten ”C”-kielessä –if –while –for –do-while –switch

5 Tekstimuuttujat •Erityinen luokka/tyyppi nimeltään String •Ainoa operaatio mitä voi soveltaa on konkateeraus operaattorilla ”+” •String-muuttujan arvo voi muuttua, mutta ei itse teksti –”heippa ” + ”maailma” luo uuden kopion kummastakin tekstistä •Voi vaikuttaa oudolta, mutta on erittäin kätevää!

6 Taulukot •Olioita kuten melkein kaikki muukin Javassa •Taulukko-olion määrittely: int[] kokotaulu; •Luonti new-operaattorilla: int[] kokotaulu = new taulu[10];

7 Omien luokkien määrittely class OmaLuokka { // Jotakin koodia } •Käytettävä ”public”-määrettä mikäli halutaan käyttää muissa lähdetiedostoissa

8 Ilmentymämuuttujat ja -metodit •Ilmentymämuuttujat määritellään luokan sisällä, ei metodin sisällä •Ilmentymämetodit samoin •Avainsanaa ”static” ei käytetä ilmentymämuuttujille eikä –metodeille!

9 Avainsana ”this” •Metodin koodissa viittaa ”tähän” olioon, eli siihen olioon jolle metodia on kutsuttu •Esim: public class Joku { private int jokin; public void asetaJokin(int jokin) { this.jokin = jokin; }

10 Konstruktorimetodi •Alustaa uuden olion toivottuun tilaan •Samanniminen kuin luokka •Tulee yleisesti olla näkyvyyttä ”public”

11 Luokkamuuttujat ja -metodit •Määritellään aivan kuten ilmentymä-vastaaville, mutta lisäksi avainsana ”static” •Sekä ilmentymä- että luokkametodit voivat käyttää sekä luokkamuuttujia että –metodeita •Luokkametodit eivät voi suoraan käyttää ilmentymämuuttujia eikä kutsua suoraan ilmentymämetodeita •”this” avainsanaa ei voi käyttää luokkametodeissa

12 Periytyminen •Luokka voi olla toisen luokan aliluokka •Aliluokka perii yliluokan ominaisuudet, eli muuttujat ja metodit •Säästää koodia ja tekee ohjelmista vakaampia je helpommin ylläpidettäviä

13 ”super” •Voidaan käyttää aliluokan metodeissa kun viitataan yliluokan ominaisuuteen tai metodiin •super() on yliluokan konstruktori •super.jokinMetodi() kutsuu yliluokan metodia jokinMetodi •super voi viitata yliluokan yliluokkaan tai siitä eteenpäin

14 Rajapintaluokat (interface) •Määrittelee uuden tyypin, mutta ei uutta luokkaa •Ei mahdollista luoda interface-olioita •Työkaluja ohjelmistojen määrittelyyn sekä ylläpidettävyyden helpottamiseen

15 Abstrakti luokka •Rajapintaluokan ja luokan välimuoto •Määrittelee mahdollisesti joitakin muuttujia ja/tai metodeja •Ei mahdollista luoda olioita abstrakteista luokistas •Käytetään silloin kun osa useamman luokan muuttujista/metodeista on yhteisiä, mutta kun nämä eivät ole hyödyllisiä yksistään

16 Sovelmat (applet) •Graafisia ohjelmia joita käytetään Internet- selaimissa •Luokan java.applet.Applet aliluokkia •public void paint(Graphics) -metodilla voi piirtää kuvia tai kuvioita •Voi myös käyttää muita yleisiä käyttölittymäelementtejä (nappuloita, listoja,...) •Rajatut oikeudet paikalliseen koneeseen ja verkkokytkentöihin

17 Piirtämistä •Luokka Graphics tarjoaa perusoperaatiot piirtämiselle –viivat: drawLine(...) –neliskulmiot: drawRect(...), fillRect(...) –ovaalit: drawOval(...), fillOval(...) –teksti: drawString(...) –j.n.e.

18 Ohjelmat graafisilla käyttöliittymillä •Frame-luokka vastaa ohjelmaikkunaa •Minimaalinen graafinen käyttöliittymä: public class FrameTest { public static void main(String[] args) { Frame f = new Frame(); f.setSize(100, 100); f.show(); }

19 Ikkunalayoutit •FlowLayout : asettaa komponentit peräkkäin, ei muuta niiden kokoa •GridLayout : asettaa komponentit taulukkoon, kaikkien komponenttien koko sama •BorderLayout : komponentit viidellä alueella - keskellä tai sivuilla, muuttaa komponenttien kokoa •Muita: CardLayout, GridBagLayout •Voidaan yhdistää käyttäen alipaneeleja (luokkaa Panel )

20 Reagoiminen käyttäjän toimiin •Nappuloiden painamiset, hiiren siirrot, ikkunoiden siirrot ja koon muutokset,... •Listener -rajapintaluokkien avulla •Komponentteja ”kuunnellaan” kutsumalla komponentin addXxxxListener - metodia •Kuuntelijan on toteutettava rajapintaluokan määrittelemät metodit

21 Pakkaukset •Ryhmittelevät luokkia yhteen loogisina kokonaisuuksina •Esim. java.awt-paketti sisältää Javan perusluokat graafisille käyttöliittymille •Paketti otetaan käyttöön avainsanalla ”import” •Luokka pakettiin avainsanalla ”package” tiedoston ensimmäisellä rivillä •Pakkaukset välttävät nimikonflikteja

22 Näkyvyysalueet •Muuttujat ja metodit: –private: vain luokan sisällä –protected: vain luokassa ja aliluokissa sekä kaikissa saman paketin luokissa –public: näkyy kaikille –ei määrettä: näkyy saman paketin luokissa •Luokat: –private: vain saman tiedoston sisällä –public: näkyy kaikille

23 Poikkeukset •Tapa käsitellä virhetilanteita •”throw”: heitetään poikkeus virheen sattuessa •”try-catch”: varaudutaan nappaamaan poikkeus kiinni ja mahdollisesti käsittelemään se •Poikkeus jota ei käsitellä missään johtaa ohjelman keskeyttämiseen •Luokan ”RuntimeException” tai aliluokkien poikkeuksia ei ole pakko ottaa etukäteen huomioon

24 Tekstitiedostojen luku ja kirjoittaminen •Lukemista varten luodaan olio: BufferedReader infile = new BufferedReader( new InputStreamReader( new FileInputStream(”tiedosto.txt”))); •Kirjoittamista varten vastaavasti: PrintWriter outfile = new PrintWriter( new FileOutputStream(”tiedosto.txt”)); •Poikkeukset otettava huomioon •Luku-ja kirjoitusluokat ketjutetaan halutun toiminnon aikaansaamiseksi


Lataa ppt "Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()"

Samankaltaiset esitykset


Iklan oleh Google