Ohjelmoinnin jatkokurssi, syksy 2009 Juhana Laurinharju / TKTL / HY Harjoitusviikko 1 a. Kommentit ovat turhia kääntäjälle. - tosi: kääntäjä tuottaa samanlaisen suoritettavan koodin kommenteista huolimatta. b. Kommentit ovat turhia. - epätosi: kommentit auttavat ohjelmoijaa lukemaan koodia. c. Ohjelmakoodin sisentäminen on turhaa kääntäjälle. - tosi: kääntäjä ohittaa sisennykset kääntäessään koodia. d. Ohjelmakoodin sisentäminen on turhaa. - epätosi: sisentäminen auttaa ohjelmoijaa lukemaan koodia. e. Arvolla on aina tyyppi. - tosi: Java on vahvasti tyypitetty kieli. f. Muuttujalla on aina tyyppi. - tosi: Java on vahvasti tyypitetty kieli, tyypitöntä muuttujaa ei ole. g. Muuttujaan on aina sijoitettu arvo. - epätosi: metodien paikallisilla muuttujilla ei ole arvoa ennen ensimmäistä sijoitusta. Sen sijaan luokka- ja ilmentymämuuttujat saavat alustusvaiheessa ainakin oletusarvon. h. Arvo on aina sijoitettu muuttujaan. - epätosi: arvo voi olla vakio, dynaamisesti laskettu lausekkeen arvo jne. i. Muuttujan voi esitellä sijoittamatta siihen arvoa. - tosi: esim. on sallittua: private int älykkyysosamäärä; j. Esittelemättömään muuttujaan voi sijoittaa arvon. - epätosi: javassa muuttujat täytyy aina esitellä. Esittely voi kuitenkin tapahtua ensimmäisen sijoituksen yhteydessä. k. 3.14 on arvo. - tosi l. 3.14 on tyyppi. - epätosi: 3.14 on arvo, jonka tyyppi on liukuluku m. 3.14 on muuttuja. - epätosi: 3.14 on arvo (literaalivakio), joka voidaan sijoittaa muuttujaan. n. int-tyyppisen muuttujan arvo voi olla negatiivinen. - tosi: int-tyypin arvoalue on -2147483648 ... 2147483647 o. double tarkoittaa kaksoistarkkuuden liukulukutyyppiä. - tosi p. double-tyyppisen muuttujan arvo voi olla negatiivinen. - tosi: esim. on sallittua: double älykkyysosamäärä = -1.0; q. Kaksoistarkkuuden liukuluku on suunnilleen sama asia kuin desimaaliluku. - tosi: huom. suunnilleen! Liukuluvun tarkkuus on merkittävästi rajallisempi kuin desimaaliluvun. Doublen positiivinen arvoalue: 2.22507e-308 - 1.79769e+308 r. Totuusarvoinen muuttuja voi saada arvokseen vain luvun nolla tai yksi. - epätosi: Javassa totuusarvoinen muuttuja voi saada arvokseen vain true tai false. s. Lausekkeilla on aina arvo. - tosi t. Lausekkeilla on aina tyyppi. - tosi: Javan staattisen vahvan tyypityksen seurauksena kääntäjä tutkii käännösvaiheessa lausekkeiden tyypit. Suoritusaikana lausekkeelle syntyy sitten arvo, jolla myös on tyyppi. u. Lausekkeet ovat muuttujia. - epätosi, mutta muuttujaa voidaan käyttää lausekkeena ja lausekkeen arvo voidaan sijoittaa muuttujaan v. Muuttujat ovat lausekkeita. - tosi ja epätosi: muuttuja ei itsessään ole lauseke, mutta muuttujaa voidaan käyttää lausekkeena. w. Lauseilla on aina arvo. - epätosi: esim. lauseella System.out.println(); ei ole arvoa. x. Lauseilla on aina tyyppi. - epätosi: jos lauseella ei ole arvoa, ei sillä ole tyyppiä. Void ei ole tyyppi, vaan ainoastaan ilmaus tyypin puuttumisesta. (Kurssilla tutustutaan pian lausekelauseisiin, jotka ovat lausekkeita, joita saa kayttää lauseiden tapaan.) y. Lauseet ovat muuttujia. - epätosi: lauseeseen ei voi tallentaa arvoa. z. Muuttujat ovat lauseita. - epätosi: lause ilmaisee jonkin algoritmisen toiminnon, "tehdään jotakin". Muuttuja itsessään ei tee mitään, se vain on.