Java - programovací jazyk

Java je objektově orientovaný programovací jazyk vyvinutý 23.5. 1995 firmou Sun Microsystems. Jazyk se stal jedním z nejpoužívanějších na světě. Oficiálním vlastníkem implementace platformy jazyka je Oracle. Java je dostupná pro operační systémy mac OS, Windows, Solaris.

Vývoj

  • 1991 - vývoj započal již v roce 1991. Na projektu zvaném Stealth Project (Tajný projekt) pracovali James Gosling, Bill Jay a Mike Sheridan. Cílem projektu bylo vytvoření systému pro domácí spotřebiče. Během projektu se stal vedoucím týmu James Gosling a projekt byl přejmenován na Green Project a tým vývojářů na Green Team. Zprvu byl pro vývoj používán programovací jazyk C++, ale ukázal se jako nevhodný a proto James Gosling začal vytvářet vlastní programovací jazyk pro své potřeby. Pojmenoval ho Oak (dub - podle stromu, který rostl pod oknem jeho kanceláře).
  • 1995 - V tomto roce byl jazyk přejmenován na Java (slangový výraz pro kávu).
  • 1996 - Vyšla první oficiální verze JDK 1.0 (Java Development Kit).
  • 1997 - Verze JDK 1.1, nově byla přidána podpora vnořených tříd, reflexe a Unicode verze 2.0 (technická norma definující jednotnou znakovou sadu). Přidané nové Java Beans (třídy v programovacím jazyku Java), JDBC (Java Database Connectivity - API pro programátory v programovacím jazyku Java, které definuje jednotné rozhraní pro přístup k relačním databázím), Java RMI (Java remote method invocation - technologie programovacího jazyka Java umožňující z jednoho virtuálního stroje volat metody objektů na jiném virtuálním stroji, který obvykle běží na jiném počítači), rozšíření AWT (The Abstract Window Toolkit - grafika a uživatelské rozhraní), JIT (Just-in-time kompilace - metoda překladu využívající různé techniky pro urychlení běhu programů přeložených do mezikódu) a kompilátor pro MS Windows.
  • 1998 - J2SE 1.2 (Java 2 Platform, Standard Edition) s kódovým označením Playground. Složí k odlišení základní platformy od J2EE (Java 2 Platform, Enterprise Edition) a J2ME (Java 2 Platform, Micro Edition). Nově přidána podpora Unicode pro japonštinu, čínštinu a korejský jazyk.
  • 2000 - J2SE 1.3 s kódovým označením Kestrel (poštolka).
  • 2002 - J2SE 1.4
  • 2004 -' J2SE 5.0. Java 1.5 se správně jmenuje 5.0, obsahuje mnoho změn včetně anotace umožňující vkládat do kódu neovlivňující data popisující nějakou část kódu (poznámky).
  • 2006 - Java SE 6, změna indexace, místo 6.0 je pouze 6. Další změny byly provedeny pomocí aktualizací.
  • 2011 - Java SE 7
  • 2014 - Java SE 8, přidány prvky funkcionálního programování (proudové zpracování dat atd.)
  • 2017 - Java SE 9, nově projekt Jigsaw a podpora pro reaktivní programování.
  • březen 2018 - Java SE 10, typová inferace lokálních proměnných, nové rozhraní pro garbage collector.
  • září 2018 - Java SE 11
  • 2019 - Java SE 12

Během vývoje bylo dodržováno 5 zásadních pravidel:

  • 1. jednoduchost, objektově orientované, povědomé.
  • 2. robustní a bezpečné
  • 3. nezávislé na architektuře a přenositelné
  • 4. výkonné
  • 5. interpretované, vícevláknové a dynamické

Vlastnosti

  • Jednoduchá syntaxe - syntaxe je přejatou a zjednodušenou verzí syntaxe jazyků C a C++.
  • OO - Objektově orientovaný jazyk
  • Distribuovaný jazyk
  • Interpretovaný jazyk - místo strojového kódu se vytváří pouze tzv. bajtkód (byte code), což je snadno přenositelný kód. Znamená to, že je možné ho přenést na jakoukoliv platformu, je nutné ve vybraném prostředí, kde chceme aplikaci spustit pouze nainstalovat běhové prostředí (run-time - skupina software pro podporu realizace počítačových programů napsaných v některých z programovacích jazyků), pro spuštění bajtkódu. V tomto případě myslíme běhovým prostředím Java Virtual Machine, které je třeba na zařízení instalovat. Java je tedy nezávislá na architektuře pc a nebo zařízení.
  • Robustní - jazyk je určen pro psaní velice spolehlivého software, neumožňuje vytvořit konstrukce, které by mohli být, a často jsou v jiných jazycích, příčinou chyb ve výsledném programu.
  • Generační správa paměti - automaticky vyhledává části paměti, které se nevyužívají a uvolňuje ji pro další použití.
  • Bezpečný - automaticky chrání pc před v síťovém prostředí před nebezpečnými operacemi nebo napadením OS nepřátelským kódem.
  • Přenositelný - jazyk je nezávislý i na datových typech.
  • Výkonný - je rychlý i přesto, že je interpretovatelný, jelikož neztrácí výkon. To vše díky tomu, že překladače kódu mohou pracovat v režimu just in time a do strojového kódu se zrovna překládá jen ten kód, který je v tu chvíli opravdu zapotřebí.
  • Víceúlohový - podporuje zpracování víceúčelových aplikací
  • Dynamický - knihovna může být za chodu stále vyvíjena a obohacována o další třídy a funkce.
  • Elegantní - dobře se v něm pracuje a je hezky čitelný.

Objektově orientované programování (OOP)

Základním prvkem OOP v Javě je Objekt, přitom každý objekt má vlastnosti (proměnné) a možnost poslat zprávy (metody). Každá proměnná a metoda má definovaná přístupová práva (v Javě 4 úrovňová).

OOP elementy v Javě

  • Třída - definuje metody a proměnné s danými přístupovými právy.
  • Objekt - instance třídy.
  • Interface - stejně jako třída definuje metody, ale nemají implementaci.

Každá třída může mít rodičovskou třídu a implementovat 0 až n interfaců.

Objekt

Každý objekt se skládá z kombinace dat (vlastností) a chování (metody). Vlastnosti jsou proměnnými, které určují základní charakteristiky objektu. Metody pak popisují, jak se objekt chová a jak může být modifikován. Objekt je tedy prvek softwaru, který se skládá z proměnných a s nimi spojených metod.[1]

Datové typy

  • Primitivní: Boolean (TRUE, FALSE), char (jeden znak z řady znaků)
  • Numerické: byte, short, int (inetger = celé číslo), long, float (reálné číslo), double (reálné číslo zdvojené)
  • Referenční: referenční, jelikož se s nimi pracuje za pomoci referencí (odkazů). Jde o neprimitivní datové typy - objekty a pole.

př.:
objekt - string (řetězec, typ pro text)
pole - array (vektor například)

Java je přísně typový jazyk - tzn. je nutné před každou nově vytvořenou proměnnou jasně definovat o jaký datový typ se jedná.

příklad: převod int na boolean a obráceně

Java.png

Syntaxe

  • Základní operátory: + ; - ; * ; / ; %
  • Relační operátory: > ; < ; >= ; <=
  • Operátory rovnosti: == (ekvivalence); != (nerovná se); = (přiřazení)
  • Logické operátory: && (AND); || (OR); ! (NOT)

Inkerementace a dekrementace

Unární operátor inkrementace zvyšuje hodnotu uloženou v proměnné o 1. Jde o operátor ++. Unární operátor dekrementace snižuje hodnotu uloženou v proměnné o 1. Jde o operátor -.

Java inkrementace.png


Zdroje

Použitá literatura

Reference

odkazy

Klíčová slova

Java, objektově orientované programování, objekt, OOP, programování, programovací jazyk, element, třídy, datové typy,