layout | title |
---|---|
page |
2. Lekcia |
Naše prvé programy budú so svetom interagovať tak, že čo potrebujú vypíšu na konzolu,
a práve teraz si ukážeme ako sa to robí. V Jave na to slúži príkaz System.out.println
a
System.out.print
rozdiel medzi týmito dvomi príkazmi je v tom že System.out.println
po vypísaní nášho textu presunie kurzor na nový riadok, kdežto System.out.print
nie.
Celí kód na vypísanie Hello World by mal vyzerať nejak takto:
public static void main(String[] args) {
System.out.println("Hello World");
}
Ako sme si na tomto príklade všimli, tak za každým príkazom sa píše ;
. Je to preto,
aby jazyk vedel kde veci končia a kde začínajú.
- Napíšte program čo 6x pod seba vypíše
Hello World!
- Všetci si teraz skúsia vypísať na výstup nasledovný text:
Toto je prvý riadok
toto je drhý riadok
- Skúsime si vypísať lubovolný text tak aby sme použili
System.out.print
Vysvetlí Adinko :)
TODO: mozno aj vysvetlil, len tuto sa z toho moc nenaucime.
Zatial sa naučíme používať iba premennú dátového typu int
čo je vlastne 32/64 bitová premenná,
ktorá slúži na uloženie celých čísel (tým chcem povedať nie že by existovala polovica
čísla, ale to že sem nevieme ukladať desatinné čísla.
Premennú si deklarujeme tak že napíšeme int i;
poprípade int i = 1;
kde v prvom prípade
sme si vytvorili premennú i, od toho momentu ako sme to napísali ju môžme a vieme používať
ale nemá nastavenú žiadnu hodnotu.
V druhom prípade keď sme napísali int i = 1;
sme si vytvorili premennú a zároveň sme jej
nastavili hodnotu 1.
Keď máme takúto premennú už vytvorenú môžme na nej robiť rôzne matematické operácie, môžme
k premennej priradiť neakú konkrétnu hodnotu i = 1
poprípade k nej pripočítať nejakú hodnotu i = i + 5
alebo skrátený zápis i += 5
. Na premennej vieme robiť celú radu podobných matematických operácii odčítavanie -
, násobenie *
, delenie /
.
Na vypísanie hodnoty premennej vieme použiť tiež System.out.println
Skúsime si jednoduchý príklad práce s premennými:
int a = 1;
int b = 2;
a = 5;
b = 6;
b = a * b;
System.out.println("a krat b = " + b);
- Podobným spôsobom si skúste vypočítať jednoduchšie matematické príklady.
- Bude to fungovať aj keď budeme pracovať z naozaj veelmi velkými číslami? A ak nie, vie niekto povedať prečo?
Dnes sme na prvom cvičení vypisovali Hello World!
6x pod seba. Vo väčšine programovacích
jazykov existujú konštrukcie čo nám to vedia výrazne uľahčiť a namiesto toho aby sme
nejakú vec robili viac krát vieme si ju zjednoduchšiť a spraviť ju len raz a jazyku povadať
aby to vykonal viac krát.
Takéto konštrukcie sa volajú cykli. My sa jednu takú konštrukciu začneme učiť, konkrétne
for cyklus
. Jeho syntax a použitie vyzerá približne takto:
int i;
for(i = 1; i < 10; i += 1)
System.out.println("Hello World!");
alebo
int i;
for(i = 1; i < 10; i += 1){
System.out.println("Hello World!");
}
Poprípade môžme premennú i deklarovať aj priamo v deklerácii for cyklu for(int i = 1; i < 10; i += 1)
.
Každopádne všimnime si rozdiel medzi prvou a druhou definíciou for cyklu. V prvej sme nepoužili { }
a v druhej áno. V zásade for cyklus vykonáva akosi iba nasledujúci príkaz tolko krát, kolko chceme. Ak chceme aby niekolko krát za sebov vykonal viac príkazov ,musíme ich dať
do bloku tvoreného z { }
a tým ich jazyk ako keby zlepí do jedného. A for cyklus ich môže vykonať všetky.
- Skúste si vypísať niekolko krát pod sebou
Hello World
pomocov for cyklov - Skúste vykresliť kocku N x N rozmerov zostrojený z
*
pomocov 2 forcyklov tak že jeden bude vo vnútry druhého.
Vo vnútri for cyklu môžte manipulovať aj s premennou ktorá riadí for cyklus. Ak prepíšete z vnútra for cyklu premennú, ktorá ten for cyklus riadí, môžte for
z vnútra riadiť jej vykonávanie. Skúste sa zamyslieť čo vypíše nasledujúci kód:
for(int i = 1; i < 10; i += 1){
System.out.println("Hello World");
i = 200;
}
A čo urobí tento kód:
for(int i = 1; i < 10; i += 1){
System.out.println("Hello World");
i = 1;
}
Čo je ale zaujímavejšie a dôležitejšie je, že môžte nie len premennú manipulovať a modifikovať ale aj ju čítať. A tým aj viete, kde sa v tom for cykle nachádzate.
for(int i = 1; i < 10; i += 1){
System.out.println("i je: " + i);
}
Skúste porozmýšlať čo urobí nasledovný kód:
for(int i = 1; i < 10; i += 1){
for(int c = 0; c < i; c++){
System.out.print("*");
}
System.out.println("");
}
- Podobným spôsobom ako v predchádzajúcom príklade skúste pomocou hviezdičiek nakresliť pyramídu
- Podobne ako ste spravili piramídu skúste spraviť štvorec otočaný o 45 stupňov.