Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud...

54
Objektorienteeritud programmeerimine Eno Tõnisson 1

Transcript of Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud...

Page 1: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Objektorienteeritud programmeerimine

Eno Tõnisson

1

Page 2: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Plaan

• Sissejuhatus – organisatsiooniliselt

• Milleks?

• Kuidas?

• Millal?

• Kas?

– teemasse • Java

• Esimene programm

• …

• …

2

Page 3: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Inimesed on erinevad

• Siin võib-olla neid, kes

– programmeerivad igapäevaselt suure innuga

– said Programmeerimises hinde E

– on edukalt osalenud (rahvusvahelisel) informaatikaolümpiaadil

– suhtlevad mingis programmeerimiskeeles palju vabamalt kui mistahes inimkeeles

– on selle aine püsikliendid

– ei saa päriselt aru, miks nad seda eriala õpivad

– …

3

Page 4: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Keda järgnevatest inimestest usute kõige rohkem?

1. 2. 3.

0% 0%0%

1. Andus Ansipit

2. Andrus Kivirähki

3. Andrus Veerpalu

4

Response Grid

Countdown

10

Page 5: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Programmeerimise (Progr. alused II) kursus oli

5 1. 2. 3. 4. 5.

0% 0% 0%0%0%

1. väga lihtne

2. lihtne

3. paras

4. keeruline

5. väga keeruline

Page 6: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Millise hinde saite Programmeerimise (Progr. alused II) kursusel?

0%0%0%0%0%

1. 2. 3. 4. 5.

1. A

2. B

3. C

4. D

5. E

Page 7: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Milleks OOP?

• Silmaring, maailmavaade

– objektid, subjektid

• Õppimine

– jätk esimese semestri programmeerimisele

– eeldus mitmetele järgmistele ainetele

• Töö

– töökuulutused

• http://www.cv.ee/too/infotehnoloogia/q-java

• …

Page 8: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Millele (veel) tähelepanu? • Looming

– programmeerimine

• Keskendumine – Loengusse-praktikumi selleks, et õppida (luua tingimused

õppimiseks) – piisavalt iseseisvat õppimist tunnivälisel ajal

• Koostöö – üliõpilased omavahel

• paaristööd loengus, praktikumis • rühmatöö • foorum

– üliõpilane ja õppejõud • küsitakse-vastatakse

• Eestikeelne terminoloogia – kui meie ei kasuta ja ei arenda, siis ei tee seda (varsti) keegi

Page 9: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Miks just siin?

• On olemas hulgaliselt

– materjale

– videoid

– programminäiteid

– …

• Miks just kursusel, miks just nii?

Page 10: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Kursus • Loengud

– loodetavasti auditooriumi aktiivsusega, aga ikkagi teatud tempos

– mittestatsionaarne rühm

• Praktikumide tunnitööd, kodutööd – suhteliselt omas tempos, kindlad teemad

• Kontrolltööd – ajapiiriga

• Rühmatööd – ISE!

• Eksam

Page 11: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Loengud

• Milleks?

• Üks räägib, teised

– kuulavad ja mõtlevad kaasa

– teevad näo, et kuulavad ja mõtlevad kaasa

– ei tee isegi nägu, et kuulavad ja mõtlevad kaasa

http://uudised.err.ee/index.php?06244893

11

Page 12: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Sülearvuti kasutamine loengus

12

0%0%0%0%0%

1. 2. 3. 4. 5.

1. toetab loengu mõistmist, õhkkonda jm.

2. pigem toetab loengu mõistmist, õhkkonda jm.

3. ei mõjuta loengu mõistmist, õhkkonda jm.

4. pigem ei toeta loengu mõistmist, õhkkonda jm.

5. ei toeta loengu mõistmist, õhkkonda jm.

Page 13: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Hindamine • Loengud

– 12 punkti

• Praktikumid – 12 punkti – 1. kontrolltöö, 14 punkti – 2. kontrolltöö, 14 punkti – 1. rühmatöö, 5 punkti – 2. rühmatöö, 5 punkti – 3. rühmatöö, 5 punkti – rühmatöö esitlus, 5 punkti

• Eksamitöö, 36 punkti – Eksamile pääsemiseks peab olema praktikumidest (sh. rühmatööd)

kogutud vähemalt 35 punkti, loengutest vähemalt 6 punkti.

• Hindeskaala "E" 51-60, "D" 61-70, "C" 71-80, "B" 81-90, "A" 91-

13

Page 14: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Millise hindega oleksite selles aines rahul?

0%0%0%0%0%0%

1. 2. 3. 4. 5. 6.

1. A

2. B

3. C

4. D

5. E

6. F

Page 15: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Tahaks juba programmeerimisest ka kuulda

• Objektorienteeritud programmeerimine

– programmeerimiskeel Java

• Slaidide allikad

– Helle Heina slaidid

– Y. Daniel Liang Introduction to Java programming

– http://docs.oracle.com/javase/tutorial/

15

Page 16: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Eesmärk • Kursuse eesmärgiks on anda alusteadmised objekt-orienteeritud

programmeerimise eripärast, oskused programmide koostamiseks ning esmased rühmatööoskused

• Kursuse läbinud üliõpilane:

– on võimeline selgitama objekt-orienteeritud paradigma põhimõisteid (kapseldus, abstraktsioon, pärimine, polümorfism, üledefineerimine, ülekate) ning analüüsima vastavaid programme

– on võimeline kirjeldama erinevaid andmestruktuure (massiiv, ahel, magasin, järjekord, paisktabel) ja nende kasutusviise

– oskab selgitada rakendusteekide väärtust ja olemust ning leida nendest vajalikku informatsiooni

– oskab selgitada sündmuspõhise programmeerimise eripära ja erindite käitlemist ning tuua näiteid nende kasutamisest

– oskab ühes objekt-orienteeritud programmeerimiskeeles kasutades integreeritud programmeerimiskeskkonda koostada, testida ja siluda programme, rakendades selleks eelmistes punktides loetletut

– oskab kirjeldada isikliku kogemuse põhjal rühmaprojekti keskseid elemente.

16

Page 17: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Täna

• Java ajaloost

• Java omadused

• Esimene programm

• Muutujad ja tüübid

• Põhikonstruktsioonid

17

Page 19: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Java

• Lihtsus

• Objektorienteeritus

• Staatiliselt rangelt tüübitud

• Interpreteeritav

• Turvalisus

• Arhitektuurist sõltumatu – write once, run anywhere

• Multilõimelisus

• Dünaamilisus

• Vt. – http://www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdf

19

Page 20: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

API, JDK, IDE

• API – Application Programming Interface – rakendusteek, eelnevalt programmeeritud objektid (Java) programmi koostamiseks

– meil Java SE 7

• JDK – Java Development Toolkit – Java programmide koostamise tarkvara komplekt

– meil JDK 7

• IDE – Integrated Development Environment – integreeritud programmeerimiskeskkond

– meil Eclipse Classic 3.7.1 Indigo

20

Page 21: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Tehnoloogiad

• Java SE • Java Embedded • Java EE • Java ME • JavaFX • Java Card • Java TV • Java DB

• http://www.oracle.com/technetwork/java/index.html

21

Page 22: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Mis firmas Java loodi?

22 1. 2. 3. 4.

0% 0%0%0%

1. Dragon Ltd

2. Sun Microsystems

3. Smilers Computers

4. Grape International

Page 23: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Java programmide koostamise tarkvara komplekt on

23 1. 2. 3. 4.

0% 0%0%0%

1. JFK

2. JDK

3. API

4. ACTA

Page 24: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Esimene programm

Python: /*

Mitmerealine kommentaar

*/

//Üherealine kommentaar

public class TereMaailm {

public static void main(String[] args) {

System.out.println("Tere, maailm");

}

}

Fail nimega: TereMaailm.java

Kompileerimine: >javac TereMaailm.java

Käivitamine: >java TereMaailm 24

Page 25: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Klassimeetod, mitte

isendimeetod

public class TereMaailm {

public static void main(String[] args) {

System.out.println("Tere, maailm");

}

}

Kõik võivad programmi käivitada

Programmeerimine seisneb klasside

koostamises

Klassi nimi

Klassi alustav

sulg

Kõik võivad meetodit käivitada

Tühitüüp, väärtust ei tagastata Peameetod

Meetodit alustav

sulg

Parameetri tüüp

Parameetri nimi

Meetodit lõpetav

sulg

Klassi lõpetav

sulg

Meetodi nimi

Argument Käsku lõpetav

semikoolon

25

Page 26: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Tekstist tööle

Programmitekst

Baitkood

Redigeeri programmiteksti

Kompileeri javac Tere.java

Käivita java Tere

Tulemus

Pole see Pole

see

Pole see

26

Page 27: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Baitkood

• masinkeel JVM (Java Virtual Machine) jaoks

27

0: iconst_2 1: istore_1 2: iload_1 3: sipush 1000 6: if_icmpge 44 9: iconst_2 10: istore_2 11: iload_2 12: iload_1 13: if_icmpge 31 16: iload_1 17: iload_2

Page 28: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Millest programm koosneb? • Kommentaarid

• Võtmesõnad

– public, class, static, void

• Piiritlejad

– public, static

• Laused

– lõppevad semikooloniga

• Plokid

– { }

• Klassid

• Meetodid

– Peameetod main

28

Page 29: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Võtmesõnad abstract assert boolean break byte case

catch char class const* continue default

double do else enum extends final

finally float for goto* if implements

import instanceof int interface long

native new package private protected

public return short static strictfp

super switch synchronized this throw

throws transient try void volatile while

• Tunduvad võtmesõnadena, aga on literaalid false null true

29

Page 30: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Muutujad ja tüübid

• Igal Java muutujal on

– tüüp

• algtüüp või viittüüp

– nimi

– väärtus

• int x = 17;

30

Page 31: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Algtüüp • Täisarvud

– byte

– short

– int

– long

• Ujukomaarvud – float

– double

• Tõeväärtused – boolean

• Sümbolid – char

31

Page 32: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Täisarvud • Teine täiendväärtus (two's complement)

– byte • 8-bitiline

• -128 kuni 127

– short • 16-bitiline

• -32 768 kuni 32 767

– int • 32-bitiline

• -2 147 483 648 kuni 2 147 483 647

– long • 64-bitiline

• -9 223 372 036 854 775 808 kuni 9 223 372 036 854 775 807

• int x; 32

Page 33: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

• 9 223 372 036 854 775 807

• üheksa kvintiljonit kakssada kakskümmend kolm kvadriljonit kolmsada seitsekümmend kaks triljonit kolmkümmend kuus miljardit kaheksasada viiskümmend neli miljonit seitsesada seitsekümmend viis tuhat kaheksasada seitse

33

Page 34: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Ujukomaarvud

• IEEE 754 – float

• 32-bitiline

– double

• 64-bitiline

• double raadius = 7.8;

34

Page 35: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Tõeväärtus

• boolean

– true

– false

• boolean tv = true;

35

Page 36: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Sümbolid

• char

– 16-bitiline Unicode-sümbol

– '\u0000' (0) kuni '\uffff' (65535)

• char ch1 = 'a';

• char ch2 = 65;

• System.out.print("ch1 ja ch2: ");

• System.out.println(ch1 + " " + ch2);

36

Page 37: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Nimi

• on tõstutundlik

• võib sisaldada tähti, numbreid, _ , $

• ei tohi alata numbriga

• ei tohi olla Java võtmesõna,

• ei tohi olla true, false, null

37

Page 38: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Kirjeldamine, väärtustamine

• double raadius;

• int x, y, z, k;

• char a;

• raadius = 3.4;

• a = 'e';

• x = y = z = 1;

• int i = 1, j = 2;

• k = 1 + 5;

38

Page 39: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Ühiksuurendamine, ühikvähendamine

39

++muutuja

Muutujat suurendatakse ühe võrra ja seejärel arvutatakse avaldise väärtus kasutades muutuja uut väärtust

muutuja++

Avaldise väärtus arvutatakse kasutades muutuja vana väärtust ja seejärel suurendatakse muutujat ühe võrra

--muutuja

Muutujat vähendatakse ühe võrra ja seejärel arvutatakse avaldise väärtus kasutades muutuja uut väärtust

muutuja--

Avaldise väärtus arvutatakse kasutades muutuja vana väärtust ja seejärel vähendatakse muutujat ühe võrra

Page 40: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Mille toob järgmine programmi lõik ekraanile?

40 1. 2. 3. 4. 5.

0% 0% 0%0%0%

int i = 5;

int uus = 5 * i++;

System.out.println(uus);

1. 25

2. 26

3. 30

4. veateate

5. midagi muud

Page 41: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Mille toob järgmine programmi lõik ekraanile?

41 1. 2. 3. 4. 5.

0% 0% 0%0%0%

int i = 5;

int uus = 5 * ++i;

System.out.println(uus);

1. 25

2. 26

3. 30

4. veateate

5. midagi muud

Page 42: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Kas on lubatud int Public = 50000;

42

0%0%0%

1. 2. 3.

1. Jah

2. Ei

3. Ei oska öelda

Page 43: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Kas on lubatud int x = 50_0_00;

43

0%0%0%

1. 2. 3.

1. Jah

2. Ei

3. Ei oska öelda

Page 44: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Tüübiteisendus

• Avaldise arvutamisel – Kui ühe operandi tüüp on double, siis teine

teisendatakse ka double-tüüpi

– vastasel juhul, kui ühe operandi tüüp on float, siis teine teisendatakse ka float-tüüpi

– vastasel juhul, kui ühe operandi tüüp on long, siis teine teisendatakse ka long-tüüpi

– vastasel juhul teisendatakse mõlemad int-tüüpi

1.0/2

1/2

44

Page 45: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Tüübiteisendus

• Laienemise järjekord

– byte, short, int, long, float, double

– laiemaks automaatselt

– kitsamaks tuleb ilmutatult näidata

double f = 4;

double d = 6.4;

int i = (int) d; // d ise ei muutu, i on 6

45

Page 46: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Sõne

• Ei ole Javas algtüüp, hiljem käsitleme põhjalikumalt

String s1 = "On";

String s2 = "veebruar";

String s3 = s1 + " " + s2;

46

Page 47: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Kui palju on 1 + 2?

47 1. 2. 3. 4. 5.

0% 0% 0%0%0%

1. 1

2. 2

3. 3

4. 12

5. midagi muud

Page 48: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Mida väljastab ekraanile?

48 1. 2. 3. 4. 5.

0% 0% 0%0%0%

int i = 1, j = 2;

System.out.println("i + j = " + i + j);

1. i + j = 1

2. i + j = 2

3. i + j = 3

4. i + j = 12

5. midagi muud

Page 49: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Mida väljastab ekraanile?

49 1. 2. 3. 4. 5.

0% 0% 0%0%0%

int i = 1, j = 2;

System.out.println("i + j = " + (i + j));

1. i + j = 1

2. i + j = 2

3. i + j = 3

4. i + j = 12

5. midagi muud

Page 50: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Klaviatuurilt import java.util.Scanner;

class Klaviatuurilt {

public static void main(String [] args) {

Scanner scan = new Scanner(System.in);

System.out.println("Mis Su nimi on? ");

String nimi = scan.nextLine();

System.out.println("Sisesta täisarv");

int taisarv = scan.nextInt();

System.out.println("Sisesta reaalarv");

double ujukomaArv = scan.nextDouble();

System.out.println("Tere, " + nimi + "!");

System.out.println("Sisestasid täisarvu: " + taisarv);

System.out.println(" ja reaalarvu: " + ujukomaArv);

}

}

50

Page 51: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Loengu tempo oli

51 1. 2. 3.

0% 0%0%

1. liiga kiire

2. paras

3. liiga aeglane

Page 52: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Materjal tundus

52 1. 2. 3.

0% 0%0%

1. liiga lihtne

2. parajalt jõukohane

3. liiga keeruline

Page 53: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

What is your opinion?

53 1. 2. 3. 4. 5. 6. 7.

0% 0% 0% 0%0%0%0%

1. Strongly Agree

2. Agree

3. Somewhat Agree

4. Neutral

5. Somewhat Disagree

6. Disagree

7. Strongly Disagree

Page 54: Objektorienteeritud programmeeriminekodu.ut.ee/~eno/oop12loeng/oop12loeng1h.pdfObjektorienteeritud programmeerimine Author eno Created Date 2/7/2012 10:15:48 AM

Suur tänu osalemast ja kohtumiseni!

54