September discount week
Tento týden až 80% sleva na e-learning týkající se jazyka C
50 % bodů zdarma na online výuku díky naší Slevové akci!

Lekce 1 - Úvod do jazyka Java

Vítejte u první lekce populárního on-line kurzu programovacího jazyka Java. Budeme se učit postupně, od úplných začátků až po složité konstrukce, objektové modely a např. práci s databází. S trochou trpělivosti a vytrvalosti se z tebe tak stane dobrý programátor.

Kompletní kurzy programování v Javě

Abychom plně porozuměli jazyku Java, ohlédněme se do minulosti na to, jak se programovací jazyky vyvíjely. Bude pro nás totiž důležité pochopit, jak Java pracuje a proč je dobré programovat právě v tomto jazyce.

Vývoj programovacích jazyků

1. generace jazyků - Strojový kód

Procesor počítače umí vykonávat jen omezené množství jednoduchých instrukcí, které jsou uloženy jako sekvence bitů, jsou to tedy čísla. Ta se mu obvykle zadávají v hexadecimální (šestnáctkové) soustavě. Instrukce jsou tak elementární, že umožňují pouze např. sčítání adres nebo skoky mezi instrukcemi. Nelze např. jednoduše sečíst dvě čísla, musíme se na čísla dívat jako na adresy v paměti a takové sečtení čísel zabere několik instrukcí. Program sčítající dvě čísla by vypadal např. takto:

2104
1105
3106
7001
0053
FFFE
0000

Instrukce se procesoru předloží v binární podobě. Takovýto kód je samozřejmě extrémně nečitelný a závisí na instrukční sadě daného CPU. Určitě v tomto jazyce nebude jednoduché tvořit nějaké programy, bohužel každý program musí být nakonec do tohoto jazyka přeložen, aby mohl být na procesoru počítače spuštěn.

Strojový kód

2. generace jazyků - Assembler

Assembler (zkráceně ASM) není o nic jednodušší, než strojový kód, ale je lidsky čitelný. Jedná se o strojový kód, ve kterém mají instrukce slovní označení (kód), čili si člověk nemusí pamatovat čísla. Kódy instrukcí se poté přeloží na výše uvedený strojový kód. Stejný program by v ASM vypadal takto:

ORG 100
LDA A
ADD B
STA C
HLT
DEC 83
DEC –2
DEC 0
END

Vidíme, že je to poněkud lidštější, ale stále nezasvěcení lidé vůbec netuší, jak program funguje (včetně mne).

3. generace jazyků

Jazyky v třetí generaci konečně nabízí uživateli určitou abstrakci nad tím, jak program vidí počítač, zaměřují se na to, jak program vidí člověk. Naše čísla jsou vnímána již jako proměnné, zdrojový kód připomíná matematický zápis.

Sečtení dvou čísel by v jazyce C vypadalo takto:

int main(void)
{
    int a, b, c;
    a = 83;
    b = -2;
    c = a + b;
    return 0;
}
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Všichni asi tušíme, co program dělá, sečte čísla 83 a -2 a výsledek uloží do proměnné c. U všech jazyků třetí generace je samozřejmě výhodou vysoká čitelnost. S dalším vývojem šly jazyky ještě dál a přinesly objektově orientované programování, ale o tom až později. Jazyky v třetí generaci spadají v zásadě do třech kategorií:

Kompilované jazyky

Kompilované (neřízené) jazyky mají tedy svůj zdrojový kód v jazyce, kterému lidé dobře rozumí. Tento zdrojový kód se samozřejmě musí přeložit do strojového kódu, aby ho bylo možné na procesoru spustit. Tento překlad zajišťuje překladač (kompiler), který přeloží najednou celý program do stroj. kódu.

Kompiler

Kompilace má tyto výhody:

  • Rychlost - Jediné zbrždění spočívá v jednorázové kompilaci, přeložený program poté běží srovnatelně rychle, jako kdyby byl napsán např. v ASM.
  • Nepřístupnost zdroj. kódu - Program se šíří již zkompilovaný, není jej možné jednoduše modifikovat pokud zároveň nevlastníte jeho zdroj. kód.
  • Snadné odhalení chyb ve zdroj. kódu - Pokud zdrojový kód obsahuje chybu, celý proces kompilace spadne a programátor je s chybou seznámen. To značně zjednodušuje vývoj.

Dále jsou tu samozřejmě nevýhody:

  • Závislost na platformě - Program je stále závislý na platformě, tedy na typu procesoru a operačním systému. Zkompilovaný program nemůžeme vzít a přenést na jinou platformu bez toho, aby byl na této platformě zkompilován.
  • Nemožnost editace - Jakmile se program jednou zkompiluje do strojového kódu, nelze ho editovat jinak, než opětovnou kompilací. To pochopitelně platí i pro výše zmíněné jazyky.
  • Memory management - Vzhledem k tomu, že počítač danému programu nerozumí a jen mechanicky vykonává instrukce, můžeme se někdy setkat s velmi nepříjemnými chybami s přetečením paměti. Kompilované jazyky obvykle nemají automatickou správu paměti a jsou to jazyky nižší (s nižším komfortem pro programátora). Běhové chyby způsobené zejména špatnou správou paměti se kompilací neodhalí.

Příkladem kompilovaných jazyků jsou např. jazyk C, jeho objektový následník C++ nebo Pascal/Delphi.

Interpretované jazyky

Interpretace se snaží řešit problém přenositelnosti programů mezi různými platformami a také přichází s vyšším komfortem pro programátora. Interpret funguje podobně, jako kompiler, jen nepřekládá program celý najednou, ale překládá pouze to, co je v danou chvíli potřeba. (Interpreter znamená v angličtině tlumočník, tedy nejprve vyslechne jednu větu mluvčího a tu poté přeloží a vysloví. Překlad probíhá během proslovu, tedy běhu programu, po větách/instrukcích. Kompiler/překladač přeloží rozhovor celý najednou a poté ho celý přečte.). Můžeme si představit, že výše uvedený zdrojový kód by interpret četl po jednotlivých řádcích, tu část by vždy zkompiloval do strojového kódu a vykonal. Výsledek kompilace by zahodil a přesunul by se na další řádek. Možná vám to připadá jako plýtvání výkonem procesoru a je pravda, že tento způsob běhu programu také není zrovna nejrychlejší.

Interpret

Jaké může mít tedy tento postup výhody? Je jich hned několik:

  • Přenositelnost: Program je plně přenositelný, pokud existuje interpret pro danou platformu, půjde tam zdrojový kód programu spustit (a vývoj interpretu je snažší, než vývoj kompilátoru).
  • Jednodušší vývoj - Ve vyšších jazycích jsme odstíněni od správy paměti, kterou za nás dělá tzv. garbage collector (řekneme si o něm v seriálu více). Často také nemusíme ani zadávat datové typy a máme k dispozici vysoce komfortní kolekce a další struktury.
  • Stabilita - Díky tomu, že interpret kódu rozumí, předejde chybám, které by zkompilovaný program jinak klidně vykonal. Běh interpretovaných programů je tedy určitě bezpečnější, dále umožňuje zajímavou vlastnost, tzv. reflexi, kdy program za běhu zkoumá sám sebe, ale o tom později.
  • Jednoduchá editace - Program můžeme vyvíjet po částech a nahrávat na cílové umístění, díky tomu, že se nemusí kompilovat, ho je možné jednoduše editovat "za běhu".

Interpret má tři zásadní nevýhody:

  • Rychlost - Interpretace může být mnohdy velmi pomalá a program tak plně nevyužívá výkon počítače.
  • Často obtížné hledání chyb - Díky kompilaci za běhu se chyby v kódu objeví až v tu chvíli, kdy je kód spuštěn. To může být někdy velmi nepříjemné.
  • Zranitelnost - Protože se program šíří v podobě zdrojového kódu, každý do něj může zasahovat nebo krást jeho části.

Příkladem interpretovaného jazyka je např. PHP. Na většině webů ten poměrně pohodlný jazyk výkonově stačí, ale například Facebook používá speciální kompilovanou verzi PHP, zájemci ať se podívají na projekt HipHop for PHP.

Jazyky s virtuálním strojem

Napadlo vás, co by se stalo, kdyby se oba dva výše zmíněné způsoby spojily? Pokud ano, gratuluji, vynalezli jste virtuální stroj. Jedná se o nejmodernější podobu jazyka, která je v současné době také nejrozšířenější a nejlepší volbou pro vývoj většiny aplikací. Nebudu tajit, že do této kategorie spadá samotná Java nebo C#.

Zdrojový kód je nejprve přeložen do tzv. mezikódu, kterému se u Javy říká bytecode. Jedná se v podstatě o strojový (binární) kód, který má ale o poznání jednodušší instrukční sadu a přímo podporuje objektové programování. Tento mezikód je potom díky jednoduchosti relativně rychle interpretovatelný tzv. virtuálním strojem (tedy interpretem, v případě Javy je to tzv. JVM - Java Virtual Machine). Výsledkem je strojový kód pro náš procesor.

Virtuální stroj

Určitě jste trochu vyděšeni, ale věřte, že jsme v podstatě odstranili nevýhody interpreta i kompileru a můžeme využívat mnohé z jejich výhod:

  • Odhalení chyb ve zdrojovém kódu - Díky kompilaci do bytekódu jednoduše odhalíme chyby ve zdrojovém kódu.
  • Stabilita - Díky tomu, že interpret kódu rozumí, zastaví nás před vykonáním nebezpečné operace a na chybu upozorní. Můžeme také provádět reflexi (i když pro bytekód, ale od toho jsme většinou odstíněni).
  • Jednoduchý vývoj - Máme k dispozici hitech datové struktury a knihovny, správu paměti za nás provádí garbage collector.
  • Slušná rychlost - Rychlost se u virtuálního stroje pohybuje mezi interpretem a kompilerem. Virtuální stroj již výsledky své práce po použití nezahazuje, ale dokáže je cachovat, sám se tedy optimalizuje při četnějších výpočtech a může dosahovat až rychlosti kompileru. Start programu bývá pomalejší, protože stroj překládá společně využívané knihovny.
  • Málo zranitelný kód - Aplikace se šíří jako zdrojový kód v bytekódu, není tedy úplně jednoduše lidsky čitelná.
  • Přenositelnost - Asi je jasné, že hotový program poběží na každém železe, na kterém se nachází virtuální stroj.

Java a JDK

Java je distribuována ve třech edicích:

  • Java SE - Standardní Edici budeme používat pro začátek
  • Java EE - Enterprise Edice není ve skutečnosti jiná Java, ale sada knihoven do JSE, která umožňuje vytvářet velké webové aplikace. Je poměrně komplikovaná, ale ve firmách extrémně žádaná. Pokud se ji naučíte, budete velmi žádaní programátoři.
  • Java ME - Mikro Edice běží v SIM kartách, pračkách a dalších elektronických zařízeních (Oracle tvrdí, že Java pohání 9 miliard zařízení).

Pro spuštění našich aplikací budeme potřebovat JRE (Java Runtime Environment), což je běhové prostředí obsahující virtuální stroj. Pro vývoj budeme potřebovat JDK (Java Development Kit), které obsahuje knihovny a nástroje pro vývojáře.

Java je zadarmo pro nekomerční použití. Od verze 11 je Java pro komerční účely placená, ale naštěstí existuje edice OpenJDK, kterou lze používat zadarmo i pro komerční aplikace. Aplikace v Javě lze také spouštět přímo ve webovém prohlížeči pomocí Java Web Start. Ten se také automaticky stará o aktualizaci vaší aplikace.

Jazyky s virtuálním strojem ctí objektově orientované programování a jedná se o současný vrchol vývoje v této oblasti. Existují i jazyky 4. a 5. generace, ale ty mají specifické použití a nebudeme se s nimi zde zatím zabývat.

Nyní víme, s čím to vlastně budeme pracovat.

V příští lekci, NetBeans IDE a první konzolová aplikace, si ukážeme práci s IDE (programátorským prostředím) NetBeans a vytvoříme si svůj první program.


 

Všechny články v sekci
Základní konstrukce jazyka Java
Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
199 hlasů
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn university Autor sítě se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity (15)

 

 

Komentáře

Avatar
Trynar
Člen
Avatar
Trynar:21.1.2014 11:25

Ahoj. Prosím tě mohl bys mi jako velkému laikovi vysvětlit jaký je rozdíl mezi C# a JAVA. Respektive - pokud bych chtěl vytvářet jednoduché programy typu vyplň formulář, něco spočítej, něco vypiš a ulož do MS SQL databáze je lepší umět C# nebo JAVA?

Spouštění vytvořeného programu je v obou programovacích jazycích stejné (vytvoří se .exe spustitelný soubor)?

Díky.

 
Odpovědět
21.1.2014 11:25
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Trynar
David Čápka:21.1.2014 11:56

Ahoj, jazyky jsou víceméně stejné. Java nedělá exe ale jar, ten jde také spustit.

Odpovědět
21.1.2014 11:56
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Trynar
Jan Vargovský:21.1.2014 13:01

Jestli hodláš dělat to co ty, mrknul bych na entity framework database first + LINQ. Nevím jak je to v Jave s databazema, ale v C# je práce velmi pohodlná.

 
Odpovědět
21.1.2014 13:01
Avatar
1jirkan
Člen
Avatar
1jirkan:20.12.2014 22:06

Nějak si nemůžu pomoct, ale prošel jsem si tady tutoriál pro C# i Javu a nechápu, jak někdo může být nadšený z objektového programovaní - postupoval jsem přesně podle tady popsaných návodů a vlastně jenom hledám - naprosto nelogické - chyby. Možná jsem zaseklý v čase, programuji v PowerBuilderu a C++ a nikdy jsem neměl takový problém s hledáním jednoduché chyby. Pokud použiju vámi deklasovaný pointer, vím, co dělám, a případnou chybu najdu hned. Objektové programování mi přijde totálně nelogické, v podstatě jsem nešťastný z toho, že takovou blbost se budu muset učit :(. Zlaté strukturované programování a snad i s tím GOTO bych napsal většinu funkcí rychleji

 
Odpovědět
20.12.2014 22:06
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na 1jirkan
ostrozan:23.12.2014 18:09

V tvém věku (odhaduju ho z věty:" v podstatě jsem nešťastný z toho, že takovou blbost se budu muset učit") je normální nevěřit dospělým - protože oni samozřejmě dělají všechno "blbě" a plodí jen "blbosti " jako C# a JAVU.:)

Ale neboj - i ty jednou dospělý budeš a pak se možná stejně jako já dnes zasměješ svojemu prohlášení - které, když převedu na potraviny, tak zní zjednodušeně asi takto:

nevím, jak někdo může jíst maso - já ho úplně nesnáším - jó řízky a hamburger to je něco jiného - ty miluju

čímž chci říct, že Power Script v Power Builderu, i C++ jsou také objektově orientované jazyky :)

doufám ,že jsem tě moc nenaštval - nebylo záměrem

Přeju pěkný den

 
Odpovědět
23.12.2014 18:09
Avatar
hanpari
Redaktor
Avatar
Odpovídá na 1jirkan
hanpari:24.12.2014 7:04

Na rozdíl od kolegy nahoře si myslím, že máš pravdu. A pokud tě to potěší, nejsi v tom sám. Mrkni na mou zeď, tam je dost odkazů, mj. i některé ne zrovna pochvalné poznámky na adresu OOP.

Právě na adresu Javy jsem nedávno četl výrok, že Java je největší neštěstí od stvoření MS-DOS. No, podle mého nebyl MS-DOS taková katastrofa :)

Jinak, pokud chceš programovat pro JVM nemusíš nutně používat javu. Můžeš použít jazyky jako Scala, Groovy, Clojure nebo Jython.

 
Odpovědět
24.12.2014 7:04
Avatar
Odpovídá na hanpari
Neaktivní uživatel:24.12.2014 9:33

Ten bol dobrý ;)

Odpovědět
24.12.2014 9:33
Neaktivní uživatelský účet
Avatar
roman64
Redaktor
Avatar
roman64:22.5.2015 15:22

K programování Android zařízení (mobil, tablet) a zároveň Windows PC zařízení (notebook, desktop, apod.) byste doporučil k učení C# nebo Javu? Z toho co jsem přečetl, mi vychází spíše Java.
Docela by mě zajímala, jak je to na Android zařízeních s možnostmi SQL severů (zdarma, max. kapacita a výkonnost)? Na Windows(ích) je k dispozoc SQL server v edici Express zdarma (10GB dat) - pro začátek dobré. Zatím vůbec navím jak by to vypadalo, kdyby měla být databáze umístěna na cloudu a přistupoval k ní jak Windows tak Android klient.
http://www.microsoft.com/…express.aspx

Odpovědět
22.5.2015 15:22
Definice šílenství je dělat stejnou věc znovu a znovu a očekávat jiné výsledky.“ Albert Einstein.
Avatar
Martin Skalík
Redaktor
Avatar
Martin Skalík:4.7.2015 11:14

David je rozený písař :D

 
Odpovědět
4.7.2015 11:14
Avatar
Pavel Kozák
Člen
Avatar
Pavel Kozák:10.8.2015 10:24

Ahoj lidi je někde na této stránce vice příkladů k Javě?

 
Odpovědět
10.8.2015 10:24
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Pavel Kozák
David Čápka:10.8.2015 10:28

Skoro ke každé lekci máš 3 příklady v cvičení, dohromady tu je dostatek příkladů k tomu, aby ses Javu perfektně naučil.

Odpovědět
10.8.2015 10:28
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Mirek Topolanek:18.12.2015 21:27

ahojte :) zacal som citat tieto tutorialy a su dobre, akurat mam knihu http://knihy.cpress.cz/…nalosti.html
tak neviem, ze co poradite ci pokracovat v tych vasich tutorialoch alebo bude lepsie zacat s nejakou profesionalne spracovanou knihou. Pripadne ak nie touto a viete nejaku inu poradit vhodnu pre zaciatocnikov, tak budem rad. NIe ze by som znehodnocoval vasu pracu, je uzasna, akurat chcem vediet objektivny nazor na vec.

 
Odpovědět
18.12.2015 21:27
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovídá na Mirek Topolanek
Tomáš Brůna:18.12.2015 21:36

doporučuji používat oboje :) knihu používám jako offline verzi tohoto ;)

Odpovědět
18.12.2015 21:36
Vi veri universum vivus vici
Avatar
Odpovídá na Tomáš Brůna
Mirek Topolanek:18.12.2015 22:36

Dakujem za odpoved, ale skor som venoval otazku tym, co maju tieto zaciatky Javy zmaknute a vedia to tak nejak doporucit na zaklade vyssich znalosti.

 
Odpovědět
18.12.2015 22:36
Avatar
Mirek Topolanek:20.12.2015 13:55

Jo a zaujimalo by ma, ze ked je uz Java 8 vonku, tak ci su tam nejake velke zmeny, teda ci sa rovno ucit z nejakej knihy Java 8 alebo v pohode mozem fungovat aj s Java 7, pripadne 6. A aky je vas nazor na Pecinovskeho knihy.

 
Odpovědět
20.12.2015 13:55
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na Mirek Topolanek
Atrament:20.12.2015 14:30

Klidně se uč podle knih o verzích 7 a i 6, ony ty základy se nezměnily prakticky vůbec. V Javě 8 přibylo hodně vychytávek, které ale oceníš až na dost pokročilejší úrovni.

Pecinovského knihy se mně osobně nelíbí, ale hádám že to je otázka vkusu, někdo jiný na ně třeba nedá dopustit.

 
Odpovědět
20.12.2015 14:30
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Mirek Topolanek
pocitac770:20.12.2015 15:18

Co vím, tak na Javě 6 nebyla vůbec JavaFX (moderní nástroj na tvorbu okenních aplikací), což v dnešní době je dosti nevýhodné. Ovšem v tu chvíli můžeš na vyšší Javu přejít. Java 7 už začíná pokulhávat, Oracle už oficiálně prohlásil 7 za "starou" verzi, tzn. je nejlepší se teď učit v Javě 8. Osobně bych doporučoval se učit na co nejvyšší Javě, ale mít na paměti, aby to nebyly verze, které nikdo nepoužívá (např. programovat v Javě 9 na komerční úrovni hned po vydání je hloupost, protože v tu chvíli ji ještě téměř nikdo nebude mít (jen příklad)).

 
Odpovědět
20.12.2015 15:18
Avatar
Mirek Topolanek:20.12.2015 21:54

Ako uplnemu zaciatocnikovi teda radite co?

tunajsie tutorialy

alebo

http://knihy.cpress.cz/java-7.html

alebo

https://docs.oracle.com/…se/tutorial/

Som v anglcitine dobry, ale neviem, cital som to len tak zbezne a vsetky vyrazy poznam iba cesky, takze to bude asi narocnejsie. Jedna sa mi hlavne o pochopenie OOP a zakladnej syntaxi na taky level, aby sa na nom bez problemov dalo stavat. Dakujem

 
Odpovědět
20.12.2015 21:54
Avatar
Odpovídá na Mirek Topolanek
Michal Štěpánek:20.12.2015 22:00

Většina základů co potřebuješ je tu zdarma, když ti to bude málo, můžeš si koupit nějaký placený článek a pak popř. nějakou tu knihu...

Odpovědět
20.12.2015 22:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ryu Kassiela Koperová:12.4.2016 0:34

Ahojky ^^
Chtěla jsem se zeptat, zda se mohu zde naučit programovat, i když v podstatě jsem jen gamerka co ma ráda od malička počítatče a učení (ja vím, divný :D kdo má rád učení?) ^^ O prográmovaní nevím nic, ale strašně ráda bych chtěla, přečetla jsem si zatím články jak začít, jaké jsou jazyky, složitosti a další... Zalíbila se mi Java ale přece jen se musím zeptat, zda na to nepotřebuji přímo jít na školu nebo něco takového... Takže... pro někoho jako já, co potřebuje aby se z něj stal programátor? ^^

Odpovědět
12.4.2016 0:34
Nikdo neříkal, že musíme být normální. ^_^
Avatar
Jurajs
Člen
Avatar
Odpovídá na Ryu Kassiela Koperová
Jurajs:12.4.2016 0:52

No vlastně na to ani nemusíš mít školu, stačí chtít a musí tě to bavit :)) Ale pokud chceš se tím živit do budoucna, tak určitě škola neuškodí :))

 
Odpovědět
12.4.2016 0:52
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na Ryu Kassiela Koperová
Taskkill:12.4.2016 1:19

Pokud chceš programovat a ne jen kódit .... V drtivé většině případů je nutná škola, kvalitní škola a poctivě deset let ( říká se ) na sobě makat.

Editováno 12.4.2016 1:20
 
Odpovědět
12.4.2016 1:19
Avatar
Odpovídá na Ryu Kassiela Koperová
Neaktivní uživatel:12.4.2016 1:37

Pro holky jsou úplně ideální czechitas:
http://www.czechitas.cz/

Pomůže ti to se základy a třeba i nasměruje správným směrem :)

Odpovědět
12.4.2016 1:37
Neaktivní uživatelský účet
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Ryu Kassiela Koperová
pocitac770:12.4.2016 7:33

Nezáleží na tom, kdo jsi. Kluk, holka, dítě, důchodce... :D Kdokoliv se může naučit prpgramovat, zvláště zde ve virtuálním světě jde jenom o tom, co máš v hlavě, ne jak "vypadáš".
Hlavní je dát si nějaký cíl. Proč to děláš? Proč se chceš naučit programovat? Co by jsi strašně ráda naprogramovala? (Tady radši začni s něčím menším)
Já taktéž nemám školu, kurzy, nic, akorát tyto webovky (ok, plus nějaké specializované stránky na určité problémy, ale pořád je to jenom internet). Taky jsem začínal (a stále pokračuji) v javě a pamatuju si, jak i blbej Hello World mě naplňoval úžasným pocitem, že je to start do novýho života :)
Někde zde jsem narazil na větu "Pokud dokáže člověk naprogramovat plně funkční Tetris, tak je nadějným programátorem". Tak jsem si řekl, že naprogramuju Tetris. Chvíli to trvalo, ale podařilo se. Tím byl vlastně jeden cíl pryč, ale aktuálně jsem se dostal do sféry MC programování (díky vlivu na jednom nejmenovaném serveru), takže už nedělám jenom programy do šuplíku, které nikdo nevyužije, ale uživatelé se již najdou, a konečně to má nějaký smysl. Aktuálně pracuju na úpravě jedné modifikace která bude přímo použita na serveru, kam budou chodit desítky, možná stovky lidí... A moje jméno bude svítit v author listu
Všechno tohle bez nějakých škol, ne, jediné, co mě do toho dostalo byla chuť a štěstí, že jsem před pár lety našel tyto webovky. Samozřejmě, že později půjdu na vysokou školu s tímto zaměření, ale to je jenom budoucnost...
Vem si to jako příklad, že i noob, co o tom nic neví a jenom si čte tutoriály to může někam dotáhnout :)

Editováno 12.4.2016 7:35
 
Odpovědět
12.4.2016 7:33
Avatar
Ryu Kassiela Koperová:12.4.2016 10:23

Děkuji všem, co mi tady zatím odpověděli ^^ Czechitas rozhodně vypadají zajimavě :) Jen si budu muset práci naplánovat tak, abych stihla pár z jejich přednášek :D Ale myslím, že to bude stát za to ^^ Nic není zadarmo a pokud něco chci, musím pro to něco obětovat, čas, peníze, nervy... ^_^ Pak... Jsem mladá, deset let klidně tomu obětuji ale stejně si myslím, že to bude málo a po celý život si to bude brát můj čas ^^ Na školu bych ráda šla :D Jen bude chvilku trvat, než tam budu moci jít ^^ A Děkuji počítač770 ^^ Tohle mi dalo ještě větší naději! Budu se snažit, i když jsem lehce natvrdlá :D Ale pokud něco chci, tak si za tím půjdu... Děkujiiii ^_^/

Odpovědět
12.4.2016 10:23
Nikdo neříkal, že musíme být normální. ^_^
Avatar
Neaktivní uživatel:24.9.2016 14:09

Ahoj vsem,je mi 55 let,a chci se ucit programovat

Odpovědět
24.9.2016 14:09
Neaktivní uživatelský účet
Avatar
Tomáš Brůna
Redaktor
Avatar
Odpovědět
24.9.2016 14:12
Vi veri universum vivus vici
Avatar
Neaktivní uživatel:24.9.2016 14:15

To je moje vec.

Odpovědět
24.9.2016 14:15
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Libor Šimo (libcosenior):24.9.2016 15:09

To je fakt. :-D
A uc sa programovat.
To si nam oznamovat nemusel. ;-)

Editováno 24.9.2016 15:11
Odpovědět
24.9.2016 15:09
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Přemas
Člen
Avatar
Přemas:3.10.2016 23:58

Diky za clanek, zacinam v jave a tento styl vykladu mi fakt vyhovuje :)

 
Odpovědět
3.10.2016 23:58
Avatar
Petr Smejkal
Člen
Avatar
Petr Smejkal:16.11.2016 16:23

Pro představu mi článek dobře posloužil. Díky.

 
Odpovědět
16.11.2016 16:23
Avatar
Majky
Člen
Avatar
Majky:13.12.2016 19:19

Zatiaľ som skúšal iba HTML a celkom to šlo. Bolo to síce dávno, asi pred 5-timi rokmi, ale už si z toho skoro nič napamätám :-) Tak sa idem pustiť do štúdia pre zmenu JAVY, keďže je to "najľahšie" s čím sa dá začať začiatočníkom ako som ja.

 
Odpovědět
13.12.2016 19:19
Avatar
Jiří Matoušek:16.7.2017 13:07

Ahoj. Je mi 58 a chci se naučit programovat v Jawa.Kdysi za totality jsem dělal malé programy v Basic(u) na Didaktiku.Ale Basic byl jednoduchý.Navíc jsem měl ještě mladou mysl a paměť. I teď se ale s tím zkusím poprat.

 
Odpovědět
16.7.2017 13:07
Avatar
Odpovídá na Jiří Matoušek
Jiří Matoušek:16.7.2017 13:10

Ma být Java (malý překlep)

 
Odpovědět
16.7.2017 13:10
Avatar
Libor Ripper :17.7.2017 21:37

super! připadám si jako první den na základní škole :) ....v každém případě moc Děkuj! A těším se na další lekce ;)

 
Odpovědět
17.7.2017 21:37
Avatar
Michal Stisek:20.7.2017 17:54

Srozumitelně napsáno a tak nějak pro laika v Javě přátelské :-) Díky za článek

Odpovědět
20.7.2017 17:54
Jít pořád dál má smysl
Avatar
Jan Chalupa
Člen
Avatar
Jan Chalupa:13.9.2017 10:54

Docela srozumitelné, jen doufám, že pro další fungování Javy to nebudu moc potřebovat :)

 
Odpovědět
13.9.2017 10:54
Avatar
Tomáš Ciba
Člen
Avatar
Tomáš Ciba:8.10.2017 19:59

Skvěle napsané, Davide. Díky!

 
Odpovědět
8.10.2017 19:59
Avatar
 
Odpovědět
8.10.2017 22:48
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Víťa Š.
Člen
Avatar
Víťa Š.:30.10.2017 2:42

Moc pěkně zpracované a podané. Palec nahoru.

Odpovědět
30.10.2017 2:42
Život by byl mnohem snazší, kdybychom k němu měli zdrojový kód.
Avatar
mrazal
Člen
Avatar
mrazal:4.1.2018 10:49

Jasné a srozumitelné.

 
Odpovědět
4.1.2018 10:49
Avatar
Zgorboid
Člen
Avatar
Zgorboid:7.1.2018 19:04

Zkoušel jsem různé videolekce, ale tento způsob s mezitesty zdá se mi býti nejlepším. Přeji všem trpělivost, ta je při osvojování programátorských technik nejdůležitější :)

 
Odpovědět
7.1.2018 19:04
Avatar
Štefan Jerga:11.1.2018 18:43

Vynikajúco napísané a vysvetlené od úplného začiatku. :)

 
Odpovědět
11.1.2018 18:43
Avatar
Karel Vrabik
Člen
Avatar
Karel Vrabik:5.2.2018 16:11

Celkem dobré. Nejsem si jistý, zda je to důležité, nicméně mi to konečně někdo vysvětlil. Děkuji :-)

 
Odpovědět
5.2.2018 16:11
Avatar
Zdeněk Alča Vackovi:9.2.2018 13:30

Děkuji za kurzy a čas a energii do nich vražený, používám souběžně ze SoloLearn.

 
Odpovědět
9.2.2018 13:30
Avatar
David Kozlík:16.3.2018 7:03

Ahoj, zatím jsem dočetl a chci vědět více

Odpovědět
16.3.2018 7:03
Nezáleží s čím jsi přišel, ale s čím odcházíš
Avatar
Rastislav Petrák:21.3.2018 10:59

Takze jsem prijemne prekvapen primocarosti a srozumitelnosti autora. klobouk dolu a s velkym zajmem oteviram druhou lekci. jeste ale mne napada, jsem typ ze stare skoly co potrebuje mit pri uceni v ruce papir a delat si do nej sve poznamky a myslenky. jsou nekde lekce v tisknutelne podobe?
Predem dik . Rasta

 
Odpovědět
21.3.2018 10:59
Avatar
Mango
Redaktor
Avatar
Odpovídá na Rastislav Petrák
Mango:21.3.2018 12:49

Zatím asi ne, ale zkus si je zkopírovat do Wordu a vytisknout :)

Odpovědět
21.3.2018 12:49
Nezáleží na věku ale na vědomostech ;D
Avatar
Rastislav Petrák:21.3.2018 12:58

OK. uz se stalo. papír je papír. snad se dle druhé lekce brzo naucim pouzivat poznamky v dropboxu :-)

 
Odpovědět
21.3.2018 12:58
Avatar
chalzd
Člen
Avatar
chalzd:2.4.2018 11:47

Srozumitelné, přehledné, děkuji.

Odpovědět
2.4.2018 11:47
Svůj život máme ve své hlavě.
Avatar
Matěj Švéda:31.5.2018 10:53

není chyba v ukázce kódu C pro jazyky 3. generace?

int main(void)
{
int a, b, c;
a = 83;
b = -2;
c = a + b;
return 0;
}

neměl by na program na konci vracet proměnnou c místo nuly? jem záčatečník, tak mě nekamenujte, jen chci mít jasno :D

 
Odpovědět
31.5.2018 10:53
Avatar
Odpovídá na Matěj Švéda
Ing. Petr Štechmüller:31.5.2018 11:10

Ahoj, nula je správně. Znamená to, že program skončil v pořádku. Je domluveno, že pokud program vrátí jinou hodnotu než nula, tak program skončil chybou, která je definována právě vrácenou hodnotou.

Odpovědět
31.5.2018 11:10
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
 
Odpovědět
31.5.2018 11:13
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Matěj Švéda
DarkCoder:31.5.2018 11:51

Doplním a upřesním, neboť si smíchal dohromady dvě konstrukce.

Uvedený příklad je v pořádku, klíčové slovo return s návratovou hodnotou se vztahuje k funkci main() a nikoli k jiné funkci. Návratová hodnota funkce main() již zde byla vysvětlena v předešlém příspěvku. Proměnnou bys vracel v případě vlastních funkcí, popřípadě z funkcí ze standardní knihovny jazyka C. Tak například funkce sum() vracející výsledek součtu dvou celočíselných argumentů.

int sum(int a, int b){
   int c;
   c = a + b;
   return c;
}

Zde vracíš proměnnou a nikoli nulu. To je to co si někde viděl, že funkce vracející hodnotu může vracet proměnnou, která představuje výsledek daného úkonu.

Funkci lze samozřejmě zjednodušit, není zapotřebí proměnné. Vracet mohu přímo výsledek výrazu.

int sum(int a, int b){
   return (a+b);
}

Nyní by Ti měl být jasný rozdíl mezi vrácením nuly (korektní ukončení funkce main()) a proměnné (výsledek úkonu funkce vracející hodnotu).

Odpovědět
31.5.2018 11:51
"„Učíš-li se proto, aby sis zapamatoval, zapomeneš. Učíš-li se proto, abys porozuměl, zapamatuješ si."
Avatar
Daniel Szabo
Člen
Avatar
Daniel Szabo:2.6.2018 8:46

Děkuji za ty to informace. Které mate na tomto webu.

Odpovědět
2.6.2018 8:46
Make an mistake learn from it and rise up.
Avatar
Milan Stoklásek:6.6.2018 22:08

Díky moc za tento web a vše. Člověk má šanci vrátit se ke svým snům a mít se lépe ;-)

 
Odpovědět
6.6.2018 22:08
Avatar
Jiří Malý
Člen
Avatar
Jiří Malý:13.7.2018 13:21

Děkuji za článek, díky těmto stránkám a vám všem jsem se do toho opět spustil.

 
Odpovědět
13.7.2018 13:21
Avatar
snowxxaaa
Člen
Avatar
snowxxaaa:24.7.2018 12:10

Díky

 
Odpovědět
24.7.2018 12:10
Avatar
Daniel Bajaja:13.10.2018 22:20

Děkuji mnohokrát za pěkný úvod. Jsem úplný začátečník a musím říct, že moje nadšení díky tvojí práci vzrůstá.

Tento příspěvek píši až po absolvování druhé lekce a schválně jej dávám za lekci první.
Dalo mi totiž chvíli práce odlišit si (v hlavě) rozdíl mezi kódem strojovým a zdrojovým.
Pro pomaleji chápající jako jsem já bych tedy rád za sebe doplnil, že strojový kód je hatmatilka pro procesor - 01010101011101101 atd.

  • a kód zdrojový je zápis programátora v příslušném jazyce.

Omlouvám se jestli někomu přijde můj komentář zbytečný. Mě to na chvíli zpomalilo.

Good luck.

 
Odpovědět
13.10.2018 22:20
Avatar
Tomas Gorcos
Člen
Avatar
Tomas Gorcos:3.1.2019 21:36

Palec hore. Čital som v poslednej dobe viacero článkov / lekcií / úvodov do sveta programovania, ale žiadna ma neupútala viac ako táto lekcia. Niečo som už namrkol dopredu a už sa tešim na svoj certifikát :)

 
Odpovědět
3.1.2019 21:36
Avatar
Marcel Dauth
Člen
Avatar
Marcel Dauth:9.2.2019 15:22

Super podání. Myslím, že je důležité to co je napsané a ne představy vyvolané čteným - jakoby slyšeným. Jakmile jsem to zvládl, šlo to lépe.

 
Odpovědět
9.2.2019 15:22
Avatar
jiri.semota
Člen
Avatar
jiri.semota:11.2.2019 23:11

Super článek.Díky

 
Odpovědět
11.2.2019 23:11
Avatar
Martin Kubelka:24.2.2019 22:10

Zajímavý článek..... Zatím se chytám, tak uvidím jak to bude pokračovat.

 
Odpovědět
24.2.2019 22:10
Avatar
jirsu.01
Člen
Avatar
jirsu.01:16.3.2019 11:10

Ahoj, nenašel jsem žádný kontakt na admina, tak se zeptám zde. Když chci koupit výhodný balíček vyskočí na mě hláška "Opravdu si přeješ koupit všechny články tohoto kurzu za své body?" mám jich jen 10 a když dám ano už mě to nepřesměruje ke koupit toho balíčku na 98 bodů za 140kč. Jak je tedy možné ten balíček koupit?

Editováno 16.3.2019 11:11
 
Odpovědět
16.3.2019 11:10
Avatar
pocitac770
Redaktor
Avatar
Avatar
Leona Koubková:21.4.2019 12:50

Ahoj, moc díky za tyto stránky. Začínám s Javou a tyto stránky mi moc pomáhají k aktuálnímu kurzu. Škoda jen, že času není nazbyt :)

 
Odpovědět
21.4.2019 12:50
Avatar
Tomáš Havránek :7.6.2019 21:35

Prosím o radu, rad bych se ve finále naučil programovat v Jave, ale nemám základy prakticky ani HTML, počítám, ze bych měl začít s HTML nebo získávat základy současné s Javou? Díky za rady

 
Odpovědět
7.6.2019 21:35
Avatar
Jindřich Máca
Redaktor
Avatar
Odpovídá na Tomáš Havránek
Jindřich Máca:7.6.2019 22:29

Ahoj, to se ve výsledku hodně odvíjí od toho, jaký druh softwaru chceš programovat, např. webové, mobilní nebo desktopové aplikace. Každopádně Javu se můžeš učit klidně i bez jakékoliv znalosti HTML nebo to naopak klidně zkombinovat. Pro lepší orientaci bych na začátek doporučil přečíst si tento zdejší článek https://www.itnetwork.cz/…ce-programy/ ;-)

 
Odpovědět
7.6.2019 22:29
Avatar
Marcel Mares
Člen
Avatar
Marcel Mares:20.8.2019 1:49

vše skvěle napsáno a vysvětleno, včetně struktury celého webového portálu ITNETWORK

 
Odpovědět
20.8.2019 1:49
Avatar
Tomáš Weiter:27.10.2019 9:42

Skvela uvodni lekce.

 
Odpovědět
27.10.2019 9:42
Avatar
Zdeněk Gyapjaš:23.11.2019 22:48

Ahoj, moc děkuji pro začátek , za krásně napsanou úvodní lekci, myslím si, že máte vás web i samotné školení opravdu, hezky zpracované, těším se, až budu pokračovat do dalších lekcí, a postupně se zdokonalovat.

 
Odpovědět
23.11.2019 22:48
Avatar
Rateo
Člen
Avatar
Rateo:26.11.2019 0:31

Super práce, díky.

 
Odpovědět
26.11.2019 0:31
Avatar
Luděk Mareda:4.12.2019 11:48

jsem zmaten, jsem zvědavý jak to pujde dál. No prostě amater

 
Odpovědět
4.12.2019 11:48
Avatar
Igor Hrabě
Člen
Avatar
Igor Hrabě:13. března 17:05

Ahoj, snažím se naučit programovat, článek je přehledný, srozumitelný ... jdu do toho :-). Děkuji

 
Odpovědět
13. března 17:05
Avatar
Lukáš Kučavík:3. července 14:36

Díky za úvodní lekci! Dobrá práce!

 
Odpovědět
3. července 14:36
Avatar
Tomáš Gardavský:11. srpna 17:58

Pohoda.

Odpovědět
11. srpna 17:58
Nikdy se nevzdávejte! Nikdy! Nikdy! Nikdy!
Avatar
Pavla Mikušová:13. srpna 22:46

První lekce byla krásně (jednoduše) vysvětlena, což jako laik velmi vítám. Po jejím přečtení a dalších článků jsem se utvrdila v tom, že itnetwork byla dobrá volba! Díky.

 
Odpovědět
13. srpna 22:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 77 zpráv z 77.