JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003

Koko: px
Aloita esitys sivulta:

Download "JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003"

Transkriptio

1 1(27) JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 mahdollistaa dynaamisen web-sisällön luonnin eli HTML-.DHTML-, XHTML- ja XML-dokumentit luodaan palvelimella dynaamisesti ennen dokumenttien lähettämistä käyttäjän-ohjelmistolle tiedosto tallennetaan jsp-loppuisena jsp-sivuun upotettu koodi suoritetaan palvelimella ennen kuin sivu lähetetään selaimeen Web-palvelin JSP-Container HTTP-pyyntö HTML-sivu käännös selain ajo Web-palvelimessa on JSP-Container alusta, joka tekee JSP-sivusta servletin, jonka se kääntää ja käynnistää. Java-serveltti JSP-sivun kääntäminen serveletiksi tapahtuu ensimmäisellä JSP-sivun kutsukerralla, seuraavan kutsun yhteydessä JSP- Container kutsuu valmista servlettiä. Jos jsp-tiedosto muuttuu, Container-alusta kääntää sen uudelleen serveltiksi. JSP-tiedosto

2 2(27) EL (Excression Language) ja JSTL Lähde: Arvo Lipitsäinen, JSTL- JavaSrver Pages Standard Library, 2004 JSTL on JSP:n standardi tagikirjasto JSTL 1.0 kuvaus valmistui 2002 Päämäärä helpottaa JSP-sivujen kirjoittamista Sisältää neljä tagikirjastoa: o Ydinkirjasto o XML:n käsittely o Kansainvälistäminen o Relaatitietokannan käsittely Sisältää EL (Expression Language)-lausekielen

3 3(27) Esimerkki: <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " <%@ page isthreadsafe="true"%> <%@page import="java.util.*" %> <%@ taglib uri=" prefix="c"%> <html xmlns=" <html> <body> <h3>jstl-toimintoja</h3> <p> <c:out value="hyvää Päivää!" /><br><br> Pieni yhteenlasku EL-kielellä: <c:out value=" = ${1 + 2}" /><br><br> Kertolasku muuttujilla luku1 = 5 ja luku2 = 9<br> <c:set var="luku1" value="5" /> <c:set var="luku2" value="9" /> luku1 * luku2 = <c:out value=" ${luku1 * luku2}" /> </p> </body> </html> tulostuu:

4 4(27) EL-kielen literaalit Literaalit ovat eri tyyppisten vakioiden merkitsemistapoja. Tyyppi Boolean true tai false. Esim. true, false Kuvaus Kokonaisluku Numeroita 0-9, joita voi edeltää etumerkki ( + tai - ). Esim. 123, -29 Desimaaliluku Numeroita 0-9, joiden välissä voi olla piste erottamassa kokonaisosan desimaaleista. Numeroiden edessä voi olla etumerkki ( + tai - ) ja numeroiden jäljessä voi olla e tai E - kirjaimella erotettu eksponentti, joka on kokonaisluku. Esim , -10.0, 1.2e5 Merkkijono Lainausmerkkien (") tai hipsukoiden (') sisällä. Esim. "Ville", 'Veera'. Merkkijonossa esiintyvää "- ja \-merkkiä edeltää \-merkki. Esim. "C:\\levy", "Nimi \"Matti\" on yleinen" Null-osoite null

5 5(27) Operaattorit Operaattori Kuvaus. ominaisuuden haku [] taulukko () lausekkeiden ryhmittely + yhteenlasku - vähennyslasku tai negatiivinen etumerkki / tai div jakaminen % tai mod jakojäännös == tai eq yhtäsuuruus!= tai ne eri suuruus < tai lt pienempi kuin > tai gt suurempi kuin <= tai le pienempi tai yhtä suuri kuin >= tao ge suurempi tai yhtä suuri kuin && tai and looginen and-operaatio tai or looginen or-operaatio! tai not komplementti empty tyhjä arvo (null, tyhjä merkkijono tai tyhjä taulukko) Operaattorit: [ ] ja. Olion ominaisuuteen voi viitata joko piste-operaattorin avulla tai taulukon nimettynä alkiona eli oikeasti kutsutaan ko. olion getattribuutti-metodia: tuotex.koodi tuotex[ koodi ]

6 6(27) Esimerkki. <?xml version = "1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " <%@ page isthreadsafe="true"%> <%@ page import="java.util.*" %> <%@ taglib uri=" prefix="c"%> <html xmlns=" <body> <h3>tuote</h3> <p> <c:out value="${tuotex.koodi}" /><br> <c:out value="${tuotex.nimi}" /><br> <c:out value="${tuotex.hinta}" /><br><br> <c:out value="${tuotex['koodi']}" /><br> <c:out value="${tuotex['nimi']}" /><br> <c:out value="${tuotex['hinta']}" /><br> </p> </body> </html> tulostuu Tuote 123 Backgammon edellyttää että: Ohjelman pääserveltti on lähettänyt attribuutin tuotex, joka on Tuoteluokan olio ja jolla on getkoodi(),getnimi() ja gtehinta() metodit. Backgammon 14.50

7 7(27) EL tuntee seuraavat sisäiset objektit: Sisäinen objekti pagescope requestscope sessionscope applicationscope param paramvalues header headervalues initparam cookie pagecontext Kuvaus sisältää kaikki oliot, joiden näkyvyys on sivu (page) sisältää kaikki oliot, joiden näkyvyys on pyyntö (request) sisältää kaikki oliot, joiden näkyvyys on istunto (session) sisältää kaikki oliot, joiden näkyvyys on sovellus (application) sisältää pyynnön parametrit sisältää pyynnön parametrit merkkijonotaulukkona sisältää http-pyynnön otsikkotiedot sisältää http-pyynnön otsikkotiedot merkkijonotaulukkona sisältää init-paramterit, jotka annetaan esim. web.xmlkuvaimessa sisältää cookie-tiedot sisältää javax.servlet.jsppagecontext-olion

8 8(27) Esim. <html xmlns=" <body> <h3>muuttujan näkyvyys</h3> <p> <c:set var="tunnus" value="abc" scope="page" /> <c:set var="tunnus" value="kissa" scope="request" /> <c:set var="tunnus" value="kävelee" scope="session" /> <c:set var="tunnus" value="tikapuita" scope="application" /> <c:set var="tunnusx" value="taivaaseen!" scope="session" /> tunnus: <c:out value="${tunnus}" /><br> pagescope.tunnus: <c:out value="${pagescope.tunnus}" /><br> requestscope.tunnus: <c:out value="${requestscope.tunnus}" /><br> sessionscope.tunnus: <c:out value="${sessionscope.tunnus}" /><br> applicationscope.tunnus:<c:out value="${applicationscope.tunnus}" /><br> tunnusx: <c:out value="${tunnusx}" /><br> </p> </body> </html> Tulostaa:

9 9(27) Esim. <html xmlns=" <body> <h3>header</h3> <c:out value="user-agent: ${header['user-agent']}" /><br> <c:out value="accept-encoding: ${header['accept-encoding']}" /><br> <c:out value="accept-language: ${header['accept-language']}" /><br> <c:out value="accept-charset: ${header['accept-charset']}" /><br> <c:out value="accept: ${header['accept']}" /><br> </body> </html>

10 10(27) Yleiskäyttöiset tagit (Core tag library) <c:out> syntaksi: toiminto laskee lausekkeen arvon, muuttaa sen merkkimuotoon ja kirjoittaa tuloksen JspWriter-tyyppiseen out-tietovirtaan <c:out value= arvo [escapexml= {true false} ] [default= oletusarvo] /> tai <c:out value= arvo [escapexml= {true false} ] oletusarvo <c:out> value= arvo tulostettava lauseke escapexml= {true false} default= oletusarvo muutetaanko merkit: <,>,&, ja vastaaviksi merkkientiteeteiksi: <,>,&,&#039; ja " Oletusarvo true, muutetaan ilmoittaa tulostettavan tiedon oletusarvon, jos lausekkeen arvo lakettuarvo on null Esim. <h3>c:out-kokeilut</h3> seuraava lause tulostaa lauekkeen arvon: <c:out value ="1 + 2 = 3 " /> tulostuu

11 11(27) <c:set> toiminta antaa muuttujalle arvon Syntaksi 1: muuttuja saa annetun arvon: <c:set value="arvo" var="muuttujannimi" [scope="{page reguest session application}"]/>, missä attribuutti value ilmoittaa muuttujan saaman arvon, attribuutti var muuttujan nimen ja valinnainen attribuutti scope muuttujan näkyvyysalueen. Oletusnäkyvyys-alue on page. Syntaksi 2: muuttuja saa elementin sisällön arvokseen: <c:set var="muuttujannimi" [scope="{page reguest session application}"]> sisältö </c:set> Syntaksi 3: Kohteena olevan olion ominaisuus saa annetun arvon: <c:set value="arvo" target="kohdeolio" property="ominaisuudennimi"/>, missä attribuutti value ilmoittaa ominaisuuden saaman arvon, attribuutti target kohteena olevan olion ja attribuutti property olion ominaisuuden nimen. Syntaksi 4: Kohteena olevan olion ominaisuus saa elementin sisällön arvokseen. <c:set target="kohdeolio" property="ominaisuudennimi"> sisältö </c:set>

12 12(27) Esim. <html xmlns=" <body> <h3>muuttujan arvo</h3> <c:set var="testi" scope="request"> Windowsissa vakava tietoturvaaukko </c:set> <c:out value="${testi}" /><br> </body> </html> Tulostuu:

13 13(27) Esim. <html xmlns=" import="tuotteet.tuote" %> <body> <h3>tuote</h3> <c:set value="10001" target="${tuotex}" property="koodi" /> <c:set value="backgammon" target="${tuotex}" property="nimi" /> <c:set value="20.56" target="${tuotex}" property="hinta" /> <c:out value="${tuotex.koodi}" /><br> <c:out value="${tuotex.nimi}" /><br> <c:out value="${tuotex.hinta}" /><br> </p> </body> </html> tulostuu: Backgammon Ehdolliset toiminnat <c:if> if-lause Syntaksi: <c:if test="ehto" var="muuttujannimi" [scope="${page request session application}"] /> tai <c:if test="ehto" [var="muuttujannimi"] [scope="${page request session application}"]> sisältöä </c:if> Attribuutin test arvo (true/false) määrittää, prosessoidaanko elementin sisältö vai ei Attribuutin var arvoksi tulee ehtolausekkeen arvo (true/false) Attribuutti scope ilmoittaa muuttujan näkyvyysalueen, oletus on page

14 14(27) Esim. <html xmlns=" <body> <h3>el-kielen if-lauseen testi</h3> <c:if test="${servletinilmoitus==true}" var="ilmoitus"> <c:out value="tervetuloa / VÄLKOM / WELCOME!" /> </c:if> <c:out value="ilmoitus=" /> <c:out value="${ilmoitus}" /> <c:if test="${ilmoitus==true}" > <c:out value="näkemiin / ADJÖ / GOOD BYE!" /> </c:if> </body> </html> tulostuu: Pääservletti on käynnistänyt sivun seuraavasti: request.setattribute ("servletinilmoitus",true); disp = request.getrequestdispatcher("web-inf/koe4.jsp"); disp.forward(request, response);

15 15(27) <c:choose>,<c:when>,<c:otherwise> Monivalinta, vastaa javan switch-case-lausetta syntaksi: <c:choose> <c:when test= ehto1>valinta 1 </when> <c:when test= ehto2>valinta 2 </when> <c:when test= ehton>valinta N </when> <c:otherwise>viimeinen valinta </otherwise> </choose>

16 16(27) Esim. <html xmlns=" <head> <meta http-equiv="content-type" content="text/html;charset=iso "> <title>monivalinta-lause</title> </head> <body> <form> Kirjoita nimi: <input type="text" name="nimi" size="15" /> Valitse nimi: <select name="kieli"> <option>suomi</option> <option>ruotsi</option> <option>englanti</option> <option>espanja</option> <option>muu</option> </select> <input type="submit" value=" - Paina - " /> </form> <h2> <c:choose> <c:when test="${param.kieli==\"suomi\"}" > Terve, </c:when> <c:when test="${param.kieli==\"ruotsi\"}" > Tjänare, </c:when> <c:when test="${param.kieli==\"englanti\"}" > Hello, </c:when> <c:when test="${param.kieli==\"espanja\"}" > Hola, </c:when> <c:when test="${param.kieli==\"muu\"}">?!# $ 6??#@$%&?ÅÄÖ, </c:when> <c:otherwise> </c:otherwise> </c:choose> <c:out value="${param.nimi}" /> </h2> </body> </html> tulostaa, kun käyttäjä on kirjoittaa nimen, valitsee kielen ja painaa paina-nappulaa:

17 17(27) Toistorakenne <c:foreach> A) Taulukkorakenteen läpikäynti <c:foreach [var= varname ] items= collection [varstatus= varstatusname ] [begin= alku end= loppu [step= askel ]]> Sisältöa <c/foreach> Items on pakollinen ja voi olla : o Tavallinen taulukko o Collection-luokan olio,vector, ArraytList,LinkedList,Treeset o Iterator-, Enumeration- tai Map-olio o String-olio, joka sisältää pilkulla toisistaa erotettuja merkkijonoja var on muuttujan nimi, jonka avulla viitataan käsiteltää taulukon alkiota begin on taulukon indeksi,josta taulukon läpikäynti alkaa, end on indeksi, johon läpikäynti päättyy ja step ilmaisee indeksin korotuksen (vrt. Java for-lause)

18 18(27) Esim. <body> <h2>tuoteluettelo </h2> <table border="1"> <th>tuotteen koodi</th> <th>tuotteen nimi</th> <th>hinta (eur)</th> <c:foreach var="tuote" items="${tuotelista}"> <tr> <td><c:out value="${tuote.koodi}" /> </td> <td><c:out value="${tuote.nimi}" /> </td> <td><c:out value="${tuote.hinta}" /> </td> </tr> </c:foreach> </table> </body> </html> Pääservletissä on tuoteluettelon aktivointi seuraava: ArrayList lista = new ArrayList(); for (int i=0; i<10;i++) lista.add(new Tuote(i+10,"tuote"+i+10, ( 2.07+i))); tulostuu: request.setattribute( "tuotelista", lista); disp = request.getrequestdispatcher("web-inf/koe6.jsp"); disp.forward(request, response);

19 19(27) B) Toistaminen n-kertaa <c:foreach [var= varname ] [varstatus= varstatusname ] begin= alku end= loppu [step= askel ]> Sisältöa <c/foreach> var on indeksi, begin indeksin alkuarvo ja end loppuarvo, step ilmaiseen indeksin kasvatuksen (vrt. Java for-lause) Esim. <h3>kierrokset</h3> <c:foreach var="i" begin="1" end="5" > <c:out value="kierros ${i}"/> </c:foreach> tulostuu:

20 20(27) Internet-resurssin käsittely <c:import> tuo JSP-sivulle dataa ulkoisesta URL-osoitteesta syntaksi: <c:import url= url [context= context ] [var= varname ] [scope= {page request session application} ] [charencoding= charencoding ]> sisältö </c:import> url ilmaisee URL-osoitteen, mistä sisältö haetaan, context ilmoittaa perusosoitteen, jos url on suhteellinen osoite esimerkkejä URL-osoitteista: o Absolute URL: <c:import url=" o Relative URL (to the current context): <c:import url="/copyright.html"/> o Relative URL with a foreign context: <c:import url="/mylogo.html" context="/common"/> var ilmoittaa muuttujan, johon haettu sisältö tallentuu charencoding ilmaisee merkkien koodaustavan scope ilmaisee muuttujan näkyvyyden

21 21(27) Esim. <body> <h2>jstl-esimerkki: import-tagi</h2> <p>seuraava teksti on peräisin teksti.txt-tiedostosta</p> <c:import url="teksti.txt" /> </body> </html> tulostuu: Kun teksti.txt:n sisältö on: Abc kissa kävelee tikapuita pitkin taivaaseen. Tikapuut halkesi, pikku kissa putosi. MIAUUUU!

22 22(27) JSP-sivun ja pääservletin välinen kommunikointi Jsp-sivu vie tietoa pääservletille kahdella tavalla: A) Linkin-avulla B) Painikkeen avulla A) Linkki Syntaksi: <a href= pääservletti? parametri1=arvo1 & parametri2=arvo2... > Esim. <a href="kokeilut?action=hae&asiakas=mina&salasana=itse">hae</a> B) Painike Syntaksi: <form action= pääservletti method= get/post > <input type= submit name= toiminta value= paina > </form>

23 23(27) Esim. <form action="kokeilut" method="get" > Paikka: <select name="paikka" > <option value="30" <c:if test="${paikka==\"30\"}">selected </c:if> > Permanto(30 eur) </option> <option value="40" <c:if test="${paikka==\"40\"}">selected </c:if> > Parveke (40 eur)</option> <option value="50" <c:if test="${paikka==\"50\"}">selected </c:if> > Aitio (50 eur)</option> </select> Lippujen lukumäärä: <input type="text" name="maara" size="3" maxlength="3" value="${maara}" > Yhteensä: <input type="text" name="yhteensä" size="6" readonly value="${yhteensa}"> <input type="submit" name="action" value="laske"> </form> tulostaa Tilanne Laske-nappulan painalluksen jälkeen:

24 24(27) Pääservletti vastaanottaa tietoa JSP-sivulta: ServletRequest-luokan metodit: String getparameter(string); String [] getparametervalues(string); Ks. esim. protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getparameter("action"); RequestDispatcher disp ; if (action!= null && action.equals("laske")) { int paikka =Integer.parseInt(request.getParameter("paikka")); int maara=integer.parseint(request.getparameter("maara")); } int summa = maara*paikka; request.setattribute ("yhteensa",""+summa); request.setattribute("maara",""+maara); request.setattribute("paikka",""+paikka); } disp = request.getrequestdispatcher("web-inf/koe8.jsp"); disp.forward(request, response);

25 25(27) Pääservletti lähettää tietoa JSP-sivulle: Metodi: void setattribute(string attribuutinnimi, String attribuutinarvo); Esim. <body> <h3>henkilön tiedot </h3> <form action="kokeilut" method="post"> Kirjaudu: käyttäjätunnus: <input type="text" name="kayttaja" size="15" maxlength="15" /> salasana: <input type="password" name="sala" size="5" maxlength="5" /> <input type="submit" name="action" value="kirjaudu" /> </form> <FORM action="kokeilut" method="get"> <input type="hidden" name="tunnus" value="${tunnus}" > <input type="hidden" name="nimi" value="${nimi}" > <P> First name: <INPUT type="text" name="etunimi" value="${etunimi}" size="25" maxlength="25"> Last name:<input type="text" name="sukunimi" value="${sukunimi}"> <INPUT type="text" name=" " value="${ }"> sukupuoli: <c:if test="${sex==\"female\"}" > <INPUT type="radio" name="sex" value="male"> Male<BR/> <INPUT type="radio" name="sex" value="female" checked > Female<BR/> </c:if> <c:if test="${sex!=\"female\"}" > <INPUT type="radio" name="sex" value="male" checked > Male<BR/> <INPUT type="radio" name="sex" value="female" > Female<BR/> </c:if>...

26 26(27) tulostuu, kun käyttäjä avaa ikkunan ensimmäisen kerran: seuraavaksi hän painaa Kirjaudu-nappulaa tulostuu:

27 27(27) Mitä tapahtuu pääservletin doget-metodissa? protected void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getparameter("action"); RequestDispatcher disp ; boolean painettu= false; if (action!= null && action.equals("kirjaudu")) { String kayttaja = request.getparameter("kayttaja"); String salasana=request.getparameter("sala"); request.setattribute("tunnus","a "); request.setattribute("nimi","toimitusjohtaja Wilma Lahtinen"); request.setattribute("etunimi", "Ronja"); request.setattribute("sukunimi","röverdotter"); request.setattribute(" ","ronja@skog.se"); request.setattribute("sex","female"); } } disp = request.getrequestdispatcher("web-inf/koe8.jsp"); disp.forward(request, response);

JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003

JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 1(63) JSP (JavaServer Pages) tekniikka Lähde Arvo Lipitsäinen, JSP JavaServer Pages, 2003 mahdollistaa dynaamisen web-sisällön luonnin eli HTML-.DHTML-, XHTML- ja XML-dokumentit luodaan palvelimella dynaamisesti

Lisätiedot

directive attr1= value1 attr2= value2 %>

directive attr1= value1 attr2= value2 %> HAAGA-HELIA OHJELMISTOKEHITYS 1(14) -elementti on olemassa kolmenlaisia elementtejä: A) Direktiivit A) Direktiivejä (directive element) B) Skriptejä (scripting selement) C) Toimintoelementtejä (action

Lisätiedot

ICT1TN004. Lomakkeet. Heikki Hietala

ICT1TN004. Lomakkeet. Heikki Hietala Lomakkeet Heikki Hietala Lomakkeet Lomakkeita käytetään keräämään tietoa käyttäjältä ja siirtämään se palvelimelle Lomakkeen luominen ei yksin riitä, vaan pitää luoda myös lomakkeenkäsittelijä Lomakkeen

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

HSMT Web-sovellustekniikoista

HSMT Web-sovellustekniikoista HSMT Web-sovellustekniikoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/29 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

WWW ja servletit. Luku 10. 10.1 Johdanto

WWW ja servletit. Luku 10. 10.1 Johdanto Luku 10 WWW ja servletit Servletti (engl. servlet) eli palvelinsovelma on Java-kielinen olio, joka toimii WWW-palvelimen yhteydessä olevassa virtuaalikoneessa. Kaikkiin WWW-palvelimiin ei kuitenkaan ole

Lisätiedot

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

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Palvelinpuolen ohjelmointi

Palvelinpuolen ohjelmointi Palvelinpuolen ohjelmointi Staattiset ja dynaamiset web-sivut Staattiset web-sivut ovat valmiissa muodossaan palvelimella (tai paikallisesti omalla koneella). Javascript mahdollistaa paikalliset dynaamiset

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja.

Tuotteiden tiedot: Lisää uuden tuotteen tiedot. Muuta tai poista tuotteen tiedot. Selaa kaikkien tuotteiden tietoja. laskutus_index http://media.stadia.fi/~0700527/laskutus/laskutus_index.html Sivu 1/1 13.12.2007 Laskutus -tietokanta Henkilöiden tiedot: Lisää uuden henkilön tiedot Muuta tai poista henkilön tiedot Selaa

Lisätiedot

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

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

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

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

Lisätiedot

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä.

Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeet Lomake kannattaa asemoida taulukkoon: table. Silloin selitteet ja kentät saadaan sarakkeisiin. Kenttien ulkoasu voidaan määritellä tyyleillä. Lomakkeen tyylit kannattaa määritellä omaan, eriliseen,

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1

Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Digitaalisen median tekniikat xhtml - jatkuu 30.4.2004 Harri Laine 1 XHTML lomakkeet Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu 26.3.2004 Harri Laine 1 Lomakkeet mahdollistavat tiedon välityksen asiakkaalta (selaimesta) tiedon vastaanottajalle Vastaanottaja voi olla sähköpostiosoite

Lisätiedot

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen

Lisätiedot

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

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

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

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Digitaalisen median tekniikat xhtml - jatkuu

Digitaalisen median tekniikat xhtml - jatkuu Digitaalisen median tekniikat xhtml - jatkuu Harri Laine 1 Kehykset IFRAME - elementti (inline frame) mahdollistaa kehysten upottamisen myös muihin kuin frameset.dtd:n mukaisiin dokumentteihin IFRAME toimii

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1

Digitaalisen median tekniikat. JSP ja XML Harri Laine 1 Digitaalisen median tekniikat JSP ja XML 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome

Lomakkeet HTML5. Elina Ulpovaara. Testaus: IE9 Firefox7 Opera11 Chrome Lomakkeet HTML5 Elina Ulpovaara Testaus: IE9 Firefox7 Opera11 Chrome SELAIN Käyttäjä täyttää lomakkeen ja painaa lähetys-painiketta. Selain lähettää käyttäjän antamat tiedot palvelimelle lomakkeessa määrättyyn

Lisätiedot

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

Lisätiedot

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

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Digitaalisen median tekniikat. JSP ja XML

Digitaalisen median tekniikat. JSP ja XML Digitaalisen median tekniikat JSP ja 28.4.2004 Harri Laine 1 JSP hyvin lyhyesti JSP on Java-pohjainen skriptikieli JSP:llä laadittu sivu käännetään java-servletiksi (sivun toteutus vastaa servlettiluokan

Lisätiedot

koodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant

koodipolku iteraation muokkauksessa Dokumentti: koodipolkuesimerkki.doc Päiväys: Projekti : AgileElephant AgilElephant Koodipolku iteraation muokkauksessa Tekijä: Pauli Vesterinen Omistaja: ElectricSeven Aihe: Koodipolku iteraation muokkauksessa Sivu 1 of 15 Dokumentti Historia Muutoshistoria Revision Numero

Lisätiedot

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

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public) Tietorakenteet JAVA-OHJELMOINTI Osa 5: Tietorakenteita Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Olioita ja tietoja voidaan organisoida määrämuotoisiksi tietorakenteiksi Hyödyllisiä

Lisätiedot

17. Javan omat luokat 17.1

17. Javan omat luokat 17.1 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)

Lisätiedot

17. Javan omat luokat 17.1

17. Javan omat luokat 17.1 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)

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

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

4. Luokan testaus ja käyttö olion kautta 4.1 4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään

Lisätiedot

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

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

Lisätiedot

KOHDELUOKAN MÄÄRITTELY

KOHDELUOKAN MÄÄRITTELY KOHDELUOKAN MÄÄRITTELY Kohdeluokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Taulukon alkiona

Lisätiedot

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

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

2. PEHMEÄ XHTML XRAJAHTML

2. PEHMEÄ XHTML XRAJAHTML Luennot 1. Intro 2. PEHMEÄ XHTML XRAJAHTML Dokumentin (matalan tason) rakenne DOCTYPE ja merkistökoodaukset Elementtien syvät rajat 3. CSS 4. JavaScript 5. JavaScript-kirjastot & AJAX 6. Käytettävyys &

Lisätiedot

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

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. 1 Luokka Murtoluku uudelleen Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista. Sievennettäessä tarvitaan osoittajan ja nimittäjän suurin yhteinen tekijä (syt).

Lisätiedot

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002

Sisältö. XML, XHTML ja CSS XML XML. XML:n ja HTML:n ero. XML kieliä XML XHTML CSS XSL. T Hypermediadokumentin laatiminen 2002 , XHTML ja CSS T-111.361 Hypermediadokumentin laatiminen 2002 XHTML CSS XSL Sisältö EXtensible Markup Language W3C Recommendation helmikuu 1998 SGML:n osajoukko Standard Generalized Markup Language Kevyempi

Lisätiedot

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli. HTML & CSS Antti Koivisto HTML (HyperText Markup Language)! HTML on sivujen kuvauskieli.! Se ei ole ohjelmointikieli.! HTML on merkintäkieli, joka koostuu monista merkintä tägeistä ().! Voidaan

Lisätiedot

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

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

Lisätiedot

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006

H T M L eli kuinka laadin itselleni päheät kotisivut. Janne Käki 13.9.2006 H T M L eli kuinka laadin itselleni päheät kotisivut Janne Käki 13.9.2006 Mikä ihmeen HTML? HyperText Markup Language hypertekstiä eli toisiinsa linkitettyjä dokumentteja merkintäkieli, perustuu erilaisiin

Lisätiedot

Olio-ohjelmointi Syntaksikokoelma

Olio-ohjelmointi Syntaksikokoelma C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

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

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

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

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

16. Javan omat luokat 16.1

16. Javan omat luokat 16.1 16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat

Lisätiedot

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML AJAX-konsepti AJAX Asynchronous JavaScript And XML Viimeisin muoti-ilmiö web-ohjelmoinissa, termi Ajax tuli käyttöön vuoden 2005 aikana Joukko teknologioita, joiden avulla voidaan toteuttaa uudenlaisen

Lisätiedot

7. Oliot ja viitteet 7.1

7. Oliot ja viitteet 7.1 7. Oliot ja viitteet 7.1 Sisällys Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden sijoitus. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona. Viite metodin

Lisätiedot

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

Lisätiedot

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

Lisätiedot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

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

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin

Lisätiedot

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

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien

Lisätiedot

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

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

Lisätiedot

Alkuun HTML5 peliohjelmoinnissa

Alkuun HTML5 peliohjelmoinnissa Paavo Räisänen Alkuun HTML5 peliohjelmoinnissa www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida ja levittää ei kaupallisissa tarkoituksissa. Sisällysluettelo 1: Alkusanat 2: Alkuun 3: Pelinäkymä

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

Ohjelmointi 2, välikoe

Ohjelmointi 2, välikoe Ohjelmointi 2, välikoe 21.3.2014 Vastaa neljään tehtävään kuudesta siten, että jokainen tehtävä tulee omalle konseptilleen. Mikäli vastaat useampaan kuin neljään tehtävään, pisteiden laskussa huomioidaan

Lisätiedot

Luokan muodostimet (Constructors)

Luokan muodostimet (Constructors) Mikä on muodostin? Luokan muodostimet (Constructors) Millaisia muodostimia on? Oletusmuodostin (Default Constructor) Parametrillinen muodostin Kopiointimuodostin (Copy Constructor) this-muuttuja Miten

Lisätiedot

Taulukoiden käsittely Javalla

Taulukoiden käsittely Javalla 1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen

Lisätiedot

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

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

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa: XHTML - harjoitus Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa Tiedoston tallennus notepad (muistio) ohjelmassa: Jokaisen XHTML-dokumentin tulisi alkaa XML-määrittelyllä(engl.XML-prologue),

Lisätiedot

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

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

Metodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet Metodit Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin return; -lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua Metodi voi palauttaa alkeistyypin tai olion Tällöin

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta. 3 HTML ja XHTML Tutkitaan sitten HTML-dokumenttien anatomiaa, jotta päästään käsiksi rakenteisten dokumenttien käsitteistöön esimerkkien kautta.

Lisätiedot

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa WWW ja tietokannat WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa tekstiä, kuvia, hyperlinkkejä Staattiset sivut kirjoitettu kerran, muuttaminen käsin ongelmana pysyminen ajantasalla Ylläpito hankalaa,

Lisätiedot

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia)

JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) JavaScript alkeet Esimerkkikoodeja moniste 2 (05.10.11 Metropolia) Esim 5.1 laskujärjestys operaattorit var tulos = 5 + 4 * 12 / 4; document.write("5 + 4 * 12 / 4 laskutoimituksen tulos

Lisätiedot

14. Poikkeukset 14.1

14. Poikkeukset 14.1 14. Poikkeukset 14.1 Sisällys Johdanto. Tarkistettavat ja tarkistamattomat poikkeukset. Poikkeusten tunnistaminen ja sieppaaminen try-catchlauseella. Mitä tehdä siepatulla poikkeuksella? Poikkeusten heittäminen.

Lisätiedot

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

Lisätiedot

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

Sisällys. 7. Oliot ja viitteet. Olion luominen. Olio Java-kielessä Sisälls 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen.. Viitteiden vertailu. Varautuminen null-arvoon. Viite metodin paluuarvona.. Muuttumattomat ja muuttuvat merkkijonot.

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

Python-ohjelmointi Harjoitus 2

Python-ohjelmointi Harjoitus 2 Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento

Lisätiedot

Johdatusta selainohjelmointiin

Johdatusta selainohjelmointiin Johdatusta selainohjelmointiin Ohjelmat ja tyylit selaimessa ja HTML Jaana Holvikivi Selaimet ja HTML Selaimet: Internet Explorer, Exchange Firefox, Chrome Opera 10 Safari 4 Lukevat HTML sivuja ja asettelevat

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot