Programovanie (2) v Jave
1-INF-166, letný semester 2023/24

Prednášky · Pravidlá · Softvér · Testovač
· Vyučujúcich predmetu možno kontaktovať mailom na adresách uvedených na hlavnej stránke. Hromadná mailová adresa zo zimného semestra v letnom semestri nefunguje.
· JavaFX: cesta k adresáru lib je v počítačových učebniach /usr/share/openjfx/lib.


Letný semester, softvér

Z Programovanie
Skočit na navigaci Skočit na vyhledávání

Pre účely tohto predmetu budeme potrebovať nasledujúci softvér:

  • Java SE Development Kit 15 (stačí ľubovoľná verzia od 11 vyššie); pod Linuxom možno použiť aj balíky openjdk.
  • Platformu JavaFX 15 (na stránke ako „Latest Release”, ale opäť by mala stačiť aj verzia 11) pre vývoj aplikácií s grafickým používateľským rozhraním.
  • Vývojové prostredie IntelliJ IDEA Community Edition 3.2, prípadne vhodnú alternatívu ako napríklad Eclipse alebo Visual Studio Code.

Odporúčame pracovať vo vývojom prostredí, avšak je dôležité naučiť sa kompilovať a spúšťať programy aj z príkazového riadku (minimálne za účelom riešenia rôznych problémov).

Inštalácia softvéru

  • Stiahnite si Java SE Development Kit 15 odtiaľto a postupujte podľa inštalačných pokynov.
  • Zistite, či inštalácia správne pridala adresár obsahujúci javovský kompilátor a interpreter do systémovej premennej PATH. V prípade úspechu by napríklad nasledujúce príkazy zadané do príkazového riadku mali vypísať verziu javovského kompilátora resp. interpretra zhodnú s nainštalovanou verziou Javy.
javac --version
java --version
  • V prípade, že tieto príkazy nefungujú, alebo sa vypísala stará verzia Javy, pridajte adresár obsahujúci programy javac a java do systémovej premennej PATH manuálne (a prípadný adresár starej verzie Javy odtiaľ odoberte).
  • Stiahnite si ZIP archív s JavaFX odtiaľto (pre najnovšiu verziu Javy odporúčame „Latest Release”, čiže verziu 15) a rozbaľte ho do vhodného priečinka. Žiadne ďalšie úkony nie sú v rámci inštalácie JavaFX nutné, ale zapamätajte si adresu podadresára lib, keďže ju neskôr budete potrebovať. Nižšie v tomto texte budeme na túto cestu odkazovať ako na <cesta k lib>.
  • Stiahnite si IntelliJ IDEA Community Edition 3.2 odtiaľto a postupujte podľa inštalačných pokynov.
  • IntelliJ by mal automaticky rozoznať nainštalovanú verziu Javy. V prípade, že sa tak neudeje, pridajte ju manuálne podľa pokynov tu.

Skompilovanie a spustenie programu v Jave

Tento oddiel opisuje proces skompilovania a spustenia javovskej triedy Hello vypisujúcej na konzolu text Hello, World! v dvoch variantoch:

  • V prvom je trieda Hello súčasťou nepomenovaného balíka.
  • V druhom je trieda Hello súčasťou balíka somepackage.

Z príkazového riadku

Uvažujme najprv prípad, keď je trieda Hello súčasťou nepomenovaného balíka, t.j. jej zdrojový kód vyzerá nasledovne.

public class Hello {

    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }

}
  • Trieda Hello musí byť uložená v súbore Hello.java (názov súboru bez prípony .java sa musí zhodovať s názvom triedy).

Postup skompilovania a spustenia triedy Hello z príkazového riadku je potom nasledovný:

  1. V príkazovom riadku sa nastavíme do priečinka obsahujúceho súbor Hello.java.
  2. Triedu skompilujeme príkazom javac Hello.java, v dôsledku čoho by mal v rovnakom priečinku vzniknúť súbor Hello.class spustiteľný na JVM.
  3. Triedu Hello spustíme príkazom java Hello (prípadné argumenty môžeme triede Hello zadávať obvyklým spôsobom).
Pozor: kým pri volaní kompilátora javac je potrebné uviesť aj príponu kompilovaného súboru .java, pri volaní interpretra java príponu spúšťanej triedy .class nepíšeme (kým argumentom kompilátora je bežná cesta k súboru, argumentom interpretra je tzv. classpath danej triedy).

Ďalej uvažujme prípad, keď je trieda Hello súčasťou balíka somepackage a jej kód tak vyzerá nasledovne.

package somepackage;

public class Hello {

    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }

}
  • V tomto prípade by mala byť trieda Hello opäť uložená v súbore Hello.java, ktorý by mal navyše byť uložený v priečinku somepackage.

Skompilovanie a spustenie triedy Hello – alebo presnejšie somepackage.Hello – z príkazového riadku realizujeme nasledovne:

  1. Nastavíme sa do priečinka obsahujúceho priečinok somepackage.
  2. Triedu skompilujeme príkazom javac somepackage/Hello.java (s príponou).
  3. Triedu spustíme príkazom java somepackage.Hello (ide o tzv. classpath triedy Hello).

V IntelliJ IDEA

Skompilovanie a spustenie programu v JavaFX

Z príkazového riadku

V IntelliJ IDEA