Java – Numbrite maailm (Ülesanne 2)

Tehted arvudega

Selles peatükis õpime, kuidas saame teostada erinevaid tehteid, kasutades selleks Java operaatoreid.

Aritmeetlised operaatorid

Alustame kõige lihtsamatest aritmeetilistest operaatoritest (arithmetic operators).

Kui kasutad täisarve, siis tuleb ka vastus täisarvuline.

Jagamise puhul täisarvudega kuvatakse ainult täisosa. Kui soovid vastust komakohtadega, siis vähemalt üks argumentidest peab olema komaarv.

Siia gruppi loetakse ka nn ühe võrra suurendamise ja vähendamise operaatoreid (increment and decrement operators). Õigemini on see viis panna asja kirja lihtsamalt. Kõige tihedamini kohtame neid massiivide ja tsüklite puhul.

Omistamisoperaatorid

Omistamisoperaatori (assignment operators) puhul vaadatakse võrdusmärki, kui omaette operaatorit. See annab näiteks olemas olevat väärtust suurendada või vähendada.

Mis võiks järgmise tehte vastus olla?

Võrdlusoperaatorid

Kasutades võrdlusoperaatoreid, saame vastuseks true (tõene) või false (väär/vale). Hetkel pole küll sellega midagi peale hakata, aga nii kui jõuame tingimuslausete juurde, läheb see kohe käiku.

Loogika operaatorid

Võrdlusoperaatporitega käivad tihti kaasas ka loogika operaatorid (boolean operators), mis lubavad luua keerukamaid võrdlusi/tingimusi.

Tõeväärtustabel juhindumiseks:

Teeme ühe lihtsa näite – juhul kui mõlemad arvud on suuremad kui 5, siis liidetakse mõlemad kokku. Kui mitte, on väljastame 0.

Tüübiteisendused (Casting)

Tegevust, kus sul on vaja muuta jooksvalt muutuja andmetüüpi, nimetatakse casting. Muutuja enda väärtus sellega ei muutu. Võtame jagamise näite, kus üks täisarv peaks olema vähemalt komaarv. Muudame selle jooksvalt tehtes komaarvuks.

Tehete järjekord

Tean, et oskad kasutada ümarsulgusid, aga lihtsalt väike meelespea, et kui soovid määrata tehete järjekorda, siis kasuta neid :)

Ja ka operaatoritel on oma järjekord. Kindlasti mäletad reeglit “enne korrutan ja jagan, siis liidan ja lahutan” (3. klass). See kehtib ka siin.

Klass Math

Kui meil läheb vaja muuta arv absoluutväärtuseks, leida siinus, ümardada, leida suurim jne, siis tuleb meile appi Java klass Math (kliki lingile, et näha kõiki meetodeid). Tekitame näite, kus

  • loome suvalise arvu ( Math.random ) – random loob suvalise arvu 0-1. Kui soovid suuremat suvalist arvu, siis korruta läbi vastavalt 10, 100 jne. Siinkohal väike trikk, et kui näiteks soovid arve saada 40 ja 50 vahel –  x = Math.random()*10+40;
  • ümardame ( Math.round ) – ümardab lähima täisarvuni. Kui aga korrutame ja jagame 100ga, siis kuvatakse meile ka 2 komakohta. Oluline on, et lisaksid 100.0
  • astendame ( Math.pow ) – tavaline astendamine, kus esimene on algarv ja teine astendaja

Alamprogramm

Üritan vaikselt harjutada meid klasside, objektide ja meetoditega ning seepärast saame alguses neid tüki kaupa.

Nagu me siiani näinud oleme, siis Java rakenduse põhiprogramm on main . See tähendab, et kui kood käivitatakse, piilutakse kohe siia. Et kood oleks loetavam ja paremini hallatav, siis esimene samm selle jaoks on oma alamprogrammide ehk meetodite kasutamine. Protseduurlises programmeerimises kasutasime mõistet funktsioon, mis tähendab inimkeeli mingit tegevust programmis, mida on võimalik korduvalt välja kutsuda. Oma meetodi kirjeldame võtmesõnaga static , mis tähendab, et see pole seotud ühegi objektiga.

Teeme ühe näite, kus loome ühe meetodi ytleTere()  “Tere maailm!” väljastamiseks. Kui alamprogramm on olemas, siis saame selle põhiprogrammis välja kutsuda.

Mäletad, mida teeb tühi tagastustüüp void ? See ei tee mitte midagi, sest meie alamprogramm ei pidanud midagi meile ka väljastama.

Muudame meetodi dünaamilisemaks ja lisame argumendi, keda tervitada. Argumendi puhul tuleb määrata selle tüüp ja kui neid on rohkem, siis erista need komadega.

Teeme ühe näite, kus meetod peab tagastama meile näiteks mingi täisarvu. Teeme näiteks meetodi, mis arvutab ringi pindala. Nüüd programm leiab vastuse ja omistab selle muutujale s . Ja nüüd saame seda kasutada edasi järgmistes arvutustes või lihtsalt välja printida.

 

Ülesanne 2

Lisa kõik alamprogrammid ühte faili.

  1. Koosta alamprogramm (meetod), mis teisendab tollid meetriteks ja kuvab vastuse.
  2. Koosta alamprogramm ellipsi pindala leidmiseks. Ümarda vastus kaks komakohta ning PI leidmiseks kasuta Math klassi. Väljasta täislause.
  3. Loo alamprogramm, mis teisendab etteantud minutid tundideks ja minutiteks.
  4. Koosta kaks alamprogrammi, kus esimene aitab leida kahe sportlase kiiruse (distants (km), aeg (h)) ning teine väljastab nende kiiruste vahe. Kusjuures vahe leidmisel on vastus alati positiivne (abosluutväärtus).
  5. Lisa iga alamprogrammi ette tegevust kirjeldav kommentaar.

Attachments13

Viimased postitused

Meist

metshein.com on pakkunud juba üle kümne aasta tasuta eestikeelseid infotehnoloogiaga seotud kursusi. Sama kurssi püütakse järgida ka edaspidi. Eesmärk muuta arvutiõpe võimalikult lihtsaks!

metshein.com: parim eestikeelne koolitusportaal

Autorist ja kontakt: kliki siia

Kontrolli tunnistust

Tööribale