Skip to content

Latest commit

 

History

History
154 lines (111 loc) · 5.13 KB

2.Lekcia.md

File metadata and controls

154 lines (111 loc) · 5.13 KB
layout title
page
2. Lekcia

Vypísanie textu

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ú.

Cvičenie

  • 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

Deklarácia premennej

Čo je to premenná

Vysvetlí Adinko :)

TODO: mozno aj vysvetlil, len tuto sa z toho moc nenaucime.

Späť k deklarácii a používaniu premenných

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);

Cvičenie

  • 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?

For cyklus

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.

Cvičenie

  • 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.

Pokračovanie o for cykloch

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("");
	}

Cvičenie

  • 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.