Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
PPA1 – 5.cvičení Pavel Bžoch
2
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 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ř. <1, N>, 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 < 5 || a > 10) test, zda hodnota v proměnné a je menší než 5 nebo větší než 10] ! negace výroku [!(a < 5 || 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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.