Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

PPA1 – 5.cvičení Pavel Bžoch. Zápočtový test Píše se 1.11. od 14:50 Na courseware a na dveřích UU409 je rozdělení (podle prvního písmene příjmení) Test.

Podobné prezentace


Prezentace na téma: "PPA1 – 5.cvičení Pavel Bžoch. Zápočtový test Píše se 1.11. od 14:50 Na courseware a na dveřích UU409 je rozdělení (podle prvního písmene příjmení) Test."— Transkript prezentace:

1 PPA1 – 5.cvičení Pavel Bžoch

2 Zápočtový test Píše se od 14:50 Na courseware a na dveřích UU409 je rozdělení (podle prvního písmene příjmení) Test bude do cca 16:00 – počítejte s tím! V testu budou okruhy do 5. přednášky včetně a do 6. cvičení včetně – Vše od začátku semestru až do polí (včetně)

3 Odevzdání příkladů Od minulého cvičení je na courseware zadání domácích úloh Pokud příklad úspěšně odevzdáte na validátor do 14 dnů od konání cvičení, máte 1 bod za každý příklad. Za pozdější odevzdání máte 0,5 bodu. Všechny příklady jsou kontrolovány na shodnost! – Při 1. výskytu shodného příkladu dostáváte automaticky 0,5 bodu ze všech příkladů -> musíte odevzdat všechny příklady. Zároveň musíte přepracovat shodné příklady. – Při případném jakémkoli dalším výskytu shodnosti ztrácíte možnost získat zápočet. – Stane se jak „zdroji“ příkladů, tak „opisovači“ či „opisovačům“ – Viz courseware – Problémy a řešení

4 Opakování – náhodný generátor Náhodné generování čísel – Random rd = new Random(); – int a = rd.nextInt(N); – Do proměnné a uloží náhodné číslo z intervalu <0, N) – Pokud chceme generovat z jiného intervalu např., pak musíme generování upravit: int a = rd.nextInt(N) +1;

5 Opakování – řízení toku programu Příkaz if, else if, else if (podmínka){ //příkazy se provedou, když je podmínka splněna } else if (podmínka2){ //příkazy se provedou, když není splněna podmínka, ale je splněna podmínka2 } else{ //příkazy se provedou, když není splněna ani jedna z podmínek } Bloky else if a else jsou nepovinné!

6 Opakování – řízení toku programu V podmínkách lze použít následující operátory porovnání (a i b jsou celočíselné proměnné): == test na shodu [ (a == b) testuje, zda jsou hodnoty v proměnných stejné] != test na neshodu [ (a != b) testuje, zda jsou hodnoty v proměnných rozdílné] > a >= test na větší hodnotu, popř. větší a shodnou [ (a >= b) testuje, zda je hodnota v proměnné a větší nebo rovna hodnotě v proměnné b ] < a <= test na větší menší popř. menší a shodnou [ (a <= b) testuje, zda je hodnota v proměnné a menší nebo rovna hodnotě v proměnné b ]

7 Opakování – řízení toku programu Pro spojení podmínek lze využít logické spojky – && logické A [ (a > 5 && a < 10) test, zda hodnota v proměnné a je větší než 5 a současně menší než 10] – || logické nebo [ (a 10) test, zda hodnota v proměnné a je menší než 5 nebo větší než 10] – ! negace výroku [! (a 10) test, zda hodnota v proměnné a větší nebo rovna 5 a zároveň menší nebo rovna 10. Alternativně lze zapsat takto (a >= 5 && a <= 10) ]

8 Cyklus while Cyklus probíhá dokud je podmínka splněná Podmínka se testuje na začátku obrátky  cyklus nemusí proběhnout ani jednou Struktura cyklu: while (podmínka) { příkazy; }

9 Cyklus do-while Cyklus probíhá dokud je podmínka splněná Podmínka se testuje na konci obrátky  cyklus proběhne alespoň jednou Struktura cyklu: do { příkazy; } while (podmínka);

10 Cyklus for Cyklus probíhá daný počet obrátek na základě hodnoty řídící proměnné (i) Řídící proměnná se testuje na začátku obrátky  cyklus nemusí proběhnout ani jednou Struktura cyklu: for (iniciace; podmínka; příkaz obrátky) iniciace – příkaz, který se provede jednou před cyklováním podmínka – podmínka, kdy cyklus běží příkaz obrátky – příkaz, který se provede na konci každé obrátky (před testem podmínky)

11 Cyklus for Např: for (int i=0; i < hranice; i++) { příkazy; } Cykluje dokud v i je hodnota menší než hodnota v proměnné hranice

12 Statické metody, parametry I Dosud pouze programy s jednou metodou – main() Každá třída může obsahovat deklarace více metod – Metody se můžou volat v jiných metodách třídy nebo i v metodách jiné třídy – Podobně jako jsme volali metody třídy Math – Metody jsou dostupné v celé třídě bez ohledu na pořadí jejich deklarace

13 Statické metody, parametry II Deklarace statických metod začíná klíčovým slovem static Může mu předcházet modifikátor určující viditelnost metody z jiných tříd – Tím se zatím nebudeme zabývat Hlavička metody vypadá následovně: static typNavratoveHodnoty nazevMetody(typ1 param1, …) Pak následuje tělo metody uzavřené v { }

14 Statické metody, parametry III Metoda nemusí mít žádný parametr, může jich mít více (oddělené čárkou) – Při deklaraci uvádíme jména parametrů, se kterými pak pracujeme v těle metody (tzv. formální parametry) – včetně typů parametrů – Když metodu voláme, dosazujeme tam proměnné nebo konstanty – skutečné parametry – bez typů parametrů Pokud voláme statickou metodu jiné třídy, musí jí předcházet název třídy a tečka (.)

15 Statické metody, parametry IV Metoda může vracet návratovou hodnotu – Např. Math.sin(x) vrátí sinus proměnné x (desetinné číslo) Typ návratové hodnoty musí být uveden před názvem metody v její deklaraci – Pokud metoda nic nevrací, uvádí se void Metoda vrací hodnotu uvedenou za slovíčkem return v těle metody – Pokud metoda nic nevrací, return; se dá použít pro ukončení metody

16 Statické metody, parametry V Příklad metody, která vrací hodnotu static int secti(int a, int b){ int c = a + b; return c; } Příklad metody, která nic nevrací static void odradkuj() { System.out.println(); }

17 Statická proměnná třídy Proměnná/konstanta dostupná v celé třídě – Všechny metody ji mohou využívat, mohou s ní pracovat – Je dostupná i v případě, že je definovaná až po metodě, ve které ji využíváme Pokud není přiřazena hodnota, má automaticky hodnotu 0, nebo 0.0, nebo null v závislosti na jejím typu Příklad v StatALokProm.pdf (1. příklad)

18 Lokální proměnná metody Příklad v StatALokProm.pdf (2. příklad) Proměnná/konstanta dostupná pouze v metodě, kde je deklarována – Je dostupná až od místa v kódu, kde je deklarována, před deklarací ji nelze využívat Pokud není přiřazena hodnota, nemá žádnou implicitní hodnotu – může v ní být cokoliv (v závislosti na typu) – Volání lokální proměnné do níž nebyla přiřazena hodnota skončí chybou překladu


Stáhnout ppt "PPA1 – 5.cvičení Pavel Bžoch. Zápočtový test Píše se 1.11. od 14:50 Na courseware a na dveřích UU409 je rozdělení (podle prvního písmene příjmení) Test."

Podobné prezentace


Reklamy Google