<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kviirsaa</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kviirsaa"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Kviirsaa"/>
	<updated>2026-06-10T18:10:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88313</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88313"/>
		<updated>2015-04-16T11:50:10Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* String */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud.&amp;lt;br/&amp;gt;BigDecimal on vajalik, et täpseid arvutusi teha.&amp;lt;br/&amp;gt;NB! Et arvutused oleksid täpsed, peavad arvud olema jutumärkides, ehk sõne kujul.&amp;lt;br/&amp;gt;(arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b); // liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;font-size: 3em; padding: 0.5em;&amp;quot;  | String meetodid&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Loo uus sõne&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left; padding: 5px;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| style=&amp;quot;padding: 5px;&amp;quot; | s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | &amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88312</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88312"/>
		<updated>2015-04-16T11:45:47Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kuidas koodis kasutada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud.&amp;lt;br/&amp;gt;BigDecimal on vajalik, et täpseid arvutusi teha.&amp;lt;br/&amp;gt;NB! Et arvutused oleksid täpsed, peavad arvud olema jutumärkides, ehk sõne kujul.&amp;lt;br/&amp;gt;(arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b); // liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | &amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88311</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88311"/>
		<updated>2015-04-16T11:44:38Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Head ja halvad omadused võrdluses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud.&amp;lt;br/&amp;gt;BigDecimal on vajalik, et täpseid arvutusi teha.&amp;lt;br/&amp;gt;NB! Et arvutused oleksid täpsed, peavad arvud olema jutumärkides, ehk sõne kujul.&amp;lt;br/&amp;gt;(arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b); // liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%; font-size: 3em; padding: 1em;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | &amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88310</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88310"/>
		<updated>2015-04-16T11:42:14Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Andmetüüpide võrdlus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud.&amp;lt;br/&amp;gt;BigDecimal on vajalik, et täpseid arvutusi teha.&amp;lt;br/&amp;gt;NB! Et arvutused oleksid täpsed, peavad arvud olema jutumärkides, ehk sõne kujul.&amp;lt;br/&amp;gt;(arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b); // liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88309</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88309"/>
		<updated>2015-04-16T11:41:18Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Andmetüüpide võrdlus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud.&amp;lt;br/&amp;gt;BigDecimal on vajalik, et täpseid arvutusi teha.&amp;lt;br/&amp;gt;NB! Et arvutused oleksid täpsed, peavad arvud olema jutumärkides, ehk sõne kujul.&amp;lt;br/&amp;gt;(arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b);&lt;br /&gt;
    System.out.println(a);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88308</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88308"/>
		<updated>2015-04-16T11:40:58Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Andmetüüpide võrdlus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud. BigDecimal on vajalik, et täpseid arvutusi teha.&amp;lt;br/&amp;gt;NB! Et arvutused oleksid täpsed, peavad arvud olema jutumärkides, ehk sõne kujul.&amp;lt;br/&amp;gt;(arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: left&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b);&lt;br /&gt;
    System.out.println(a);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88307</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88307"/>
		<updated>2015-04-16T11:39:22Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Andmetüüpide võrdlus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | BigDecimal&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kõik arvud (arvu suurust limiteerib vaid arvuti mälu)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal(&amp;quot;432.76&amp;quot;)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | BigDecimal a = new BigDecimal(&amp;quot;432.76&amp;quot;);&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &lt;br /&gt;
    BigDecimal a = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    BigDecimal b = new BigDecimal(&amp;quot;2&amp;quot;);&lt;br /&gt;
    a = a.add(b);&lt;br /&gt;
    System.out.println(a);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88306</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88306"/>
		<updated>2015-04-16T11:34:34Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Andmetüüpide võrdlus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | hoitav väärtus&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | näide&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | kuidas uus luua&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 1em;&amp;quot; | liitmine&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | byte&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte a = 25;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | int&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 54&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 54;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | float&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 3;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | double&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | 65.34&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 65.34;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | char&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | üks täht&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &#039;t&#039;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | String&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;quot;Tere&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | boolean&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true või false&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | true&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 1em;&amp;quot; | Object&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | ArrayList a = new ArrayList();&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88305</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88305"/>
		<updated>2015-04-16T11:30:39Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | if&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | switch&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | try-catch&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | point&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | näiteks&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | näide&amp;lt;br/&amp;gt;koodis&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | while&lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | for&lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | foreach&lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | do..while&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding:0.5em;&amp;quot; | point&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Identne while tsükliga, aga käiatakse vähemalt ühe korra, sest tingimuse kontrollimine toimub lõpus.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding:0.5em;&amp;quot; | prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding:0.5em;&amp;quot; | Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88304</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88304"/>
		<updated>2015-04-16T11:29:24Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | if&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | switch&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | try-catch&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | point&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | näiteks&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | näide&amp;lt;br/&amp;gt;koodis&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | while&lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | for&lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | foreach&lt;br /&gt;
! style=&amp;quot;width: 20%; font-size: 3em; padding:1em;&amp;quot; | do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Identne while tsükliga, aga käiatakse vähemalt ühe korra, sest tingimuse kontrollimine toimub lõpus.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88303</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88303"/>
		<updated>2015-04-16T11:28:37Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kui&amp;quot; tüüpi hargnevused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | if&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | switch&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | try-catch&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | point&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | näiteks&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 1.3em; padding: 0.5em;&amp;quot; | näide&amp;lt;br/&amp;gt;koodis&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | while&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | for&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | foreach&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Identne while tsükliga, aga käiatakse vähemalt ühe korra, sest tingimuse kontrollimine toimub lõpus.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88302</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88302"/>
		<updated>2015-04-16T11:28:01Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kui&amp;quot; tüüpi hargnevused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | if&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | switch&lt;br /&gt;
! style=&amp;quot;font-size: 3em; padding: 1em;&amp;quot; | try-catch&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 0.5em;&amp;quot; | point&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 0.5em;&amp;quot; | näiteks&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;font-size: 2em; padding: 0.5em;&amp;quot; | näide&amp;lt;br/&amp;gt;koodis&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | while&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | for&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | foreach&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Identne while tsükliga, aga käiatakse vähemalt ühe korra, sest tingimuse kontrollimine toimub lõpus.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88301</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88301"/>
		<updated>2015-04-16T11:12:20Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | while&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | for&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | foreach&lt;br /&gt;
! style=&amp;quot;width: 20%&amp;quot; | do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Identne while tsükliga, aga käiatakse vähemalt ühe korra, sest tingimuse kontrollimine toimub lõpus.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88300</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88300"/>
		<updated>2015-04-16T11:08:55Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! while&lt;br /&gt;
! for&lt;br /&gt;
! foreach&lt;br /&gt;
! do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene, aga vähemalt ühe korra.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88299</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88299"/>
		<updated>2015-04-16T11:07:28Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! while&lt;br /&gt;
! for&lt;br /&gt;
! foreach&lt;br /&gt;
! do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene, aga vähemalt ühe korra.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88298</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88298"/>
		<updated>2015-04-16T11:06:00Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! while&lt;br /&gt;
! for&lt;br /&gt;
! foreach&lt;br /&gt;
! do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene, aga vähemalt ühe korra.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite&amp;lt;br/&amp;gt;jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist&amp;lt;br/&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&lt;br /&gt;
    &amp;quot;olen&amp;quot;,&lt;br /&gt;
    &amp;quot;lihtne&amp;quot;,&lt;br /&gt;
    &amp;quot;ülesanne&amp;quot;&lt;br /&gt;
};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88297</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88297"/>
		<updated>2015-04-16T11:04:29Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! while&lt;br /&gt;
! for&lt;br /&gt;
! foreach&lt;br /&gt;
! do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene, aga vähemalt ühe korra.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&amp;lt;br/&amp;gt;    &amp;quot;olen&amp;quot;,&amp;lt;br/&amp;gt;    &amp;quot;lihtne&amp;quot;,&amp;lt;br/&amp;gt;    &amp;quot;ülesanne&amp;quot;};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88296</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88296"/>
		<updated>2015-04-16T11:03:34Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! while&lt;br /&gt;
! for&lt;br /&gt;
! foreach&lt;br /&gt;
! do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene, aga vähemalt ühe korra.&lt;br /&gt;
|-&lt;br /&gt;
! prindi numbrite jada 1-10&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| X&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
while (count &amp;lt; 10) {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {&lt;br /&gt;
    System.out.println(i + 1);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(count + 1);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; 10);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Prindi välja väärtused massiivist &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;String[] m = {&amp;quot;olen&amp;quot;, &amp;quot;lihtne&amp;quot;, &amp;quot;ülesanne&amp;quot;};&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int count = 0;&lt;br /&gt;
while (count &amp;lt; m.length) {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
}&lt;br /&gt;
for (int i = 0; i &amp;lt; m.length; i++) {&lt;br /&gt;
    System.out.println(m[i]);&lt;br /&gt;
}&lt;br /&gt;
for (String s : m) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
}&lt;br /&gt;
int count = 0;&lt;br /&gt;
do {&lt;br /&gt;
    System.out.println(m[count]);&lt;br /&gt;
    count = count + 1;&lt;br /&gt;
} while (count &amp;lt; m.length);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88295</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88295"/>
		<updated>2015-04-16T10:53:20Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kuni&amp;quot; tüüpi tsüklid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks. While tsükkel on selles mõttes universaalne, et sellega saab kõike teha, mida teistegagi. Teiste tsüklite mõte on lihtsustada kindlaid igapäevaseid toiminguid. Näiteks kui sul on vaja just numbritega mängida, siis saad for tsükliga kiiremini asja tehtud. Kui soovid massiivi väärtustega tegeleda, on foreach ideaalne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! while&lt;br /&gt;
! for&lt;br /&gt;
! foreach&lt;br /&gt;
! do..while&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene&lt;br /&gt;
| Korrata koodi x arv kordi&lt;br /&gt;
| Käia tsükliga läbi mõni andmete kogum (nt. massiiv)&lt;br /&gt;
| Korrata koodi kuni tingimus on tõene, aga vähemalt ühe korra.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88294</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88294"/>
		<updated>2015-04-16T10:50:30Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kui&amp;quot; tüüpi hargnevused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks.&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88293</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88293"/>
		<updated>2015-04-16T10:40:35Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kui&amp;quot; tüüpi hargnevused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int punkte = 55;&lt;br /&gt;
if (punkte &amp;gt;= 50) {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
} else {&lt;br /&gt;
    System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
switch (aastaaeg) {&lt;br /&gt;
    case &amp;quot;talv&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
    case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
    case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
        System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BufferedReader br;&lt;br /&gt;
try {&lt;br /&gt;
    br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
} catch (FileNotFoundException e) {&lt;br /&gt;
    System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
    e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks.&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88292</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88292"/>
		<updated>2015-04-16T10:39:16Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kui&amp;quot; tüüpi hargnevused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! if&lt;br /&gt;
! switch&lt;br /&gt;
! try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    int punkte = 55;&lt;br /&gt;
    if (punkte &amp;gt;= 50) {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
    switch (aastaaeg) {&lt;br /&gt;
        case &amp;quot;talv&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
        case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    BufferedReader br;&lt;br /&gt;
    try {&lt;br /&gt;
        br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
    } catch (FileNotFoundException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
        e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks.&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88291</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88291"/>
		<updated>2015-04-16T10:38:27Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* &amp;quot;Kui&amp;quot; tüüpi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi hargnevused =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|if&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|switch&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    int punkte = 55;&lt;br /&gt;
    if (punkte &amp;gt;= 50) {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
    switch (aastaaeg) {&lt;br /&gt;
        case &amp;quot;talv&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
        case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    BufferedReader br;&lt;br /&gt;
    try {&lt;br /&gt;
        br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
    } catch (FileNotFoundException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
        e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks.&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88290</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88290"/>
		<updated>2015-04-16T10:37:14Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kui&amp;quot; tüüpi =&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad tõenäoliselt &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt; tingimust. Teisi kasutad pigem siis, kui eraldi vajadus tekib.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|if&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|switch&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    int punkte = 55;&lt;br /&gt;
    if (punkte &amp;gt;= 50) {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
    switch (aastaaeg) {&lt;br /&gt;
        case &amp;quot;talv&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
        case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    BufferedReader br;&lt;br /&gt;
    try {&lt;br /&gt;
        br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
    } catch (FileNotFoundException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
        e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= &amp;quot;Kuni&amp;quot; tüüpi tsüklid =&lt;br /&gt;
&lt;br /&gt;
Kui programmil on vaja nüüd mitte lihtsalt hargneda (otsus langetada) vaid ühte koodijuppi käiata kümneid või isegi tuhandeid kordi, siis on tsüklid selle jaoks.&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88289</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88289"/>
		<updated>2015-04-16T10:33:33Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 20%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|if&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|switch&lt;br /&gt;
! style=&amp;quot;width: 27%;&amp;quot;|try-catch&lt;br /&gt;
|-&lt;br /&gt;
! eesmärk&lt;br /&gt;
| Teha programmis keeruliste tingimustega valikuid (==, !=, &amp;lt;=)&lt;br /&gt;
| Teha paljude variantidega, aga lihtsama tingimusega (ainult ==), valikuid.&lt;br /&gt;
| Try-catch on nagu if-else, ainult, et on mõeldud veaohtlike koodijuppidele.&lt;br /&gt;
|-&lt;br /&gt;
! näidis ülesanne&lt;br /&gt;
| Kui punkte on 50 või rohkem, saab tudeng ainest läbi. Kui on vähem, siis ei saa.&lt;br /&gt;
| Järgmise aasta ilmateade: kui on suvi, paistab päike; kui on talv, sajab lund, kevadel ja sügisel sajab vihma.&lt;br /&gt;
| Loe kõvakettalt fail üles, kui millegipärast toiming ebaõnnestub, anna sellest teada.&lt;br /&gt;
|-&lt;br /&gt;
! näite lahendus&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    int punkte = 55;&lt;br /&gt;
    if (punkte &amp;gt;= 50) {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng sai ainest läbi&amp;quot;);&lt;br /&gt;
    } else {&lt;br /&gt;
        System.out.println(&amp;quot;tudeng ei saanud ainest läbi&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
	&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    String aastaaeg = &amp;quot;kevad&amp;quot;;&lt;br /&gt;
    switch (aastaaeg) {&lt;br /&gt;
        case &amp;quot;talv&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab lund&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;suvi&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Päike&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
        case &amp;quot;kevad&amp;quot;: // kevade ja sügise tulemus on sama&lt;br /&gt;
        case &amp;quot;sügis&amp;quot;:&lt;br /&gt;
            System.out.println(&amp;quot;Sajab vihma&amp;quot;);&lt;br /&gt;
            break;&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    &amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
    BufferedReader br;&lt;br /&gt;
    try {&lt;br /&gt;
        br = new BufferedReader(new FileReader(&amp;quot;file.txt&amp;quot;));&lt;br /&gt;
    } catch (FileNotFoundException e) {&lt;br /&gt;
        System.out.println(&amp;quot;Faili ei loetud, sest:&amp;quot;);&lt;br /&gt;
        e.printStackTrace(); // prindib detailse errori&lt;br /&gt;
    }&lt;br /&gt;
    &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88288</id>
		<title>I200:Juhtimisstruktuurid</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Juhtimisstruktuurid&amp;diff=88288"/>
		<updated>2015-04-16T10:04:29Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: Created page with &amp;quot;300px  Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;ku…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Juhtstruktuurid.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
Juhtimisstruktuurid on programmeerija põhilised tööriistad, nagu ehitajal on haamer ja kruvikeeraja. Siin käsitleme kahte liiki: &amp;quot;kui&amp;quot; ja &amp;quot;kuni&amp;quot;, ehk &amp;quot;kui&amp;quot; tingimus on täidetud käitu sedasi ja &amp;quot;kuni&amp;quot; tingimus on täidetud käitu sedasi. Muud neil vahet polegi, kui ühed juhivad programmi kulgemist vaid ühe korra ja teised panevad ühe koodi jupi tsükliliselt kordama.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kui&amp;quot; tüüpi juhtimisstruktuurid on if, switch ja try-catch. &amp;quot;Kuni&amp;quot; tüüpi tsüklid on while, for, foreach ja do..while.&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Juhtstruktuurid.png&amp;diff=88287</id>
		<title>File:Juhtstruktuurid.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Juhtstruktuurid.png&amp;diff=88287"/>
		<updated>2015-04-16T09:53:17Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Programmeerimise_algkursus_Java_baasil&amp;diff=88286</id>
		<title>Programmeerimise algkursus Java baasil</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Programmeerimise_algkursus_Java_baasil&amp;diff=88286"/>
		<updated>2015-04-16T09:53:00Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Java */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Programmeerimine on oskus käsutada arvutit. Mõtle, sinu isiklik ori. Ta ei pahanda ega ei väsi. Ta ei oska veel kõndida ega sind teenindada, aga ta on igas maailma otsas ühe varbaga sees. Ta toob sulle sinu igapäevase info ja aitab sul tuludeklaratsiooni kodust ära teha. Ta juhatab sind läbi tipptunni liikluse (Waze&#039;i tead ikka?) ja toob sinuni kõige odavamad lennupiletid Taisse. Peale selle loob ta fantastilisi virtuaalseid universumeid, kus seigelda. Kui õpid programmeerima õpid arvutiga otse suhtlema.&lt;br /&gt;
&lt;br /&gt;
Kui oskad programmeerida oled poweruser nii arvutis kui maailmas, sest põhiliselt arenev oskus on loogika ja see ei jookse mitte ühegi ala peal külgedelt maha.&lt;br /&gt;
&lt;br /&gt;
= Java =&lt;br /&gt;
&lt;br /&gt;
Java on veidi keerulisem keel, kui näiteks Python, aga samas ei lase Java sul nii palju vigu teha ja on seetõttu vahest isegi parem keel alustamiseks. Parim omadus on aga see, et Java on keeruliste ja lihtsate keelte vahepeal. Kui õpid selle keele ära saad minna ükskõik kuhu edasi!&lt;br /&gt;
&lt;br /&gt;
Siin on kõik, mida meil on vaja Javast teada. Hoia seda joonist omal lähedal ja vaata seda alati, kui õpid uusi asju. Kui saad skeemist aru on programmeerides lihtsam orienteeruda ja meeles hoida võimalusi.&lt;br /&gt;
&lt;br /&gt;
[[File:Java.png|700px]]&lt;br /&gt;
&lt;br /&gt;
* [[I200:Muutujad|Muutujad]]&lt;br /&gt;
* [[I200:Juhtimisstruktuurid|Juhtimisstruktuurid]]&lt;br /&gt;
&lt;br /&gt;
[[I200:KKK|KKK]]&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88285</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88285"/>
		<updated>2015-04-16T09:50:22Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png|400px|right]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88284</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88284"/>
		<updated>2015-04-16T09:47:44Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Muutujad.png]]&lt;br /&gt;
&lt;br /&gt;
Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Muutujad.png&amp;diff=88283</id>
		<title>File:Muutujad.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Muutujad.png&amp;diff=88283"/>
		<updated>2015-04-16T09:47:20Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88282</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88282"/>
		<updated>2015-04-16T09:38:19Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* String */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Loo uus sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: left;&amp;quot; | Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88281</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88281"/>
		<updated>2015-04-16T09:35:23Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* String */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Loo uue sõne&lt;br /&gt;
| String s = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! Leia sõnest kombinatsioon &amp;quot;ere&amp;quot;?&lt;br /&gt;
| s.contains(&amp;quot;ere&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! Muuda kõik tähed suureks&lt;br /&gt;
| s.toUpperCase();&lt;br /&gt;
|-&lt;br /&gt;
! Muuda kõik tähed väikseks&lt;br /&gt;
| s.toLowerCase();&lt;br /&gt;
|-&lt;br /&gt;
! Poolita sõne tühiku kohalt.&amp;lt;br/&amp;gt;Tulemuseks on sõnede massiiv.&lt;br /&gt;
| s.split(&amp;quot; &amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! Asenda &amp;quot;Tere&amp;quot; sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
| s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! Nagu replace(), aga [http://regexone.com/ regex&#039;iga]&lt;br /&gt;
| s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! Kas sõne on tühi?&lt;br /&gt;
| s.isEmpty();&lt;br /&gt;
|-&lt;br /&gt;
! Mis indeksil on sõne &amp;quot;re&amp;quot;? (vastus: 2)&lt;br /&gt;
| s.indexOf(&amp;quot;re&amp;quot;);&lt;br /&gt;
|-&lt;br /&gt;
! Mitu tähte on sõne pikk?&lt;br /&gt;
| s.length();&lt;br /&gt;
|-&lt;br /&gt;
! Mis täht asub indeksil 0?&lt;br /&gt;
| s.charAt(0);&lt;br /&gt;
|-&lt;br /&gt;
! Kas sõne s ja b on identse sisuga?&lt;br /&gt;
| s.equals(b);&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88280</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88280"/>
		<updated>2015-04-16T09:29:21Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Üksik väärtus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt kasutad täisarvude jaoks &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; tüüpi muutujaid, komakohaga arvude jaoks &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; ja ülejäänud läheb sõne, ehk &amp;lt;code&amp;gt;String&amp;lt;/code&amp;gt; sisse. Kuid võimalusi on veel.&lt;br /&gt;
&lt;br /&gt;
== Andmetüüpide võrdlus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ohukohad ==&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88279</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88279"/>
		<updated>2015-04-16T09:26:56Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Üksik väärtus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ettevaatust 1: Arvu miinimum ja maksimum ==&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
== Ettevaatust 2: Arvutused ei ole alati täpsed ==&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== String ==&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88278</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88278"/>
		<updated>2015-04-16T09:25:54Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Üksik väärtus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
! byte&lt;br /&gt;
| väikesed arvud&amp;lt;br/&amp;gt;(alates -128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
! int&lt;br /&gt;
| täisarvud&amp;lt;br/&amp;gt;(alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! float&lt;br /&gt;
| reaalarvud&amp;lt;br/&amp;gt;(alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! double&lt;br /&gt;
| reaalarvud (komakohaga)&amp;lt;br/&amp;gt;(alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
! char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
! String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
! boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
! Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| kui objekt toetab siis on tal selleks oma meetod&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88277</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88277"/>
		<updated>2015-04-16T09:23:08Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Üksik väärtus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! hoitav väärtus&lt;br /&gt;
! näide&lt;br /&gt;
! kuidas uus luua&lt;br /&gt;
! liitmine&lt;br /&gt;
|-&lt;br /&gt;
| byte&lt;br /&gt;
| väikesed arvud (-128 kuni 127)&lt;br /&gt;
| 25&lt;br /&gt;
| byte a = 25;&lt;br /&gt;
| byte b = (byte) (34 + 3);&lt;br /&gt;
|-&lt;br /&gt;
| int&lt;br /&gt;
| täisarvud (alates -2&#039;147&#039;483&#039;648 kuni 2&#039;147&#039;483&#039;647)&lt;br /&gt;
| 54&lt;br /&gt;
| int a = 54;&lt;br /&gt;
| int a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
| float&lt;br /&gt;
| reaalarvud (alates 1.4*10^-45 kuni 3.4*10^38)&lt;br /&gt;
| 3&lt;br /&gt;
| float a = 3;&lt;br /&gt;
| float a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
| double&lt;br /&gt;
| reaalarvud (komakohaga) (alates 4.9*10^-324 kuni 1.79*10^308)&lt;br /&gt;
| 65.34&lt;br /&gt;
| double a = 65.34;&lt;br /&gt;
| double a = 34 + 45;&lt;br /&gt;
|-&lt;br /&gt;
| char&lt;br /&gt;
| üks täht&lt;br /&gt;
| &#039;t&#039;&lt;br /&gt;
| char a = &#039;t&#039;;&lt;br /&gt;
| char a = &#039;t&#039; + &#039;a&#039;; // a = Õ&lt;br /&gt;
|-&lt;br /&gt;
| String&lt;br /&gt;
| Sõne, ehk jutumärkide vahele saab panna kõiki sümboleid&lt;br /&gt;
| &amp;quot;Tere&amp;quot;&lt;br /&gt;
| String a = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
| String a = &amp;quot;Tere, &amp;quot; + &amp;quot;hommikust!&amp;quot;;&lt;br /&gt;
|-&lt;br /&gt;
| boolean&lt;br /&gt;
| true või false&lt;br /&gt;
| true&lt;br /&gt;
| boolean a = true;&lt;br /&gt;
| boolean a = true &amp;amp;&amp;amp; false; // false&amp;lt;br/&amp;gt;&lt;br /&gt;
boolean a = true || false; // true&lt;br /&gt;
|-&lt;br /&gt;
| any Object&lt;br /&gt;
| keerulisemad objektid, nagu ArrayList&lt;br /&gt;
| [34, &amp;quot;ArrayList&amp;quot;, 47.5]&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88276</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88276"/>
		<updated>2015-04-16T08:55:04Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Head ja halvad omadused võrdluses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide,&amp;lt;br/&amp;gt;ehk kogum kogumi sees&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88275</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88275"/>
		<updated>2015-04-16T08:53:54Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
== Kolm tüüpi ==&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Head ja halvad omadused võrdluses ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kuidas koodis kasutada ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88268</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88268"/>
		<updated>2015-04-15T12:28:43Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja ühe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int t = (int) ((ArrayList) tulemused.get(&amp;quot;võistleja6&amp;quot;)).get(7);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
See üks rida on muidugi suhteliselt keeruline, aga andmed on meil vähemalt struktureeritud ja korras.&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88267</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88267"/>
		<updated>2015-04-15T12:25:44Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus ArrayListi sisse&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja kahe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] t = (int[]) tulemused.get(&amp;quot;võistleja6&amp;quot;);&lt;br /&gt;
System.out.println(&amp;quot;tulemus6-7 = &amp;quot; + t[7]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88266</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88266"/>
		<updated>2015-04-15T12:25:20Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi, mille sees on omakorda ArrayList:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();                  // Loo HashMap&lt;br /&gt;
ArrayList voistleja = new ArrayList();              // Loo ArrayList&lt;br /&gt;
for (int i = 0; i &amp;lt; 10; i++) {                      // iga võistleja kohta&lt;br /&gt;
    voistleja.clear();                              // tühjenda eelnevad katsed&lt;br /&gt;
    for (int j = 0; j &amp;lt; 10; j++) {                  // iga katse kohta&lt;br /&gt;
        voistleja.add((int) (Math.random() * 100)); // genereeri katse tulemus&lt;br /&gt;
    }&lt;br /&gt;
    tulemused.put(&amp;quot;võistleja&amp;quot;+i, voistleja);        // lisa ArrayList HashMapi sisse&lt;br /&gt;
}&lt;br /&gt;
System.out.println(&amp;quot;tulemused = &amp;quot; + tulemused);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Antud koodi tulemuseks on ilus tabel&lt;br /&gt;
&lt;br /&gt;
    tulemused = {&lt;br /&gt;
        võistleja2 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja1 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja0 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja6 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja5 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja4 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja3 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja9 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja8 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54],&lt;br /&gt;
        võistleja7 = [54, 17, 25, 16, 10, 98, 86, 92, 10, 54]&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Kui mul on siis hiljem vaja näiteks võistleja nr 6 tulemust nr 7, siis küsin selle välja kahe reaga:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] t = (int[]) tulemused.get(&amp;quot;võistleja6&amp;quot;);&lt;br /&gt;
System.out.println(&amp;quot;tulemus6-7 = &amp;quot; + t[7]);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88265</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88265"/>
		<updated>2015-04-15T12:02:05Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap tulemused = new HashMap();&lt;br /&gt;
tulemused.put(&amp;quot;võistleja1&amp;quot;, new int[]{34, 65, 76, 23, 12, 32, 43, 34, 76, 45});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja2&amp;quot;, new int[]{54, 65,  4, 34, 45, 57, 45, 34, 43, 54});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja3&amp;quot;, new int[]{76, 65, 45, 65, 76,  4, 45, 65, 76,  8});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja4&amp;quot;, new int[]{34, 45, 65, 76, 87, 45, 45, 56, 76, 87});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja5&amp;quot;, new int[]{23, 34, 54, 65, 76,  4,  5,  6, 76, 87});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja1&amp;quot;, new int[]{32, 43, 34, 76, 45, 34, 65, 76, 23, 12});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja2&amp;quot;, new int[]{57, 45, 34, 43, 54, 54, 65,  4, 34, 45});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja3&amp;quot;, new int[]{ 4, 45, 65, 76,  8, 76, 65, 45, 65, 76});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja4&amp;quot;, new int[]{45, 45, 56, 76, 87, 34, 45, 65, 76, 87});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja5&amp;quot;, new int[]{ 4,  5,  6, 76, 87, 23, 34, 54, 65, 76});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88264</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88264"/>
		<updated>2015-04-15T12:01:33Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Näiteks kui on spordivõistlused ja võistleja nr 1 tegi 10 katset. Siis 10 muutuja asemel saan öelda:&lt;br /&gt;
int[] võistleja1 = {76, 56, 75, 45, 56, 76, 65, 67, 45, 54};&lt;br /&gt;
&lt;br /&gt;
Kujuta ette, kui võistlejaid on samuti kümme ja igaühel on 10 tulemust. Siis jällegi ei ole meil tarvis kümmet muutujat vaid ühte head HashMapi:&lt;br /&gt;
HashMap tulemused = new HashMap();&lt;br /&gt;
tulemused.put(&amp;quot;võistleja1&amp;quot;, new int[]{34, 65, 76, 23, 12, 32, 43, 34, 76, 45});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja2&amp;quot;, new int[]{54, 65,  4, 34, 45, 57, 45, 34, 43, 54});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja3&amp;quot;, new int[]{76, 65, 45, 65, 76,  4, 45, 65, 76,  8});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja4&amp;quot;, new int[]{34, 45, 65, 76, 87, 45, 45, 56, 76, 87});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja5&amp;quot;, new int[]{23, 34, 54, 65, 76,  4,  5,  6, 76, 87});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja1&amp;quot;, new int[]{32, 43, 34, 76, 45, 34, 65, 76, 23, 12});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja2&amp;quot;, new int[]{57, 45, 34, 43, 54, 54, 65,  4, 34, 45});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja3&amp;quot;, new int[]{ 4, 45, 65, 76,  8, 76, 65, 45, 65, 76});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja4&amp;quot;, new int[]{45, 45, 56, 76, 87, 34, 45, 65, 76, 87});&lt;br /&gt;
tulemused.put(&amp;quot;võistleja5&amp;quot;, new int[]{ 4,  5,  6, 76, 87, 23, 34, 54, 65, 76});&lt;br /&gt;
&lt;br /&gt;
Javas on kolm põhilist andmetüüpi andmete salvestamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse tohutult! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. Näiteks saaks teha sõnaraamatut: &amp;quot;car&amp;quot; -&amp;gt; &amp;quot;auto&amp;quot;, &amp;quot;window&amp;quot; -&amp;gt; &amp;quot;aken&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88263</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88263"/>
		<updated>2015-04-15T11:53:01Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Javas on kolm põhilist, mida kasutada. Massiivid ja ArrayListid salvestavad järjekorra numbri alusel kirjeid. Veidi harjumatu on, et loend algab nullist, ehk esimene kirje on 0, teine on 1, kolmas on 2, jne. HashMap ei kasuta mitte numbreid vaid mida sina soovid. Näiteks saab seal teha sõnapaare &amp;quot;car&amp;quot;-&amp;gt;&amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. &lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88262</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88262"/>
		<updated>2015-04-15T11:52:44Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Kogumik väärtusi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Javas on kolm põhilist, mida kasutada. Massiivid ja ArrayListid salvestavad järjekorra numbri alusel kirjeid. Veidi harjumatu on, et loend algab nullist, ehk esimene kirje on 0, teine on 1, kolmas on 2, jne. HashMap ei kasuta mitte numbreid vaid mida sina soovid. Näiteks saab seal teha sõnapaare &amp;quot;car&amp;quot;-&amp;gt;&amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Massiivid&#039;&#039;&#039;&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ArrayList&#039;&#039;&#039;&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HashMap&#039;&#039;&#039;&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. &lt;br /&gt;
&lt;br /&gt;
=== Head ja halvad omadused võrdluses ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Kuidas koodis kasutada ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88261</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88261"/>
		<updated>2015-04-15T11:49:09Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* Tabel1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Javas on kolm põhilist, mida kasutada. Massiivid ja ArrayListid salvestavad järjekorra numbri alusel kirjeid. Veidi harjumatu on, et loend algab nullist, ehk esimene kirje on 0, teine on 1, kolmas on 2, jne. HashMap ei kasuta mitte numbreid vaid mida sina soovid. Näiteks saab seal teha sõnapaare &amp;quot;car&amp;quot;-&amp;gt;&amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Massiivid ==&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
++ lihtne kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- nimekirja pikkus jääb lukku&amp;lt;br /&amp;gt;&lt;br /&gt;
- saad maksimaalselt üte andmetüüpi sisse salvestada&amp;lt;br /&amp;gt;&lt;br /&gt;
- printimiseks vaja Arrays klassi&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] a = new int[p]; // loo tühi massiiv, kus p on nimekirja pikkus numbriga (näiteks 6)&lt;br /&gt;
int[] a = {1, 4, 5}; // lisame koheselt numbrid 1, 4 ja 5. Nimekirja pikkuseks sai 3.&lt;br /&gt;
String[] a = new String[p];&lt;br /&gt;
String[] a = {&amp;quot;mitu&amp;quot;, &amp;quot;sõne&amp;quot;, &amp;quot;korraga&amp;quot;};&lt;br /&gt;
int[][] maatriks = new int[3][4]; // maatriks tuleb suuruses 3x4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a[0]; // mis väärtus on esimesel positioonil?&lt;br /&gt;
a[0] = 5; // asenda esimesel positioonil olev väärtus uuega&lt;br /&gt;
a.length; // kui pikk on nimekiri?&lt;br /&gt;
Arrays.sort(a); // sorteeri tähestikulises järjekorras&lt;br /&gt;
Arrays.equals(a, b); // kas massiiv a sisu on sama mis massiiv b sisu?&lt;br /&gt;
System.out.println(   Arrays.toString(a) ); // prindi väärtused inimkeeli&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ArrayList ==&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
- keeruline kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList a = new ArrayList(); // loo tühi ArrayList&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList&amp;lt;Integer&amp;gt;(); // mahuvad sisse ainult täisarvud&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList&amp;lt;String&amp;gt;(); // mahuvad sisse ainult sõned&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(0); // mis on esimesel positsioonil olev väärtus?&lt;br /&gt;
a.set(0, &amp;quot;uus väärtus&amp;quot;); // asenda esimesel positsioonil olev väärtus&lt;br /&gt;
a.add(4); // lisa nimekirja lõppu uus väärtus 4&lt;br /&gt;
a.remove(0); // eemalda väärtus positsioonilt 0&lt;br /&gt;
a.clear(); // tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.equals(b); // Kas ArrayList a sisu on identne ArrayList b sisuga?&lt;br /&gt;
a.indexOf(&amp;quot;väärtus&amp;quot;); // mis indeksiga on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.lastIndexOf(&amp;quot;väärtus&amp;quot;); // Mis indeksil on viimane väärtuse esinemine?&lt;br /&gt;
Collections.sort(a); // sorteeri väärtused tähestikulises järjekorras&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.contains(&amp;quot;väärtus&amp;quot;); // Kas nimekirjas on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HashMap ==&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. &lt;br /&gt;
&lt;br /&gt;
Näiteks &amp;lt;code&amp;gt;HasMap&amp;lt;String, Integer&amp;gt;&amp;lt;/code&amp;gt; võimaldab teha tabeli:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: 25,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: 23,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: 55,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: 65,&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veel huvitavam on väärtuseks panna ArrayList, ehk &amp;lt;code&amp;gt;HashMap&amp;lt;String, ArrayList&amp;gt;&amp;lt;/code&amp;gt; võimaldab salvestada selliseid tabeleid:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: [25, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: [23, &amp;quot;Viljandi&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: [55, &amp;quot;Tartu&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: [65, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
-- veel keerulisem kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ toetab võti-&amp;gt;väärtus kirjeid.&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine on lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap a = new HashMap(); // loo tühi HashMap&lt;br /&gt;
HashMap&amp;lt;String, Integer&amp;gt; a = new HashMap&amp;lt;&amp;gt;(); // &amp;lt;sõne: täisarv&amp;gt; kombinatsiooni salvestamiseks (näiteks &amp;lt;&amp;quot;Taavi&amp;quot;: 25&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(&amp;quot;võti&amp;quot;); // mis on &amp;quot;võti&amp;quot; väärtus?&lt;br /&gt;
a.put(&amp;quot;võti&amp;quot;, 8372); // lisa uus võti nimega &amp;quot;võti&amp;quot; väärtusega 8372 (kirjuta üle, kui on juba olemas)&lt;br /&gt;
a.remove(&amp;quot;võti&amp;quot;); // eemalda võti:väärtus nimekirjast&lt;br /&gt;
a.clear(); // Tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.equals(b); // Kas HashMap a sisu on identne HashMap b sisuga?&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.containsKey(&amp;quot;võti&amp;quot;); // Kas nimekiri sisaldab võtit &amp;quot;võti&amp;quot;?&lt;br /&gt;
a.containsKey(&amp;quot;väärtus&amp;quot;); // Kas nimekiri sisaldab väärtust &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.keySet(); // väljasta võtmete nimekiri ilma väärtusteta&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tabel1 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| lihtne&lt;br /&gt;
| style=&amp;quot;background-color:#FFFB9A;&amp;quot;| keerukam&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus pärast esimest kasutamist&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| lukus ühele tüübile&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab tüüpe segamini&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#FFADAD;&amp;quot;| X&lt;br /&gt;
| style=&amp;quot;background-color:#B7FFBC;&amp;quot;| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Mikk&amp;quot;: 4&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        [1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
        [7, 8, 9]&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&amp;lt;br/&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
    [&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;sõne&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;],&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;arv on ka&amp;quot;,&amp;lt;br/&amp;gt;&lt;br /&gt;
        456&amp;lt;br/&amp;gt;&lt;br /&gt;
    ]&lt;br /&gt;
| &lt;br /&gt;
    {&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
            &amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
        },&amp;lt;br/&amp;gt;&lt;br /&gt;
    }&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabel2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88260</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88260"/>
		<updated>2015-04-15T11:39:44Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* toimingud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Javas on kolm põhilist, mida kasutada. Massiivid ja ArrayListid salvestavad järjekorra numbri alusel kirjeid. Veidi harjumatu on, et loend algab nullist, ehk esimene kirje on 0, teine on 1, kolmas on 2, jne. HashMap ei kasuta mitte numbreid vaid mida sina soovid. Näiteks saab seal teha sõnapaare &amp;quot;car&amp;quot;-&amp;gt;&amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Massiivid ==&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
++ lihtne kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- nimekirja pikkus jääb lukku&amp;lt;br /&amp;gt;&lt;br /&gt;
- saad maksimaalselt üte andmetüüpi sisse salvestada&amp;lt;br /&amp;gt;&lt;br /&gt;
- printimiseks vaja Arrays klassi&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] a = new int[p]; // loo tühi massiiv, kus p on nimekirja pikkus numbriga (näiteks 6)&lt;br /&gt;
int[] a = {1, 4, 5}; // lisame koheselt numbrid 1, 4 ja 5. Nimekirja pikkuseks sai 3.&lt;br /&gt;
String[] a = new String[p];&lt;br /&gt;
String[] a = {&amp;quot;mitu&amp;quot;, &amp;quot;sõne&amp;quot;, &amp;quot;korraga&amp;quot;};&lt;br /&gt;
int[][] maatriks = new int[3][4]; // maatriks tuleb suuruses 3x4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a[0]; // mis väärtus on esimesel positioonil?&lt;br /&gt;
a[0] = 5; // asenda esimesel positioonil olev väärtus uuega&lt;br /&gt;
a.length; // kui pikk on nimekiri?&lt;br /&gt;
Arrays.sort(a); // sorteeri tähestikulises järjekorras&lt;br /&gt;
Arrays.equals(a, b); // kas massiiv a sisu on sama mis massiiv b sisu?&lt;br /&gt;
System.out.println(   Arrays.toString(a) ); // prindi väärtused inimkeeli&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ArrayList ==&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
- keeruline kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList a = new ArrayList(); // loo tühi ArrayList&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList&amp;lt;Integer&amp;gt;(); // mahuvad sisse ainult täisarvud&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList&amp;lt;String&amp;gt;(); // mahuvad sisse ainult sõned&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(0); // mis on esimesel positsioonil olev väärtus?&lt;br /&gt;
a.set(0, &amp;quot;uus väärtus&amp;quot;); // asenda esimesel positsioonil olev väärtus&lt;br /&gt;
a.add(4); // lisa nimekirja lõppu uus väärtus 4&lt;br /&gt;
a.remove(0); // eemalda väärtus positsioonilt 0&lt;br /&gt;
a.clear(); // tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.equals(b); // Kas ArrayList a sisu on identne ArrayList b sisuga?&lt;br /&gt;
a.indexOf(&amp;quot;väärtus&amp;quot;); // mis indeksiga on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.lastIndexOf(&amp;quot;väärtus&amp;quot;); // Mis indeksil on viimane väärtuse esinemine?&lt;br /&gt;
Collections.sort(a); // sorteeri väärtused tähestikulises järjekorras&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.contains(&amp;quot;väärtus&amp;quot;); // Kas nimekirjas on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HashMap ==&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. &lt;br /&gt;
&lt;br /&gt;
Näiteks &amp;lt;code&amp;gt;HasMap&amp;lt;String, Integer&amp;gt;&amp;lt;/code&amp;gt; võimaldab teha tabeli:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: 25,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: 23,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: 55,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: 65,&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veel huvitavam on väärtuseks panna ArrayList, ehk &amp;lt;code&amp;gt;HashMap&amp;lt;String, ArrayList&amp;gt;&amp;lt;/code&amp;gt; võimaldab salvestada selliseid tabeleid:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: [25, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: [23, &amp;quot;Viljandi&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: [55, &amp;quot;Tartu&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: [65, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
-- veel keerulisem kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ toetab võti-&amp;gt;väärtus kirjeid.&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine on lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap a = new HashMap(); // loo tühi HashMap&lt;br /&gt;
HashMap&amp;lt;String, Integer&amp;gt; a = new HashMap&amp;lt;&amp;gt;(); // &amp;lt;sõne: täisarv&amp;gt; kombinatsiooni salvestamiseks (näiteks &amp;lt;&amp;quot;Taavi&amp;quot;: 25&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(&amp;quot;võti&amp;quot;); // mis on &amp;quot;võti&amp;quot; väärtus?&lt;br /&gt;
a.put(&amp;quot;võti&amp;quot;, 8372); // lisa uus võti nimega &amp;quot;võti&amp;quot; väärtusega 8372 (kirjuta üle, kui on juba olemas)&lt;br /&gt;
a.remove(&amp;quot;võti&amp;quot;); // eemalda võti:väärtus nimekirjast&lt;br /&gt;
a.clear(); // Tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.equals(b); // Kas HashMap a sisu on identne HashMap b sisuga?&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.containsKey(&amp;quot;võti&amp;quot;); // Kas nimekiri sisaldab võtit &amp;quot;võti&amp;quot;?&lt;br /&gt;
a.containsKey(&amp;quot;väärtus&amp;quot;); // Kas nimekiri sisaldab väärtust &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.keySet(); // väljasta võtmete nimekiri ilma väärtusteta&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Tabel1 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kasutamise keerukus&lt;br /&gt;
| lihtne&lt;br /&gt;
| keerukam&lt;br /&gt;
| veel keerukam&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| lukus pärast esimest kasutamist&lt;br /&gt;
| muutub vastavalt sisule&lt;br /&gt;
| muutub vastavalt sisule&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|salvestab andmetüüpe&lt;br /&gt;
| lukus ühele tüübile&lt;br /&gt;
| salvestab tüüpe segamini&lt;br /&gt;
| salvestab &amp;lt;tüüp1: tüüp2&amp;gt; väärtusi&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|&amp;lt;võti: väärtus&amp;gt; tüüpi&lt;br /&gt;
| X&lt;br /&gt;
| X&lt;br /&gt;
| jah&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tulemuse näide&lt;br /&gt;
| [54, 65, 23]&lt;br /&gt;
| [65, &amp;quot;sõne&amp;quot;, &amp;quot;veel sõne&amp;quot;]&lt;br /&gt;
| {&amp;quot;Peeter&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: 38,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Janika&amp;quot;: 13,&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Mikk&amp;quot;: 4}&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|maatriksi näide&lt;br /&gt;
| [[1, 2, 3],&amp;lt;br/&amp;gt;&lt;br /&gt;
[4, 5, 6],&amp;lt;br/&amp;gt;&lt;br /&gt;
[7, 8, 9]]&amp;lt;br/&amp;gt;&lt;br /&gt;
| [&amp;quot;sõne&amp;quot;, [&amp;quot;sõne&amp;quot;, &amp;quot;massiivi&amp;quot;, &amp;quot;sees&amp;quot;], &amp;quot;arv on ka&amp;quot;, 456]&lt;br /&gt;
| {&amp;lt;br/&amp;gt;&lt;br /&gt;
	&amp;quot;Peeter&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
		&amp;quot;vanus&amp;quot;: 35,&amp;lt;br/&amp;gt;&lt;br /&gt;
		&amp;quot;elukoht&amp;quot;: &amp;quot;Tallinn&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
	},&amp;lt;br/&amp;gt;&lt;br /&gt;
	&amp;quot;Milvi&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
		&amp;quot;vanus&amp;quot;: 25,&amp;lt;br/&amp;gt;&lt;br /&gt;
		&amp;quot;elukoht&amp;quot;: &amp;quot;Põlva&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
	},&amp;lt;br/&amp;gt;&lt;br /&gt;
	&amp;quot;Laika&amp;quot;: {&amp;lt;br/&amp;gt;&lt;br /&gt;
		&amp;quot;vanus&amp;quot;: 66,&amp;lt;br/&amp;gt;&lt;br /&gt;
		&amp;quot;elukoht&amp;quot;: &amp;quot;Kosmos&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
	},&amp;lt;br/&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabel2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88259</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88259"/>
		<updated>2015-04-15T11:27:48Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: /* toimingud */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Javas on kolm põhilist, mida kasutada. Massiivid ja ArrayListid salvestavad järjekorra numbri alusel kirjeid. Veidi harjumatu on, et loend algab nullist, ehk esimene kirje on 0, teine on 1, kolmas on 2, jne. HashMap ei kasuta mitte numbreid vaid mida sina soovid. Näiteks saab seal teha sõnapaare &amp;quot;car&amp;quot;-&amp;gt;&amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Massiivid ==&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
++ lihtne kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- nimekirja pikkus jääb lukku&amp;lt;br /&amp;gt;&lt;br /&gt;
- saad maksimaalselt üte andmetüüpi sisse salvestada&amp;lt;br /&amp;gt;&lt;br /&gt;
- printimiseks vaja Arrays klassi&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] a = new int[p]; // loo tühi massiiv, kus p on nimekirja pikkus numbriga (näiteks 6)&lt;br /&gt;
int[] a = {1, 4, 5}; // lisame koheselt numbrid 1, 4 ja 5. Nimekirja pikkuseks sai 3.&lt;br /&gt;
String[] a = new String[p];&lt;br /&gt;
String[] a = {&amp;quot;mitu&amp;quot;, &amp;quot;sõne&amp;quot;, &amp;quot;korraga&amp;quot;};&lt;br /&gt;
int[][] maatriks = new int[3][4]; // maatriks tuleb suuruses 3x4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a[0]; // mis väärtus on esimesel positioonil?&lt;br /&gt;
a[0] = 5; // asenda esimesel positioonil olev väärtus uuega&lt;br /&gt;
a.length; // kui pikk on nimekiri?&lt;br /&gt;
Arrays.sort(a); // sorteeri tähestikulises järjekorras&lt;br /&gt;
Arrays.equals(a, b); // kas massiiv a sisu on sama mis massiiv b sisu?&lt;br /&gt;
System.out.println(   Arrays.toString(a) ); // prindi väärtused inimkeeli&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ArrayList ==&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
- keeruline kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList a = new ArrayList(); // loo tühi ArrayList&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList&amp;lt;Integer&amp;gt;(); // mahuvad sisse ainult täisarvud&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList&amp;lt;String&amp;gt;(); // mahuvad sisse ainult sõned&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(0); // mis on esimesel positsioonil olev väärtus?&lt;br /&gt;
a.set(0, &amp;quot;uus väärtus&amp;quot;); // asenda esimesel positsioonil olev väärtus&lt;br /&gt;
a.add(4); // lisa nimekirja lõppu uus väärtus 4&lt;br /&gt;
a.remove(0); // eemalda väärtus positsioonilt 0&lt;br /&gt;
a.clear(); // tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.equals(b); // Kas ArrayList a sisu on identne ArrayList b sisuga?&lt;br /&gt;
a.indexOf(&amp;quot;väärtus&amp;quot;); // mis indeksiga on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.lastIndexOf(&amp;quot;väärtus&amp;quot;); // Mis indeksil on viimane väärtuse esinemine?&lt;br /&gt;
Collections.sort(a); // sorteeri väärtused tähestikulises järjekorras&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.contains(&amp;quot;väärtus&amp;quot;); // Kas nimekirjas on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HashMap ==&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. &lt;br /&gt;
&lt;br /&gt;
Näiteks &amp;lt;code&amp;gt;HasMap&amp;lt;String, Integer&amp;gt;&amp;lt;/code&amp;gt; võimaldab teha tabeli:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: 25,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: 23,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: 55,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: 65,&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veel huvitavam on väärtuseks panna ArrayList, ehk &amp;lt;code&amp;gt;HashMap&amp;lt;String, ArrayList&amp;gt;&amp;lt;/code&amp;gt; võimaldab salvestada selliseid tabeleid:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: [25, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: [23, &amp;quot;Viljandi&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: [55, &amp;quot;Tartu&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: [65, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
-- veel keerulisem kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ toetab võti-&amp;gt;väärtus kirjeid.&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine on lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap a = new HashMap(); // loo tühi HashMap&lt;br /&gt;
HashMap&amp;lt;String, Integer&amp;gt; a = new HashMap&amp;lt;&amp;gt;(); // &amp;lt;sõne: täisarv&amp;gt; kombinatsiooni salvestamiseks (näiteks &amp;lt;&amp;quot;Taavi&amp;quot;: 25&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(&amp;quot;võti&amp;quot;); // mis on &amp;quot;võti&amp;quot; väärtus?&lt;br /&gt;
a.put(&amp;quot;võti&amp;quot;, 8372); // lisa uus võti nimega &amp;quot;võti&amp;quot; väärtusega 8372 (kirjuta üle, kui on juba olemas)&lt;br /&gt;
a.remove(&amp;quot;võti&amp;quot;); // eemalda võti:väärtus nimekirjast&lt;br /&gt;
a.clear(); // Tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.equals(b); // Kas HashMap a sisu on identne HashMap b sisuga?&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.containsKey(&amp;quot;võti&amp;quot;); // Kas nimekiri sisaldab võtit &amp;quot;võti&amp;quot;?&lt;br /&gt;
a.containsKey(&amp;quot;väärtus&amp;quot;); // Kas nimekiri sisaldab väärtust &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.keySet(); // väljasta võtmete nimekiri ilma väärtusteta&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 15%;&amp;quot;|&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|massiiv&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|ArrayList&lt;br /&gt;
! style=&amp;quot;width: 25%;&amp;quot;|HashMap&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübita&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
int[] a = {1, 2, 3};&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = new String[pikkus];&amp;lt;br/&amp;gt;&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|lisa element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|eemalda element&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|tühjenda&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kmis indeksil on väärtus?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas sisaldab?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;|kas on tühi?&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88258</id>
		<title>I200:Muutujad</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=I200:Muutujad&amp;diff=88258"/>
		<updated>2015-04-15T11:13:57Z</updated>

		<summary type="html">&lt;p&gt;Kviirsaa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Muutuja on sisuliselt nagu kast, kuhu asju sisse panna. Java nõuab, et sellel kastil oleks nimi ja tüüp. Nimeks pane mida ise soovid, et sa ise ära tunneks ja tüüpidest räägime all pikemalt.&lt;br /&gt;
&lt;br /&gt;
Näiteks kui soovime lapse vanust salvestada, siis sobib selleks int (integer, ehk täisarv) tüüp ja &amp;quot;vanus&amp;quot; nimi:&lt;br /&gt;
&lt;br /&gt;
[[File:Muutuja.png]]&lt;br /&gt;
&lt;br /&gt;
Seda kirjutaksime Javas järgnevalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int vanus = 5;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui sooviksin selle lapse nime salvestada, kasutaksin tüüpi String, ehk sõne:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String nimi = &amp;quot;Mikk&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Väikese tähega andmetüübid (int) on primitiivid ja suure tähega (String) on objektid. Vahe on selles, et primitiivne tüüp salvestab lihtsaid andmeid nagu arv või täht, aga objektid salvestavad keerulisemaid andmeid nagu lause. Teine erinevus on see, et objektidel on omad meetodid, mis lihtsustavad toiminguid. Primitiivsetel tüpidel tuleb kasutada abistavaid klasse.&lt;br /&gt;
&lt;br /&gt;
[[File:Objekt.png]]&lt;br /&gt;
&lt;br /&gt;
Andmetüüpe on kahte sorti. Ühed salvestavad [[#Üksik väärtus|ühe ainsa väärtuse]], teised aga [[#Kogumik väärtusi|kogumiku väärtusi]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Üksik väärtus =&lt;br /&gt;
&lt;br /&gt;
== Arvud ==&lt;br /&gt;
&lt;br /&gt;
* byte - pisikesed arvud (-128 kuni 127)&lt;br /&gt;
* int - täisarvud (alates -2*10^9 kuni 2*10^9)&lt;br /&gt;
* double - reaalarvud (komakohaga) (alates -9*10^18 kuni 9*10^18)&lt;br /&gt;
* BigDecimal - kõige täpsem viis numbreid arvutada.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 1: Arvu miinimum ja maksimum ====&lt;br /&gt;
&lt;br /&gt;
Igal arvu andmetüübil on oma miinimum ja maksimum võimalik arv, mida andmetüüp suudab hoida. Näiteks kui sul on &amp;lt;byte a = 127&amp;gt;, siis &amp;lt;a + 1&amp;gt; toob tulemuseks -128, sest arv jätkub teisest otsast.&lt;br /&gt;
&lt;br /&gt;
==== Ettevaatust 2: Arvutused ei ole alati täpsed ====&lt;br /&gt;
&lt;br /&gt;
Võtame lihtsa tehte: 2.0 - 1.1 = 0.9. Ainult, et tegelikult tuleb Javas vastuseks 0.899999999999999. Kohati uskumatu, et selline viga on sees. Seda esineb ka teistes riistvaralähedastest keeltes.&lt;br /&gt;
&lt;br /&gt;
Lahenduseks on kas kasutada int tüüpi muutujaid (näiteks 23.34€ on 2334) või BigDecimal klassi arvutusteks. Näide kuidas 2.0 - 1.1 korrektselt ära teha. Pane tähele, et arvud on jutumärkide sees, ilma nendeta tuleksid ikka valed vastused.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
BigDecimal a = new BigDecimal(&amp;quot;2.0&amp;quot;);&lt;br /&gt;
BigDecimal b = new BigDecimal(&amp;quot;1.1&amp;quot;);&lt;br /&gt;
BigDecimal c = a.subtract(b);&lt;br /&gt;
System.out.println(&amp;quot;c = &amp;quot; + c); // c = 0.9&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tekst ==&lt;br /&gt;
&lt;br /&gt;
* char - üks täht (tähistamiseks kasutatakse üksikuid jutumärke, näiteks &#039;k&#039;)&lt;br /&gt;
* String - sõnad ja laused salvestatakse eesti keeles &amp;quot;sõne&amp;quot; andmetüüpi (tähistamiseks topelt jutumärgid, näiteks &amp;quot;Tere&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
==== String ====&lt;br /&gt;
&lt;br /&gt;
String, ehk sõne, objektil on meetode, ehk käsklusi, et lauseid ja sõnu oleks lihtne manipuleerida.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
String s = &amp;quot;Tere&amp;quot;; // Loome uue sõne&lt;br /&gt;
&lt;br /&gt;
s.contains(&amp;quot;ere&amp;quot;); // Kas sõnes s esineb tähekombinatsiooni &amp;quot;ere&amp;quot;?&lt;br /&gt;
s.toUpperCase(); // Muuda kõik tähed suureks&lt;br /&gt;
s.toLowerCase(); // Muuda kõik tähed väikseks&lt;br /&gt;
s.split(&amp;quot; &amp;quot;); // Poolita sõne tühiku kohalt. Tulemuseks on sõnede massiiv.&lt;br /&gt;
s.replace(&amp;quot;Tere&amp;quot;, &amp;quot;Nägemist&amp;quot;); // Otsi sõna &amp;quot;Tere&amp;quot; ja asenda see sõnega &amp;quot;Nägemist&amp;quot;&lt;br /&gt;
s.replaceAll(regex, &amp;quot;uus väärtus&amp;quot;); // Kasulik &amp;lt;replace()&amp;gt; sarnane töövahend, aga esmalt uuri välja misasi on regex.&lt;br /&gt;
s.isEmpty(); // Kas sõne on tühi?&lt;br /&gt;
s.indexOf(&amp;quot;re&amp;quot;); // Mis indeksil on sõne &amp;quot;re&amp;quot;? Antud juhul tuleb vastuseks 2&lt;br /&gt;
s.length(); // Mitu tähte on sõne pikk?&lt;br /&gt;
s.charAt(0); // Mis täht asub indeksil 0?&lt;br /&gt;
s.equals(b); // Kas sõne s on sama sisuga mis sõne b?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Muu ==&lt;br /&gt;
&lt;br /&gt;
* boolean - true või false, seda kasutatakse loogikas kus on vaja salvestada &amp;quot;tõene&amp;quot; ja &amp;quot;väär&amp;quot; väärtusi.&lt;br /&gt;
** &amp;lt;code&amp;gt;boolean a = true;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kogumik väärtusi =&lt;br /&gt;
&lt;br /&gt;
Kui andmete kogus suureneb oleks mõistlik saja muutuja asemel kasutada ühte nimekirja. Javas on kolm põhilist, mida kasutada. Massiivid ja ArrayListid salvestavad järjekorra numbri alusel kirjeid. Veidi harjumatu on, et loend algab nullist, ehk esimene kirje on 0, teine on 1, kolmas on 2, jne. HashMap ei kasuta mitte numbreid vaid mida sina soovid. Näiteks saab seal teha sõnapaare &amp;quot;car&amp;quot;-&amp;gt;&amp;quot;auto&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Massiivid ==&lt;br /&gt;
&lt;br /&gt;
Kõige lihtsamini kasutatav, aga samas kõige paindumatum. Massiivid salvestavad nimekirja ainult ühte andmetüüpi korraga ja nimekirja pikkus ei ole muudetav pärast esmast käivitamist.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
++ lihtne kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- nimekirja pikkus jääb lukku&amp;lt;br /&amp;gt;&lt;br /&gt;
- saad maksimaalselt üte andmetüüpi sisse salvestada&amp;lt;br /&amp;gt;&lt;br /&gt;
- printimiseks vaja Arrays klassi&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
int[] a = new int[p]; // loo tühi massiiv, kus p on nimekirja pikkus numbriga (näiteks 6)&lt;br /&gt;
int[] a = {1, 4, 5}; // lisame koheselt numbrid 1, 4 ja 5. Nimekirja pikkuseks sai 3.&lt;br /&gt;
String[] a = new String[p];&lt;br /&gt;
String[] a = {&amp;quot;mitu&amp;quot;, &amp;quot;sõne&amp;quot;, &amp;quot;korraga&amp;quot;};&lt;br /&gt;
int[][] maatriks = new int[3][4]; // maatriks tuleb suuruses 3x4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a[0]; // mis väärtus on esimesel positioonil?&lt;br /&gt;
a[0] = 5; // asenda esimesel positioonil olev väärtus uuega&lt;br /&gt;
a.length; // kui pikk on nimekiri?&lt;br /&gt;
Arrays.sort(a); // sorteeri tähestikulises järjekorras&lt;br /&gt;
Arrays.equals(a, b); // kas massiiv a sisu on sama mis massiiv b sisu?&lt;br /&gt;
System.out.println(   Arrays.toString(a) ); // prindi väärtused inimkeeli&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ArrayList ==&lt;br /&gt;
&lt;br /&gt;
Kasutamine ei ole nii otsekohene, kui massiividega, aga nimekirja pikkus muutub vastavalt sisule ja oskab salvestada erinevaid andmetüüpe ühes nimekirjas.&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
- keeruline kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
ArrayList a = new ArrayList(); // loo tühi ArrayList&lt;br /&gt;
ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList&amp;lt;Integer&amp;gt;(); // mahuvad sisse ainult täisarvud&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList&amp;lt;String&amp;gt;(); // mahuvad sisse ainult sõned&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(0); // mis on esimesel positsioonil olev väärtus?&lt;br /&gt;
a.set(0, &amp;quot;uus väärtus&amp;quot;); // asenda esimesel positsioonil olev väärtus&lt;br /&gt;
a.add(4); // lisa nimekirja lõppu uus väärtus 4&lt;br /&gt;
a.remove(0); // eemalda väärtus positsioonilt 0&lt;br /&gt;
a.clear(); // tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.equals(b); // Kas ArrayList a sisu on identne ArrayList b sisuga?&lt;br /&gt;
a.indexOf(&amp;quot;väärtus&amp;quot;); // mis indeksiga on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.lastIndexOf(&amp;quot;väärtus&amp;quot;); // Mis indeksil on viimane väärtuse esinemine?&lt;br /&gt;
Collections.sort(a); // sorteeri väärtused tähestikulises järjekorras&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.contains(&amp;quot;väärtus&amp;quot;); // Kas nimekirjas on väärtus &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HashMap ==&lt;br /&gt;
&lt;br /&gt;
Veidi keerulisemat tüüpi nimekiri, aga samas keerulise programmi juures lihtsustab protsesse! Salvestab &amp;lt;võti: väärtus&amp;gt; tüüpi kirjeid. &lt;br /&gt;
&lt;br /&gt;
Näiteks &amp;lt;code&amp;gt;HasMap&amp;lt;String, Integer&amp;gt;&amp;lt;/code&amp;gt; võimaldab teha tabeli:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: 25,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: 23,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: 55,&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: 65,&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Veel huvitavam on väärtuseks panna ArrayList, ehk &amp;lt;code&amp;gt;HashMap&amp;lt;String, ArrayList&amp;gt;&amp;lt;/code&amp;gt; võimaldab salvestada selliseid tabeleid:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;quot;Taavi&amp;quot;: [25, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Johanna&amp;quot;: [23, &amp;quot;Viljandi&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Mari&amp;quot;: [55, &amp;quot;Tartu&amp;quot;, &amp;quot;naine&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;quot;Toomas&amp;quot;: [65, &amp;quot;Tallinn&amp;quot;, &amp;quot;mees&amp;quot;],&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== omadused ===&lt;br /&gt;
&lt;br /&gt;
-- veel keerulisem kasutada&amp;lt;br /&amp;gt;&lt;br /&gt;
- uut nimekirja luues ei saa koheselt väärtusi sisestada&amp;lt;br /&amp;gt;&lt;br /&gt;
++ toetab võti-&amp;gt;väärtus kirjeid.&amp;lt;br /&amp;gt;&lt;br /&gt;
+ salvestab kõiki andmetüüpe&amp;lt;br /&amp;gt;&lt;br /&gt;
+ nimekirja pikkus muutub vastavalt sisule&amp;lt;br /&amp;gt;&lt;br /&gt;
+ printimine on lihtne&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tuleb importida&lt;br /&gt;
&lt;br /&gt;
=== Loo uus ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
HashMap a = new HashMap(); // loo tühi HashMap&lt;br /&gt;
HashMap&amp;lt;String, Integer&amp;gt; a = new HashMap&amp;lt;&amp;gt;(); // &amp;lt;sõne: täisarv&amp;gt; kombinatsiooni salvestamiseks (näiteks &amp;lt;&amp;quot;Taavi&amp;quot;: 25&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== toimingud ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Java&amp;quot;&amp;gt;&lt;br /&gt;
a.get(&amp;quot;võti&amp;quot;); // mis on &amp;quot;võti&amp;quot; väärtus?&lt;br /&gt;
a.put(&amp;quot;võti&amp;quot;, 8372); // lisa uus võti nimega &amp;quot;võti&amp;quot; väärtusega 8372 (kirjuta üle, kui on juba olemas)&lt;br /&gt;
a.remove(&amp;quot;võti&amp;quot;); // eemalda võti:väärtus nimekirjast&lt;br /&gt;
a.clear(); // Tühjenda nimekiri&lt;br /&gt;
a.size(); // Mis on nimekirja pikkus?&lt;br /&gt;
a.equals(b); // Kas HashMap a sisu on identne HashMap b sisuga?&lt;br /&gt;
System.out.println( a ); // prindi väärtused inimkeeli&lt;br /&gt;
&lt;br /&gt;
a.containsKey(&amp;quot;võti&amp;quot;); // Kas nimekiri sisaldab võtit &amp;quot;võti&amp;quot;?&lt;br /&gt;
a.containsKey(&amp;quot;väärtus&amp;quot;); // Kas nimekiri sisaldab väärtust &amp;quot;väärtus&amp;quot;?&lt;br /&gt;
a.isEmpty(); // Kas nimekiri on tühi?&lt;br /&gt;
a.keySet(); // väljasta võtmete nimekiri ilma väärtusteta&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &lt;br /&gt;
! massiiv&lt;br /&gt;
! ArrayList&lt;br /&gt;
! HashMap&lt;br /&gt;
|-&lt;br /&gt;
| loo uus tüübita&lt;br /&gt;
| X&lt;br /&gt;
| ArrayList a = new ArrayList();&lt;br /&gt;
| HashMap a = new HashMap();&lt;br /&gt;
|-&lt;br /&gt;
| loo uus tüübiga&lt;br /&gt;
| int[] a = new int[pikkus];&lt;br /&gt;
int[] a = {1, 2, 3};&lt;br /&gt;
String[] a = new String[pikkus];&lt;br /&gt;
String[] a = {&amp;quot;kohe&amp;quot;, &amp;quot;sõned&amp;quot;, &amp;quot;sees&amp;quot;};&lt;br /&gt;
| ArrayList&amp;lt;Integer&amp;gt; a = new ArrayList();&lt;br /&gt;
ArrayList&amp;lt;String&amp;gt; a = new ArrayList();&lt;br /&gt;
| HashMap&amp;lt;String, Integer&amp;gt; a = new HasMap&amp;lt;&amp;gt;();&lt;br /&gt;
|-&lt;br /&gt;
| küsi kirje väärtus&lt;br /&gt;
| a[i]&lt;br /&gt;
| a.get(i)&lt;br /&gt;
| a.get(võti)&lt;br /&gt;
|-&lt;br /&gt;
| asenda kirje&lt;br /&gt;
| a[i] = b&lt;br /&gt;
| a.set(i, b)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
| lisa element&lt;br /&gt;
| X&lt;br /&gt;
| a.add(väärtus)&lt;br /&gt;
| a.put(võti, väärtus)&lt;br /&gt;
|-&lt;br /&gt;
| eemalda element&lt;br /&gt;
| X&lt;br /&gt;
| a.remove(väärtus)&lt;br /&gt;
| a.remove(võti)&lt;br /&gt;
|-&lt;br /&gt;
| tühjenda&lt;br /&gt;
| X&lt;br /&gt;
| a.clear()&lt;br /&gt;
| a.clear()&lt;br /&gt;
|-&lt;br /&gt;
| nimekirja pikkus&lt;br /&gt;
| a.length&lt;br /&gt;
| a.size()&lt;br /&gt;
| a.size()&lt;br /&gt;
|-&lt;br /&gt;
| kas sisu on võrdne?&lt;br /&gt;
| Arrays.equals(a, b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
| a.equals(b)&lt;br /&gt;
|-&lt;br /&gt;
| kmis indeksil on väärtus?&lt;br /&gt;
| X&lt;br /&gt;
| a.indexOf()&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
| sorteeri tähestiku järg&lt;br /&gt;
| Arrays.sort(a)&lt;br /&gt;
| Collections.sort(a)&lt;br /&gt;
| X&lt;br /&gt;
|-&lt;br /&gt;
| kas sisaldab?&lt;br /&gt;
| X&lt;br /&gt;
| a.contains()&lt;br /&gt;
| a.containsKey();&lt;br /&gt;
a.containsValue();&lt;br /&gt;
|-&lt;br /&gt;
| System.out.println(a)&lt;br /&gt;
| Arrays.toString(a)&lt;br /&gt;
| a&lt;br /&gt;
| a&lt;br /&gt;
|-&lt;br /&gt;
| kas on tühi?&lt;br /&gt;
| X&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
| a.isEmpty()&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Kviirsaa</name></author>
	</entry>
</feed>