JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++



Samankaltaiset tiedostot
Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

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

Java ja grafiikka. Ville Sundberg

5. HelloWorld-ohjelma 5.1

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Ohjelmointi 2 / 2010 Välikoe / 26.3

5. HelloWorld-ohjelma 5.1

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

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen

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

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Projekti 1 Säikeet ja kriittisen vaiheen kontrollointi javalla

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

JAVA-OHJELMOINTI 3 op A274615

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

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

Rinnakkaisohjelmointi, Syksy 2006

Matematiikan ilmiöiden tutkiminen GeoGebran avulla

Symmetrioiden tutkiminen GeoGebran avulla

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

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

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

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Rajapinta (interface)

9. Periytyminen Javassa 9.1

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla (Opettajan ohje)

9. Periytyminen Javassa 9.1

LUKU 17 MUUTAMIA JAVA FX -SOVELLUKSIA. Tässä dokumentissa esitellään muutamia Java FX -sovelluksia.

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

4.1 Kaksi pistettä määrää suoran

Monitorit -projekti Rinnakkaisohjelmointi

Harjoitustyö (TKO_2023)

9. Harjoitusjakso III

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

Interaktiivinen tarinankerronta

Ohjelmoinnin perusteet Y Python

Scratch ohjeita. Perusteet

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

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

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Sovelmat. Janne Käki

Jypelin käyttöohjeet» Ruutukentän luominen

HTML5 video, audio, canvas. Mirja Jaakkola

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

812315A Ohjelmiston rakentaminen. Asynkronisuus

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

Java-kielen perusteita

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

T Henkilökohtainen harjoitus: FASTAXON

Artikkelien muokkaaminen sekä sisältöeditorin peruskäyttö

OCAD KOULUTUS ALITTELIJOILLE OCAD PERUSTEET

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on.

Ohjelmointi 1. Kumppanit

Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä

4. Lausekielinen ohjelmointi 4.1

x 5 15 x 25 10x 40 11x x y 36 y sijoitus jompaankumpaan yhtälöön : b)

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

Ohjelmoinnin peruskurssien laaja oppimäärä

yleisessä muodossa x y ax by c 0. 6p

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

10 Lock Lock-lause

Ensin klikkaa käynnistä-valikkoa ja sieltä Kaikki ohjelmat valikosta kaikki ohjelmat

A. Peruskäyttöohje Digilehtiö

Pakkauksen kokoaminen

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

c) Määritä paraabelin yhtälö, kun tiedetään, että sen huippu on y-akselilla korkeudella 6 ja sen nollakohdat ovat x-akselin kohdissa x=-2 ja x=2.

Javan semaforit. Joel Rybicki, Aleksi Nur mi, Jara Uitto. Helsingin yliopisto

Ohjelmoinnin peruskurssi Y1

4. Lausekielinen ohjelmointi 4.1

[MATEMATIIKKA, KURSSI 8]

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely

Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon

YMPYRÄ. Ympyrä opetus.tv:ssä. Määritelmä Kehän pituus Pinta-ala Sektori, kaari, keskuskulma, segmentti ja jänne

1 Tehtävän kuvaus ja analysointi

2 Pistejoukko koordinaatistossa

Pino S on abstrakti tietotyyppi, jolla on ainakin perusmetodit:

Tekstinkäsittelyn jatko KSAO Liiketalous 1

Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8

Demokoodaus Linuxilla, tapaus Eternity

Tämä luku nojaa vahvasti esimerkkeihin. Aloitetaan palauttamalla mieleen, mitä koordinaatistolla tarkoitetaan.

HOJ Säikeet (Java) Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/55

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

Flash. Tehtävä 1 Piirtotyökalut, kokeile niitä. Liiketalous syksy 2012

Tekstinkäsittely (20 pistettä)

Olio-ohjelmointi Käyttöliittymä

MATEMATIIKKA 5 VIIKKOTUNTIA

Tasogeometria. Tasogeometrian käsitteitä ja osia. olevia pisteitä. Piste P on suoran ulkopuolella.

v1.2 Huom! Piirto-ohjelmissa asioita voi tehdä todella monella tavalla, tässä esitellään yksi esimerkkitapa tällaisen käyrän piirtämiseen.

Javan perusteita. Janne Käki

Toinen harjoitustyö. ASCII-grafiikkaa 2017

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

Adobe Photoshop Elements, kuvakäsittelyn perusteet

UML -mallinnus TILAKAAVIO

Jypelin käyttöohjeet» Ruutukentän luominen

Transkriptio:

JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä. JAVA on olioperusteinen ohjelmointikieli eli se tarkoittaa sitä, että kaikki toiminnot rakennetaan luokkiin (class). JAVA on käännettävä kieli, mutta käännöstä ei tehdä tietokoneen ymmärrettäväksi koodiksi vaan virtuaalisen tietokoneen ymmärrettäväksi koodiksi. Tällöin java-koodeista tulee siirrettäviä mistä tahansa käyttöjärjestelmästä tai jopa konetyypistä toiseen. Se vaatii kuitenkin, että javavirtuaalikone on asennettuna kohdetietokoneelle tai käyttöjärjestelmään. Etuina: Riippumaton käyttöjärjestelmästä tai muusta alustasta, helppo oppia Haittoina: Hitaus, koska ohjelma suoritetaan virtuaalisen koneen kautta, vaatii virtuaalikoneen asennettuna tietokoneelle Java-kieleen liittyviä tiedostopäätteitä.java.class.jar tekstitiedosto, johon kirjoitetaan JAVA-kielinen ohjelma javavirtuaalikoneen suoritettava tiedosto esim. appletti javan arkisto, koodit, kuvat yms. mitkä liittyvät esim. applettiin voidaan pakata yhdeksi tiedostoksi

Ensimmäinen appletti import java.awt.*; import java.applet.*; //tuodaan awt-luokan komennot käyttöön //tuodaan applet-luokan komennot käyttöön public class minunappletti extends Applet //määritetään appletti nimeltä minunappletti { public void paint(graphics g) //paint-funktioon laitetaan piirtokomennot {g.drawstring("kirjoitusta",100,120); //drawstring-komennolla kirjoitetaan ruutuun // teksti annettuihin koordinaatteihin Font kirjasin; //esitellään Font-muuttuja nimeltä kirjasin kirjasin=new Font("Verdana",Font.BOLD+Font.ITALIC,24); //sijoitetaan kirjasin muuttujaan //Fontti lihavoitu, kursivoitu //Verdana, kokoa 24pt g.setfont(kirjasin); Color vari; //otetaan kirjasimeen sijoitettu fontti käyttöön //esitellään Color-muuttuja nimeltä vari vari=new Color(200,150,30,0.5); //asetetaan vari muuttujaan väri //r=200,g=150,b=30,läpinäkyvyys 50% g.setcolor(vari); //otetaan vari-muuttujaan sijoitettu väri käyttöön g.drawstring("erilaista kirjoitusta",60,80); Appletti tallennetaan samalla nimellä kuin appletti on määritelty ja päätteeksi tulee.java Eli tiedosto tallennetaan nimellä minunappletti.java Tämän jälkeen appletti tulee kääntää virtuaalikoneen ymmärtämäksi koodiksi, jolloin sen nimeksi tulee esim. minunapplettini.class Käännökseen tarvitaan kääntäjä esim. jdk-paketin (java development kit) kääntäjä javac http://www.oracle.com/technetwork/java/javase/downloads/index.html Käännöksen voi opettelua ja harjoittelua varten tehdä myös internetissä olevan kääntäjän avulla http://www.innovation.ch/java/java_compile.html

Javan piirtokäskyjä, käskyt sijoitettava piirtofunktion paint() {..tänne.. sisään ja piirto suoritetaan käskyjen kirjoitusjärjestyksessä eli ensiksi kirjoitettu piirtokomento suoritetaan ensin ja kuva näytetään kun viimeinen piirtokomento on suoritettu. Piirtoalustan koordinaatisto poikkeaa hieman matematiikasta tutusta koordinaatistosta (x,y). Vasen ylänurkka on piste (0,0) ja oikelle päin mentäessä x-koordinaatti kasvaa ja alaspäin mentäessä y-koordinaatti kasvaa. Piirtokomentoja g.drawline(20,30,100,200); //piirtää viivan pisteestä (20,30) pisteeseen (100,200) g.drawrect(30,40,100,60); //piirtää suorakulmion vasen ylänurkka pisteessä (30,40) ja leveys 100, //korkeus 60 g.drawoval(10,20,50,70); //piirtää ellipsin (soikion), joka mahtuu sellaisen suorakulmion sisään, jonka //vasen ylänurkka on pisteessä (10,20) ja leveys=50, korkeus=70 g.fillrect(70,60,80,150); g.filloval(170,70,80,150); //piirtää suorakulmion, mutta täytettynä //piirtää ellipsin, mutta täytettynä g.drawroundrect(70,60,80,150,20,10); g.fillroundrect(70,60,80,150,20,10); g.drawarc(40,80,100,200,0,90); g.fillarc(40,80,100,200,0,90); //piirtää kulmista pyöristetyn suorakulmion, kaksi viimeistä //lukua kertovat pyöristyksen leveyden ja korkeuden //piirtää täytetyn kulmistaan pyöristetyn suorakulmion //piirtää ympyrän kaaren, joka mahtuu suorakulmion sisään, //jonka vasen yläkulma on pisteessä (40,80) leveys=100, //korkeus=200 ja kaari kulmasta 0 kulmaan 90 //piirtää täytetyn ympyräsegmentin //piirtääksesi monikulmioita tarvitset taulukot monikulmion pisteiden x- ja y-koordinaateista int xkoord[]={50,100,100; int ykoord[]={50,50,100; //suorakulmaisen kolmion x-koordinaatit //y-koordinaatit g.drawpolygon(xkoord,ykoord,3); g.fillpolygon(xkoord,ykoord,3); //piirretään monikulmio viimeinen luku kertoo pisteiden //lukumäärän //täytetty monikulmio

Valmiin kuvan piirtäminen applettiin (jpeg tai gif-kuva) Image munkuva; //esitellään Image-muuttuja nimeltä munkuva munkuva=getimage(getcodebase(),"kissa.jpg"); //sijoitetaan muuttujaan kuva tiedostosta //kissa.jpg g.drawimage(munkuva,20,40,this); //piirretään kuva appletiin //vasempana ylänurkkana piste (20,40) Erikoismerkkien esittäminen Javassa Etsi merkin unicode-arvo esim. kreikan kirjain π ja unicode-koodiksi löytyy 03C0 http://mindprod.com/jgloss/unicode.html Kirjain Pii voidaan ottaa käyttöön g.drawstring("kreikan kirjain Pii \u030c0",50,50); Muutamia hyödyllisiä unicode arvoja ä 00E4 Å 00C5 $ 0024 ö 00F6 20AC 00A7 Ä 00C4 0022 Ö 00D6 \ 005C å 00E5 00A3

Hiiren käsittelyä (Java 1.0, vanhanaikainen tapa) public boolean mousedown(event e, int x, int y) //hiiren napin painallus //x ja y ovat hiiren koordinaatit return true; public boolean mousedrag(event e, int x, int y) //hiiren liikutus/napin kanssa return true; public boolean mouseup(event e, int x, int y) //hiiren napin vapauttaminen return true; public boolean mouseenter(event e, int x, int y) //hiiri tulee applettiin return true; public boolean mouseexit(event e, int x, int y) //hiiri lahtee appletista return true; public boolean mousemove(event e, int x, int y) //hiirta liikutetaan appletissa return true;

Säikeet eli Thread-luokka ja Runnable raja-pinta Säikeet eli itsenäiset ohjelman osat mahdollistavat moniajon eli usean tehtävän suorittamisen samanaikaisesti. Todellisuudessa tämä vain tarkoittaa resurssien jakamista säikeiden kesken, mutta java-ohjelmaa voidaan suorittaa toki myös laiteympäristössä, jossa todellakin on esim. useita prosessoreita käytössä ohjelman suorittamista varten. Säikeillä toteutetaan tavallisesti ajastimia esim. animaatiot (näytetään uusi kuva aina 40 millisekunnin välein eli 25 kuvaa sekunnissa) Appletin nimeltä Saie määräävän luokan perään tulee kirjoittaa implemets runnable public class Saie extends Applet implements Runnable { Thread ajastin; public void init() { //Alustetaan appletti ajastin=new Thread(this); ajastin.start(); //Luo säie //Käynnistä säie //run-funktioon tehdään säikeessä suoritettavat komennot public void run() { while(lopetusehto!=true) { try { ajastin.sleep(100); //Säie odottaa 100 millisekuntia catch (InterruptedException e) {;