Programovanie (1) v C/C++
1-INF-127, ZS 2024/25
Letný semester, softvér
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).
Obsah
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ý:
- V príkazovom riadku sa nastavíme do priečinka obsahujúceho súbor Hello.java.
- 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.
- 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:
- Nastavíme sa do priečinka obsahujúceho priečinok somepackage.
- Triedu skompilujeme príkazom javac somepackage/Hello.java (s príponou).
- Triedu spustíme príkazom java somepackage.Hello (ide o tzv. classpath triedy Hello).