Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

Samankaltaiset tiedostot
Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

osakeyhtiö- laki II Manne Airaksinen Pekka Pulkkinen Vesa Rasinaho

asuntoosakeyhtiölaki Jyrki Jauhiainen Timo A. Järvinen Tapio Nevala

Ohjelmointi 1 / syksy /20: IDE

Janne Kaisto Tapani Lohi JOHDATUS VARALLISUUSOIKEUTEEN

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

19/20: Ikkuna olio-ohjelmoinnin maailmaan

Kirja on jaettu kahteen osaan: varsinaiseen- ja lisätieto-osioon. Varsinainen

Mauri Saarinen TYÖSUHTEEN PELISÄÄNNÖT

Perhe- varallisuus- oikeus. Aulis Aarnio Urpo Kangas

Harri Hietala ja Keijo Kaivanto TYÖAIKALAKI KÄYTÄNNÖSSÄ

Maakaari. Marjut Jokela Leena Kartio Ilmari Ojanen

Jussi Tapani & Matti Tolvanen. RIKOSOIKEUS Rangaistuksen määrääminen ja täytäntöönpano

TILINPÄÄTTÄJÄN KÄSIKIRJA

HENKILÖYHTIÖT JA OSAKEYHTIÖ

Yksityisyyden suoja työsuhteessa

TEKIJÄNOIKEUS. Kristiina Harenko Valtteri Niiranen Pekka Tarkela

Tilinpäättäjän käsikirja

HOVIOIKEUS- MENETTELY. Antti Jokela

Osakkeen arvonmääritys. Onnistunut sijoituspäätös

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

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

Kirja on jaettu kahteen osaan: varsinaiseen- ja lisätieto-osioon. Varsinainen

YRITYSTALOUTTA ESIMIEHILLE

Työsopimuslaki. käytännössä. Harri Hietala Tapani Kahri Martti Kairinen Keijo Kaivanto

KIVENISTUTUS. Jalokivien istutus kultasepän työssä. Immo Lahtela

PROJEKTI- HALLINNAN KÄSIKIRJA

Jussi Tapani Matti Tolvanen. RIKOSOIKEUS Rangaistuksen määrääminen ja täytäntöönpano

Timo Kaisanlahti Jarmo Leppiniemi RATKAISUJA TILINPÄÄTTÄJÄN ONGELMIIN

asianosaiset ja valmistelu

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

Jukka Pellinen KUSTANNUSLASKENTA JA KANNATTAVUUSAJATTELU

Kuntalaki. Tausta ja tulkinnat. Heikki Harjula Kari Prättälä

KIINTEISTÖN KAUPPA, MUU LUOVUTUS JA KIRJAUS. Jarno Tepora Leena Kartio Risto Koulu Heidi Lindfors

CODEONLINE. Monni Oo- ja Java-harjoituksia. Version 1.0

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

TermBase NET versio (Beta)

Euroopan ihmisoikeussopimus. Matti Pellonpää Monica Gullans Pasi Pölönen Antti Tapanila

Klaus Nyblin TYÖELÄMÄN SÄHKÖPOSTI

SELVIÄ VOITTAJANA LAMASTA tästä ja seuraavasta. Olli E. Juvonen

Matematiikan oppifoorumi Projektisuunnitelma

Projektinhallintaa paikkatiedon avulla

Pääkäsittely, todistelu ja tuomio

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training

Avio - varallisuusoikeus. Tapani Lohi

KIINTEISTÖJEN JA HUONEISTO-OSAKKEIDEN VEROTUS. Timo Räbinä Janne Myllymäki

maakaaren järjestelmä I

Mr & Mrs. Future. kysymystä. Mika Aaltonen & Rolf Jensen. Talentum Helsinki 2012

Takaisinsaanti. Jarmo Tuomisto

11/20: Konepelti auki

Lataa Lääketieteen termit 1-2. Lataa

KIINTEISTÖN KAUPPA JA OMISTAMINEN. Matti Kasso

Joonas Orava, Olli Turunen Osta, vuokraa, vaurastu

Str at Mar k : Str at e g i n e n

Jyväskylän yliopisto, Sovellusprojektien kokoustila AgC Alasalmi Teija (puheenjohtaja)

Virpi Hämäläinen, Hanna Maula, Kimmo Suominen DIGIAJAN STRATEGIA

TYÖSOPIMUSLAKI KÄYTÄNNÖSSÄ

T Ohjelmistotekniikan seminaari

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

EU:N JA SUOMEN KILPAILUVALVONTA. Mika Oinonen

Elinkeinoverolaki käytännössä. Matti Kukkonen Risto Walden

HALLINTOLAIN- KÄYTTÖ. Mirjami Paso Petri Saukko Veijo Tarukannel Matti Tolvanen

Pilveä standardisoidaan monessa ryhmässä

4. Lausekielinen ohjelmointi 4.1

KIRJANPITOLAKI. kommentaari

Jaakko Hallavo. Verkkokaupan rautaisannos

Harri Hietala Keijo Kaivanto. Vuosilomalaki käytännössä

NÄIN TEEN PERUKIRJAN. Pertti Puronen

Erkki J. Hollo Tuomas Kuokkanen Robert Utter ILMASTO-OIKEUS

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

EUROOPPA - OIKEUS JA SISÄMARKKINAT. Juha Raitio

Tähtitieteen käytännön menetelmiä Kevät 2009

Tieto- ja viestintätekniikan opinnot Jyväskylän yliopistossa

Muokatut teräkset. Raaka-ainekäsikirja 1 3. uudistettu painos

Loppuraportti. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

13/20: Kierrätys kannattaa koodaamisessakin

Henrietta Aarnikoivu

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Vastausten määrä: 68 Tulostettu :23:50

Asunto- ja kiinteistöosakkeen. kauppa ja omistaminen. Matti Kasso

Koulussamme opetetaan näppäilytaitoa seuraavan oppiaineen yhteydessä:

Työpaikan lait ja työsuhdeopas

Lohtu-projekti. Testaussuunnitelma

Rahapelilainsäädäntö. ja markkinat. Mikko Alkio

Korkeakoulujen prosessipalvelin: mallintajan palvelinohje Versio 0.2

Helka Pirinen. Esimies muutoksen johtajana

Oikeudenkäynnin perusteet, periaatteet ja instituutiot

Maankäyttöja rakennuslaki. Pekka Hallberg Auvo Haapanala Ritva Koljonen Hannu Ranta Jukka Reinikainen

Timo Kaisanlahti Jarmo Leppiniemi Raili Leppiniemi TILINPÄÄTÖKSEN TULKINTA

8/20: Luokat, oliot ja APIt

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

E-kirjat tulee - oletko valmis? Pohdintaa e-kirjojen käytöstä sekä niihin liittyvistä odotuksista

Valuraudat ja valuteräkset

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

CT50A2601 Käyttöjärjestelmät Androidin ja Symbianin vertailu Seminaarityö

AIVOmaista onnistumisen iloa ja hyviä käytänteitä

Alustavia käyttökokemuksia SAS Studiosta. Timo Hurme Maa- ja elintarviketalouden tutkimuskeskus MTT (v alusta Luonnonvarakeskus / Luke)

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

Transkriptio:

TALENTUM Helsinki 2008

7., uudistettu painos Ensimmäinen painos julkaistu nimellä Java-ohjelmointi Pro Training 2008 Talentum Media Oy ja tekijät Kansi: Outi Pallari Taitto: NotePad, www.notepad.fi ISBN 978-952-14-1356-8 Esa Print Oy 2008

Esipuhe Java on vakiinnuttanut muutamassa vuodessa asemansa ohjelmointikielten joukossa. Voittokulku alkoi web-sivuilla ajettavista sovelmista, josta kielen käyttöalueet ovat laajenneet esimerkiksi verkkopalveluihin ja muihin palvelinpään ohjelmistoihin sekä matkapuhelimiin. Näköpiirissä on yhä uusien sovellusalueiden valtaaminen, ja Java onkin mukana monissa ohjelmistoprojekteissa. Javan nousu näkyy luonnollisesti myös kirjatarjonnassa. Tämän Javakirjan syntyhistoria juontaa kesään 2000, jolloin allekirjoittaneilta tiedusteltiin, voisimmeko tehdä Java-kirjan. Haasteeseen tarttuessamme opetimme vielä molemmat Java-ohjelmointia Jyväskylän yliopiston informaatioteknologian tiedekunnassa. Silloin emme voineet aavistaa, millaisen suosion kirja saisi, sillä käsissäsi on jo kirjan seitsemäs, uudistettu painos. Kirja on suunnattu sekä ohjelmointia aloitteleville että jo hieman pidemmälle ehtineille. Kirjan ensimmäisen painoksen tavoitteena oli opettaa Javaohjelmointia kielen perusteista lähtien. Tämä alkutavoite lienee saavutettu, sillä kirjaa on käytetty jo useana vuotena paitsi Javan opiskeluun niin myös ohjelmoinnin perusopetuksessa, ja saadut kokemukset ovat olleet myönteisiä. Kirja on kirjoitettu lukijaa ajatellen helposti omaksuttavaksi, vaikka asiat joskus olisivatkin vaikeita. Otamme erityisen mielellämme vastaan kaiken palautteen kirjasta. Tällä alalla kehityskulku on huimaa, joten lukijaa kehotetaankin seuraamaan Mikan kotisivuja, jonne kokoamme painosten välillä merkittävimmät asiat osoitteeseen http://www.iki.fi/mikaves/java. Vantaalla ja Jyväskylässä 14.7.2008 mika.vesterholm@iki.fi Jorma Kyppö jorma@it.jyu.fi

6 JAVA-OHJELMOINTI Esipuhe ensimmäiseen painokseen Yhteistyöni in kanssa juontaa juurensa kolmen vuoden taakse. Tuolloin hän ryhtyi ohjelmoimaan Javalla kehittämääni kolmen pelaajan shakkipeliä, johon Javan olioihin perustuva ohjelmointifilosofia istui täydellisesti. Mikan tapa työskennellä valkeni allekirjoittaneelle nopeasti. Hänen tapoihinsa ei kuulu ainoastaan tarttua kursailematta vaikeaankin aiheeseen vaan myös tehdä aina hieman enemmän kuin on pyydetty. Tämä on harvinainen ominaisuus. Mikan tyyliin kuuluu myös uusien luovien näkökulmien haku aiheeseen kuin aiheeseen, mikä antaa ihanteellisen lähtökohdan tiimityöskentelyyn tutkijalle, joka tarvitsee tuekseen itsenäiseen työskentelyyn kykenevän kollegan. Kun tätä kirjaa ryhdyttiin työstämään, oli mielessäni huomattavasti vaatimattomampi teos. Mika on perehtynyt syvällisemmin kirjan aihealueeseen, ja työn edistyessä kävikin varsin pian ilmi, että lopputuloksesta tulisi huomattavasti laajempi. Tämä oppikirja on pitkälti Mikan luomus, ja allekirjoittanut voi vain todeta, että oli ilo olla mukana kirjoittamassa kuitenkin muutamaa lukua ja muutoinkin edesauttaa sellaisen Java-kirjan syntymistä, josta toivon mukaan on vielä paljon iloa myös lukijoille. Jyväskylässä 2.1.2001 Jorma Kyppö Yliassistentti, tietojenkäsittelytieteiden laitos Esipuhe toiseen painokseen Tämän kirjan toisen painoksen työstäminen aloitettiin välittömästi ensimmäisen painoksen valmistuttua noin vuosi sitten. Uusia Javaan liittyviä asioita lisättiin ja parannusehdotuksia kirjattiin muistiin sekä lukijoiden käyttöön kotisivuilleni. Suurimmat rakenteelliset muutokset on kokenut kirjan alkuosa, jossa lähdetään nyt liikkeelle yleisesti suunnittelusta, ja vasta sen jälkeen aletaan opiskella Javan alkeita. Alkeiden osuutta on lisätty, jotta kirja soveltuisi entistä paremmin ohjelmoinnin perusteiden opettamiseen. Joitakin termejä on vaihdettu parempiin, Javan uusia ominaisuuksia on lisätty mukaan ja käytettäväksi tietokannaksi on vaihdettu osittain ilmainen MySQL. Toisessa painoksessa työvälineenä on JBuilderin versio 6, kun se ensimmäisessä painoksessa oli vielä JBuilder 4. Väliin on siis vuoden aikana jäänyt jo versio 5. Muutosvauhti kuvastaa sitä, miten Java kehittyy ja valtaa uusia alueita!

ESIOPUHE 7 Haluan myös kiittää lukijoita, jotka ovat lähettäneet kommentteja ja huomioita kirjasta. Otamme edelleenkin ideoita ja kommentteja mielellään vastaan. Vantaalla 1.5.2002 Esipuhe kolmanteen painokseen Se, että kirjoitamme jo toista esipuhetta saman vuoden aikana, kertoo kirjan vastanneen lukijoiden odotuksia ja motivoi kehittämään sitä edelleen. Merkittävimmin tämän painoksen muutoksiin ja korjauksiin vaikuttivat kokemukset, joita saimme kirjan käytöstä ohjelmoinnin perusopetuksessa Jyväskylän yliopistossa kuluneen syksyn aikana. Haluammekin erityisesti kiittää opetuksesta vastannutta lehtori Pertti Hirvosta arvokkaista kommenteista. Rakenteellisesti kirja on pysynyt melkein ennallaan. Uusina asioina kirjaan on sisällytetty Javan metapiirteet sekä Javaan tulossa olevat geneeriset tyypit. Aloittelijan taivalta helpottamaan liitteeksi on lisätty yleisiä virhetilanteita ratkaisuehdotuksineen, ja rompulla on pieni opas komentokehotteen käytöstä. Opiskelun tukemiseksi kirjaan on lisätty yli 50 uutta harjoitustehtävää. JBuilder on vaihdettu uunituoreeseen versioon 8, ja kirjan rompulla on nyt myös Sun Microsystemsin Java 2 SDK. Ikaalisissa ja Jyväskylässä 31.12.2002 ja Jorma Kyppö Esipuhe viidenteen painokseen Tämä vuosi on historiallinen sekä Javan että kirjan osalta. Molemmista ilmestyy viides, merkittävästi uudistunut versio. Javan 5.0 versioon on lisätty uusia ohjelmointia helpottavia ominaisuuksia, kuten primitiivityyppien automaattinen käärintä, paranneltu for-silmukka sekä geneeriset tyypit. Nämä uudet asiat on lisätty myös kirjaan, minkä seurauksena sen rakenteeseen on tehty joitakin muutoksia. Uutuutena on lisäksi Java-ohjelmien optimointia koskeva osuus. Kirjan tiedot Java 2 Standard Edition 5.0:sta perustuvat kirjoitushetken tietoihin. Kerään tarvittaessa tietoja viimehetken muutoksista kotisivuilleni.

8 JAVA-OHJELMOINTI Jotta kirja säilyttäisi luettavuutensa, on rompun käyttöä laajennettu. Siellä on lisämateriaalina sellaiset asiat, joita ei ole enää painettuna kirjassa esimerkiksi luku vanhoista AWT-käyttöliittymistä. Myös ohjelmat on päivitetty uusimpiin versioihin. Kiitokset tämän painoksen osalta kuuluvat aktiivisille lukijoille, jotka ovat lähettäneet meille hyödyllisiä kommentteja ja parannusehdotuksia. Erityiskiitos palautteesta kuuluu jälleen lehtori Pertti Hirvoselle. Vantaalla 1.5.2004 Esipuhe kuudenteen painokseen Javan kymmenvuotissynttärit on juhlittu ja sen kunniaksi myös kirjaa on jälleen uudistettu. Painokseen on lisätty esimerkkejä ja etenkin säikeistä kertovaa lukua on päivitetty J2SE 5.0:n muutosten osalta. Mukaan on otettu muotoiltu tulostus, Scanner-luokka tietojen lukemiseen sekä säännölliset lausekkeet. Kirjan työkaluna on nyt ilmainen Eclipse, joka on yksi parhaista työkaluista Java-ohjelmien tekemiseen. Olemme jälleen saaneet lukijoilta palautetta, jonka ansiosta tekstiin on tehty tarkennuksia. Kiitos tästä kaikille! Vantaalla 8.4.2006 Esipuhe seitsemänteen painokseen Seitsemännessä painoksessa käytössä on Java SE 6, jonka uusia ominaisuuksia on lisätty kirjaan. Verkkopalvelujen rakentamisesta kertovaa lukua on uudistettu ja mukana on nyt myös JavaServer Faces eli JSF-teknologia. Tietokantalukuun on otettu mukaan Java Persistence API ja kirjassa käytetään nyt JDK:n mukana tulevaa Java DB -tietokantaa. Kolmas lisäys on luku Java Enterprise Edition -teknologiasta. Luvun painopiste on www-sovelluspalvelujen (Web Services) toteuttamisessa. Vantaalla 6.4.2008 Projektipäällikkö, Ravensoft Oy