Obálka

Začínáme programovat v jazyku Java

Naposledy aktualizováno:    2024-01-19

Zpět na přehled knih.

Obsah

 


Účel a cíl publikace

Tato publikace uvádí čtenáře do světa programování prostřednictvím jazyka Java,
jenž je v současné době nejpoužívanějším jazykem pro tvorbu rozsáhlých programů a aplikací.
Postupně čtenáře seznamuje s jednotlivými konstrukcemi jazyka a přitom se neomezuje pouze na to,
jak navržený program zakódovat, ale učí čtenáře doopravdy programovat.
Nesoustředí se proto na výuku syntaxe jazyka a práce s knihovnami, ale učí,
jak program v daném programovacím jazyce navrhnout. Učí čtenáře, jak má při programování myslet.

Kniha je sice primárně určena začátečníkům, ale ohlasy recenzentů ukázaly,
že v ní najdou poučení i zkušení programátoři.

Kniha vznikla na základě dlouholetých zkušeností autorů nejen s výukou programování na univerzitě,
ale i s výukou na středních školách a vedením doplňujících kurzů pro profesionální programátory.
Autoři v ní uvádějí čtenáře krok za krokem do tajů návrhu programů v jazyce Java a ukazují mu,
jak možnosti této moderní technologie co nejlépe využít a kde si dát naopak pozor na její úskalí.
Přitom je paralelně seznamují se zásadami moderního programování a učí se je naplňovat v praxi.
 
 

Soubory ke stažení

Pokud vám nebude ve stažených programech něco fungovat, podívejte se sem,
jestli na podobný problém nenarazil už někdo před vámi,
a jestli proto není k dispozici novější verze.
Verzi poznáte podle data a případně podle jemu předcházejícího čísla verze.

K dispozici jsou následující soubory:

 

Doplňkové texty (co se do knihy nevešlo)

Většinou to jsou podrobnější vysvětlení některých pasáží výkladu
doplněná jako reakce na dotazy čtenářů,
kterým některá pasáž nepřipadala dostatečně srozumitelná.

Tak, jak budou postupně přicházet žádosti o upřesnění výkladu,
budou se postupně rozšiřovat i tato upřesňující vysvětlení.

Obsah


 
 

Nejčastější dotazy (FAQ)

Tato sekce je určena pro odpovědi na vaše nejčastější dotazy.
Budete-li mít nějaký dotaz nebo upozornění na chybu, pošlete mi
mail s předmětem začínajícím 67_JAVA_NZ_DOTAZ
Bude-li se dotaz týkat něčeho obecnějšího, zveřejním zde odpověď i pro ty ostatní.

 

Dotaz:
Mám problém při zadávání příkazu z výpisu 5.3 (vytváření nových objektů).
Když zadám příkaz
/open s05a_Karel.jsh
tak mi JShell hlásí chybu. Konkrétně:
File 's05a_Karel.jsh' for '/open' is not found.

Odpověď:
Příčinou neúspěchu je většinou to, že jste JShell spustili v jiné složce, než v té,
v níž máte uložené stažené soubory. To si musíte vždy ohlídat.
Problém je možno řešit několika způsoby:

  1. Zadáte absolutní cestu k otevíranému souboru.
    Toto řešení je zdánlivě nejjednodušší, ale potřebujete-li postupně načítat
    těch skriptů více, tak vás za chvíli začne obtěžovat.
     
  2. Zabezpečíte, aby se JShell spustil ve správné složce.
       
    1. Zadáním příkazu new File("").getAbsolutePath()
      vyrobte string s názvem aktuální složky.
      Je-li to ta, v níž je uložený daný soubor, měl by příkaz /open
      bez problému proběhnout.
       
    2. Je-li to jiná složka (a to jistě je, protože píšete, že příkaz neproběhl), tak:
         
      1. Zadáním příkazu /exit opusťte JShell a vraťte se
        ke komunikaci s operačním systémem.
         
      2. Zadáním příkazu cd cesta_k_cílové_složce
        se přesuňte do složky, v níž máte nahrány soubory s doprovodnými programy.
         
      3. V této složce spusťte znovu JShell.
         
  3. Doplníte potřebnou složku do seznamu složek v proměnné classpath.
    Přitom ale nesmíte zapomenout zadávat celý seznam najednou, tj. např. včetně knihovny Karla.
    Domnívám se však, že to asi nebude optimální řešení a nejlepší bude to,
    které jsem popsal v předchozím bodě, tj. otevřít JShell ve správné složce.
     

 

Dotaz:
Jsem naprostý začátečník a mám obavy, že nejsem na BlueJ připraven.
Nejsem si jistý, jestli mi přechod na BlueJ napomůže k pochopení.
Například, jsem v kapitole 5.4, kde mám vytvořit svět robota Karla.
Uváděné příkazy jsou v JShell a já nevím jak je vložit do BlueJ,
případně jak je pak i spustit.

Odpověď:
Nesnažte se předbíhat. Výhoda JShell tkví v tom, že k tomu,
abyste mohl vytvářet jednoduché funkční programy, nepotřebujete znát řadu věcí,
bez jejichž znalosti standardní program nerozběhnete.
.
Když v 10. kapitole zkompletujeme výklad potřebných základů,
tak pak začneme vytvářet standardní programy.
Ty navíc můžete vytvářet v libovolném vývojovém prostředí, nejen v BlueJ.
BlueJ používám hlavně proto, že je ze všech běžných IDE nejjednodušší,
takže s ním mají naprostí začátečníci nejméně problémů.
Navíc maximálně usnadňuje přepínání mezi diagramem tříd a vyvíjeným programem.


 

Dotaz:
Poté, co jsem si z internetových diskuzí nastudoval, jsem přišel na to,
že BlueJ 3.1.7 si pravděpodobně nainstaluje openJDK 8, který vzápětí využívá,
nehledě na nainstalované novější verze JDK.
Bohužel pak tato verze BlueJ má problém s překladem vašeho projektu.

Odpověď:
BlueJ 3.1.7 si žádnou knihovnu neinstaluje, ale na druhou stranu nechodí nad Javou 9+.
Proto jsem vám doporučil stáhnout si modifikované BlueJ++_3.1.7,
které chodí na jakoukoliv novější verzí Javy.
V jejích diagramech tříd se sice občas objeví značky na třídách, z jejichž zdrojového kódu je zmatená,
ale vzhledem k tomu, že používá verzi překladače té Javy, nad kterou jste je spustili,
tak všechny korektně napsané programy bez problému přeloží.

Jak jsem ale napsal: používání BlueJ není pro čtenáře povinné.
Můžete používat libovolné IDE, nejlépe takové, s jehož používáním vám někdo pomůže.
Já se v textu zmiňuji o BlueJ pouze proto, že je nejjednodušší, a tím pádem také
pro začátečníky nejsnadněji zvládnutelné.


 


Errata – opravy odhalených chyb

Sekce je prozatím prázdná