21.12.15

Array

Array = tallennetaan monta arvoa yhden nimen alle.

Esim. 1
1  public class Luokka {
2 public static void main(String[] args) {
3  int x [] = new int[3];
4  x[0] = 2;
5  x[1] = 5;
6  x[2] = 6;
7  System.out.println(x[2]);
8 }
9  }

3. rivillä annetaan arraylle nimi ja muistipaikkojen lukumäärä. Kun kirjoitat koodiin [] koodi tunnistaa että on kyseessä array. = merkin jälkeen tulee new int. Sitten [] merkkien sisään tulee muistipaikkojen lukumäärä. Tässä esimerkissä muistipaikkoja on kolme ja niinkuin näette.
4. rivi Array alkaa aina nollasta. Muista tämä tai koodi ei toimi
7. rivi system.out.println(arrayn nimi[monesko])

Consol:
6

Eiköhän tämä jo selvinnyt suurimmalle osalle. Laitan viellä muutaman esimerkin ja harjoituksen.

Esim. 2
1  public class Luokka {
2   public static void main(String[] args) {
3  int x [] = new int[5];
4  x[0] = 2;
5  x[1] = 5;
6  x[2] = 6;
7  x[3] = 10;
8  x[4] = 1;
9  System.out.println(x[2]+x[3]);
10 }
11  }

Consol:
16

Esim. 3
1  public class Luokka {
2   public static void main(String[] args) {
3  int x [] = new int[5];
4  x[0] = 2;
5  x[1] = 5;
6  x[2] = 6;
7  x[3] = 10;
8  x[4] = 1;
9  System.out.println(x[2]);
10  System.out.println(x[0]);
11 }
12  }


Harjoitus
Tee koodi johon kirjoitat kolme lukua ja kerrot ne toisillaan käyttäen arrayta.

18.12.15

Vähän blogin tulevaisuudesta

Blogini on nyt lähtenyt jo hyvin käyntiin ja lukijoita piisaa kun kirjoitan tänne. Haluan että blogilleni tulee lukijoita jotka todella haluavat oppia ohjelmoimaan. Lisään joka juttuun harjoituksia jotta oppi menisi perille. Toivon todella että kaikki tekevät niitä harjoituksia, koska harjoitus tekee mestarin :D.

Jos sinua kiinnostaa java ohjelmointi paljon, mutta et saa blogista mitään irti niin olen tarjoamassa ilmaisia skype puheluita joiden avulla voin opettaa "kasvotusten". Haluan viellä mainita että suosittelen että teet itsellesi kalenteriin merkinnän joka viikko johonkin kohtaan jolloin teet vaikka yhden tunnin töitä. Itselläni tämä toimii kun alku innostus on ohi ja aina ei tekisi mieli ohjelmoida. Vähän kuin salilla käydessä aluksi ei tee mieli mutta sitten kun on käynyt onkin hyvä olo.

Viellä sen verran siitä skype opetuksesta, että onko täällä joitain (ei sido mihinkään) halukkaita opiskelemaan ilmaiseksi skypen välityksellä? Jos kiinnostusta on laittakaa kommenttia minulle niin yritän alkaa joulun jälkeen järjestämään näitä.

Huomasin juuri että kommentien antaminen oli asetettu todella hankalaksi. Nyt muutin asetuksia ja kuka tahansa voi lähettää kommentteja ilman kirjautumista.


Kiitos käynnistäsi
Robert Williams

Loops

loops = Toteuttaa jotain uudelleen ja uudelleen niin kauan kunnes ehto toteutuu. Tässä tekstissä kerron eri loopeista joita on kolme.

while loop

while (ehto esim. x<10){
tapahtuma
}

Siinä nyt lyhyesti while loop. Alla viellä esimerkki jotta ymmärrätte asian käytännössä.

Esim. 1
1  public class Luokka {
2 public static void main(String[] args) {
3  int x = 0;
4 while (x<10){
5 x++;
6 System.out.println(x);
7 }
8 }

9  }

Consol:
1
2
3
4
5
6
7
8
9
10


do-while loop

do{
tapahtuma
} while (ehto)

Kaikki loopit ovat teoriassa samanlaisia, eli ei ole väliä mitä näistä (itse käytän for loopia joka tulee hetkenpäästä) käytät. Olen huomannut että loopeja käytetään siten mikä tuntuu siinä tilanteessa parhaalta. En ole kyllä aivan varma joten kirjoittakaa jos kerron väärää tietoa. Olen kuitenkin yrittänyt etsiä netistä tietoa asiaan liittyen mutta ei ole toistaiseksi löytynyt vastausta.

Esim. 2
1  public class Luokka {
2 public static void main(String[] args) {
3  int x = 0;
4 do {
5 System.out.println(x);
6 x++;
7 } while (x<10);
8 }
9  }

Consol:
0
1
2
3
4
5
6
7
8
9

Koodi on tehty samalla tavalla kuin while loop ja tuloskin on sama. Se on siis yhdentekevää mitä loopia käytät.

for loop

for (arvo; ehto; muutos){
tapahtuma
}

Esim. 3
1  public class Luokka {
2 public static void main(String[] args) {
3  for (int x = 0; x < 10; x++){
4 System.out.println(x);
5 }
6 }

7  }

Consol:
0
1
2
3
4
5
6
7
8

9


No siinä nyt sitten olivat loopit. Tee jälleen harjoitukset, jotta opit asiat. Harjoitusten jälkeen valitse mieluisin loopi ja rupea käyttämään sitä.

Harjoitus
Tee jokaisesta loopista oma ohjelma joka laskee kymmenestä yhteen. Tässä opit käyttämään loopeja ja voit valita mieluisesi.

15.12.15

switch

Esim. 1
1  public class Luokka {
2   public static void main(String[] args) {
3  int x = 2;
4       switch (x){
5  case 1:
6    System.out.println("hyvä");
7     break;
8  case 2:
9     System.out.println("parempi");
10     break;
11  case 3:
12     System.out.println("paras");
13     break;
14  default:
15     System.out.println("error");
16      break;
17   }
18      }

19  }

4. rivillä kirjoitetaan switch ja sulkujen sisään mitä kokeilee. (todella hankala sanoa, mutta toivottavasti esimerkki puhuu puolestani.)
5. rivillä on ensimmäinen case (kun). Jos case on tosi se tekee mitä koodissa lukee ja lopettaa sen
7. break tarkoittaa että lopettaa switchin.
14. rivillä default on sitä varten että jos mikään ei ole tosi voi kirjoittaa jotain.

Koodi siis käy kaikki case (tapaukset) läpi ja katsoo onko se tosi. Jos ei tosi siirtyy seuraavaan. Jos mikään ei ole tosi menee default ja toteuttaa sen. Muista lisätä break jotta ohjelma toimii. Alla viellä yksi esimerkki jossa kerrotaan tuhannen tarkkuudella kuukausitulot ja koodi arvaa työsi.

Esim. 2
1  public class Luokka {
2   public static void main(String[] args) {
3  int palkka = 5000;
4  switch (palkka){
5  case 1000:
6 System.out.println("siivooja");
7 break;
8  case 2000:
9   System.out.println("opettaja");
10 break;
11  case 3000:
12 System.out.println("myyjä");
13 break;
14  case 4000:
15   System.out.println("päällikkö");
16  break;
17  case 5000:
18  System.out.println("pomo");
19 break;
20  case 6000:
21 System.out.println("ministeri");
22 break;
23  case 7000:
24 System.out.println("johtaja");
25 break;
26  case 8000:
27  System.out.println("toimitusjohtaja");
28 break;
29  case 9000:
30 System.out.println("yrityksen omistaja");
31 break;
32  default:
33 System.out.println("error");
34 break;
35 }
36    }

37  }

Jos-ehto

jos = if

Esim. 1
1 public class Luokka {
public static void main(String[] args) {
3 int x, y;
4 x = 5;
5 y = 3;
if(x == y){
System.out.println("näkyy kun ehto toteutuu");
}
else {
10  System.out.println("näkyy kun ehto EI toteudu");
11  }
12  }

13 }

Consol:
näkyy kun ehto EI toteudu

Esim. 2
1 public class Luokka {
public static void main(String[] args) {
3 int x, y;
4 x = 5;
5 y = 5;
if(x == y){
System.out.println("näkyy kun ehto toteutuu");
}
else {
10 System.out.println("näkyy kun ehto EI toteudu");
11  }
12  }

13 }

Consol:
näkyy kun ehto toteutuu

Näistä esimerkeistä jotkut jo varmaan ymmärsivät miten if-ehtoa käytetään. Mutta selvennän asian viellä. Kun kirjoitat if ja (). Sulkujen sisään tulee ehto. Eli tässä tapauksessa x on yhtä suuri kuin y. Kun muutan esimerkkia 2:seen y:n arvon samaan kuin x huomaat että tulos muuttuu. Siis jos suluissa oleva ehto ei toteudu tekee se alla olevan asian else (muuten) se tekee jotain toista. Huomaa että kun halutaan sama pistä kaksi == merkkiä peräkkäin. Alla olevassa esimerkissä syötän if-ehtoon kaksi ehtoa.

Esim. 3
1  public class Luokka {
2   public static void main(String[] args) {
3  int x, y, z, r;
4  x = 10;
5  y = 10;
6  z = 20;
7  r = 30;
8  if (x==y && z < r){
9 System.out.println("Tekstiä");
10 }
11  else{
12 System.out.println("Kumpikin ehdoista ei ollut tosi");
13 }
14 }

15    }

Consol:
Tekstiä

&&  =  ja (and) [kaikkien pitää olla tosi]
||  =  tai (or) [vähintään yhden pitää olla tosi]

Matematiikkaa 2

En selittele tänne sen enempää esimerkkejäni, koska uskon että nämä ymmärretään aikaisemman oppiman perusteella. Tässä ei siis ole sinällä mitään uutta asiaa, vaan tämä on vanhan kertausta.

Esim. 1
1 public class Luokka {
public static void main(String[] args) {
3 int x, y, vastaus;
4 x = 2;
5 y = 3;
6 vastaus = x+y;
7 System.out.println(vastaus);
}
9 }

Consol:
5

Esim. 2
1 public class Luokka {
public static void main(String[] args) {
3 String etu, suku, koko;
4 etu = "Robert";
5 suku = "Williams";
6 koko = etu + suku;
7 System.out.println(koko);
}

9 }

Consol:
RobertWilliams

14.12.15

Matematiikkaa

Tänne olen kirjoittanut matematiikkaan liittyviä merkintöjä.

(/) = jako
(*) = kerto
(-) = minus
(+) = plus
(==) = sama
(!=) = epäsama
(>) = isompi kuin
(<) = pienempi kuin
(>=) = isompi kuin tai sama
(<=) = pienempi kuin tai sama

x++ = x+1
x-- = x-1

Kun katsoo nopeasti vaikuttaa että kaikki on kerrottu koulussa mutta on muutamia poikkeuksia
- sama
- epäsama
- isomp... tai sama
- pien... tai sama
- kerto
- jako


Nämä kannattaa harjoitella ulkoa, erityisesti SAMA, koska jos laitat pelkän = merkin sen tarkoitus on eri. Suosittelen että vaikka tulostat nämä merkit ja laitat vaikka seinälle. Näyttää hienolta ja opit varmasti. :D