3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň
Komentáře // jednořádkový komentář platí do konce řádku /* komentář blokový */ /* Víceřádkový komentář */ /* * Víceřádkový * komentář hvězdičky před řádky * jsou jen pro zvýraznění (tedy ozdoba ;) */ Dokumentační komentář (JavaDoc) slouží pro generování html dokumentace k Vašemu programu začíná znaky /** píše se těsně před metodu, třídu atd. před to co kometuji, protože v tom případě mi editor část příkazů rovnou vyplní: /** * Funkce pro výpočet sin * cos * @param vstupnihodnota parametr použitý jako vstup pro výpočet * @return výsledek po výpočtu sin * cos vstupní hodnoty */
public double vypocet(double vstupnihodnota) { return Math.sin(vstupniHodnota) * Math.cos(vstupniHodnota); Vygeneruje html dokumentaci v podobě: Method Detail vypocet public double vypocet(double vstupnihodnota) Funkce pro výpočet sin * cos Parameters: vstupnihodnota - parametr použitý jako vstup pro výpočet Returns: výsledek po výpočtu sin * cos vstupní hodnoty Základní vstupy a výstupy na konzoli (textový příkazový řádek) System.out.printf("Nějaký text") formátovaný výstup System.out.printf("Zadej poloměr kruhu: "); Scanner třída pro formátovaný vstup Scanner klavesnice = new Scanner(System.in); double r; r = klavesnice.nextdouble();
Formátovací specifikace při tisku do textové konzole/okna (používá se i pro soubory atd.) %d - celé číslo se znaménkem v desítkové soustavě, celočíselný dekadický formát výpisu (stejné je %i) %x - číslo v šestnáctkové soustavě, písmena abcdef se budou tisknout jako malá %X - číslo v šestnáctkové soustavě, písmena ABCDEF se budou tisknout jako velká %f - racionální číslo bez exponentu např. System.out.printf("Číslo desetinné: %6.3f%n", 12.45678); Vytiskne: Číslo desetinné: 12,456 - reálné číslo bude vytištěno minimálně na celkem 6 znak;, z nich 3 znaky jsou za desetinnou tečkou, jeden je desetinná tečka, tj. na celky zbývají nejméně 2 znaky. Větší (delší) číslo ovšem přeteče, např. 87456.45678 bude vytištěno v tomto případě jako 87456.456 tj. nelze ořezat celou část čísla %c - jeden znak \n - nová řádka pro Linux, pro Windows je třeba \n\r %n - nová řádka univerzální pro všechny systémy, Java Runtime použije automaticky správný konec řádku \t - tabelátor těchto sekvencí je mnohem více (především formátování datumů apod.), některé další si řekneme později ASCII tabulka znaková sada
package fel.kte.zpe; public class Hlavni { public static void main(string[] args) { System.out.printf("ASCII tabulka:%n"); char c; for (int i = 0; i < 255; i++) { if (((i) >= 32 && (i) < 255)) { c = (char) i; // konvertuj celé číslo na znak, použije ASCII tabulku System.out.printf("%3d %3X %c%n", i, i, c); // v Javě lze i elegantněji - později else { System.out.printf("%3d %3X -%n", i, i);
Program: Faktoriál V matematice je faktoriál čísla n (značeno pomocí vykřičníku: n!) číslo, rovné součinu všech kladných celých čísel menších nebo rovných n, pokud je n kladné a 1 pokud n = 0. Například: 0! = 1 1! = 1 2! = 2 1 = 2 3! = 3 2 1 = 6 4! = 4 3 2 1 = 24 5! = 5 4 3 2 1 = 120 package fel.kte.zpe; import java.util.scanner; /** * * @author Petr Kropík */ public class Hlavni { public static int fakt(int cislo) { if ((cislo > 12) (cislo < 0)) { return 0; // faktoriál nemůže být 0, používáme jako signál o chybě if (cislo == 0) { return 1; int vysledek = 1; for (int i = cislo; i > 1; i--) { vysledek *= i; // vysledek = vysledek * i;
return vysledek; /** * Hlavní spouštěcí funkce * * @param args the command line arguments */ public static void main(string[] args) { Scanner klavesnice = new Scanner(System.in); System.out.printf("Faktoriál kolika budeme počítat: "); int kolikafaktorial = klavesnice.nextint(); int vysledek = fakt(kolikafaktorial); if (vysledek == 0) { System.out.printf("Faktoriál čísla %d neumím spočítat...%n", kolikafaktorial); else { System.out.printf("%nFaktoriál čísla %d je %d%n", kolikafaktorial, vysledek);
Program: Největší společný dělitel dvou čísel package fel.kte.zpe; import java.util.scanner; /** * Největší společný dělitel dvou čísel * @author Petr Kropík */ public class Hlavni { public static int nsd(int a, int b) { if ((a <= 0) (b <= 0)) { return 0; while (a > 0) { if (a > b) { a = a - b; else { b = b - a; if (b == 0) { return a; return 0; /** * Hlavní spouštěcí funkce * * @param args the command line arguments */ public static void main(string[] args) { Scanner klavesnice = new Scanner(System.in);
System.out.printf("Největší společný dělitel dvou čísel%n"); System.out.printf("Zadejte první číslo: "); int prvnicislo = klavesnice.nextint(); System.out.printf("Zadejte druhé číslo: "); int druhecislo = klavesnice.nextint(); int vysledek = nsd(prvnicislo, druhecislo); System.out.printf("Nejvetsi spolecny delitel cisel %d a %d je %d%n", prvnicislo, druhecislo, vysledek);
Struktura Javy (JRE, JDK, JVM)
Struktura Javy (JRE, JDK, JVM)
Struktura Javy (JRE, JDK, JVM)
GUI knihovny JavaFX