1. Treści
programowe:
Kompilacja
i uruchamianie programu w Javie, struktura programu, operatory, deklaracja miennych, instrukcje warunkowe if-else
i switch-case, pętle for i while.
2. Cel zajęć:
Praktyczne
zaznajomienie ze środowiskiem programistycznym Java SE – IntelliJ
Idea. Opanowanie umiejętności kompilacji i uruchamiania programu z wiersza
poleceń systemu Windows lub konsoli systemu Linux oraz z poziomu interfejsu
użytkownika środowiska IntelliJ Idea.
Zapoznanie
ze strukturą programu, zmiennymi, instrukcjami warunkowymi pętlami oraz
operatorami w języku Java.
3. Materiały
dydaktyczne
Wersje Javy
LTS Java (Long-Term Support)
to wersje Javy, które otrzymują
przedłużone wsparcie techniczne, co oznacza, że są one wspierane poprawkami
bezpieczeństwa i błędów przez dłuższy czas w porównaniu do wersji
standardowych. Wersje LTS są przeznaczone głównie do zastosowań korporacyjnych,
ponieważ zapewniają większą stabilność i przewidywalność. Przykłady wersji LTS
to Java 8, 11, 17 i 21.
· JDK (Java Development Kit)
JDK to zestaw narzędzi deweloperskich, niezbędny do
tworzenia aplikacji w Javie. Chociaż jego funkcjonalność jest w dużej mierze
identyczna, występuje w dwóch głównych wersjach:
W praktyce, dla większości deweloperów i projektów,
funkcjonalności obu wersji są takie same. Główna różnica leży w licencji,
wsparciu technicznym i modelu wydawniczym.
JDK to zestaw narzędzi deweloperskich, który jest
niezbędny do pisania, kompilowania, debugowania i uruchamiania kodu Javy.
Składa się z:
Innymi słowy, JDK to
kompletny zestaw, który pozwala na pisanie i uruchamianie programów w Javie.
SDK to Software Development
Kit, czyli ogólna nazwa dla zestawu narzędzi do tworzenia oprogramowania w
danym języku lub na danej platformie.
·
Środowisko
programistyczne - IntelliJ IDEA
IntelliJ IDEA
to jedno z najpopularniejszych i najbardziej
zaawansowanych zintegrowanych środowisk programistycznych (IDE) do
tworzenia aplikacji w Javie. Zostało stworzone przez firmę JetBrains.
Jest cenione przez programistów za swoje inteligentne funkcje, które znacząco
zwiększają produktywność.
Najważniejsze cechy IntelliJ
IDEA to:
·
Struktura
programu:

§ class NazwaKlasy: Definiuje nową klasę o nazwie NazwaKlasy.
W Javie cały kod musi znajdować się wewnątrz klas.
§ public static void main(String[] args): Jest to główna metoda
(ang. main method),
która stanowi punkt startowy dla każdego programu w Javie.
§ public: Modyfikator dostępu,
który oznacza, że metoda jest publicznie dostępna z dowolnego miejsca (wyjaśnienie
w kolejnych instrukcjach).
§ static: Oznacza, że metoda należy do klasy, a nie do
konkretnego obiektu tej klasy. Można ją wywołać bez tworzenia instancji klasy (wyjaśnienie
w kolejnych instrukcjach).
§ void: Wskazuje, że metoda nie zwraca żadnej wartości (wyjaśnienie
w kolejnych instrukcjach).
§ main: Standardowa nazwa metody, rozpoznawana przez
maszynę wirtualną Javy jako punkt startowy.
§ (String[] args): Tablica argumentów wiersza poleceń, które można
przekazać do programu podczas jego uruchamiania.
§ kod programu:
W tym miejscu należy umieścić swój kod, który ma być wykonany po uruchomieniu
programu.
Nazwa klasy musi być taka sama
jak plik, w którym jest zapiana z rozszerzeniem
.java
W powyższym przykładzie będzie to plik NazwaKlasy.java.
Dobrym zwyczajem jest aby każdą klasę
tworzyć w nowym pliku.
§ Pobieranie danych z klawiatury
System.out.println("Hello
World");

§ Kompilacja i uruchamianie programu w javie
Kompilacja
programu z kodu źródłowego (tekst) do bcod-u (kodu pośredniego).
javac NazwaPliku.java
Powstaje plik o tej samej
nazwie z rozszerzeniem .class
Uruchamianie programu
(drugi proces kompilacji) z pliku z rozszerzeniem .class,
którego jawnie nie wpisujemy, np.:
java NazwaPliku
· Komentarz
// -
komentarz (tekst umieszczony po znaku komentarza jest ignorowany przez
kompilator).
/* tekst */ - tekst pomiędzy znakami: /* i
*/ jest traktowany jako komentarz.
Pozwala wyłączać wiele linii kodu programu.
W środowisku IntelliJ Idea zaznaczoną linie możemy zakomentoweć
używając skrót klawiszy ctrl + /
·
Deklaracja zmiennych i typy danych
W tradycyjnym podejściu musisz jawnie podać typ danych:
![]()
Przykład:
Rodzaje
i zakres typów całkowitoliczbowych i zmiennoprzecinkowych (typy podstawowe):
Typ
|
Liczba
bitów
|
Liczba
bajtów |
Zakres |
|
|
od |
do
|
|||
|
byte
|
8 |
1 |
-128 |
127 |
|
short
|
16 |
2 |
-32 768 |
32 767 |
|
int |
32 |
4 |
-2 147
483 648 |
2 147
483 647 |
|
long |
64 |
8 |
-9 223 372
036 854 775 808 |
9 223 372
036 854 775 807 |
|
char |
16 |
2 |
Znaki Unicode |
|
|
float |
32 |
4 |
-3,4e38 |
4,4e38 |
|
double |
64 |
8 |
-1,8e308 |
1,8e308 |
|
boolean |
Zmienna przyjmuje dwie wartości
: prawda – true, fałsz
– false |
|||
String – jest obiektem (a nie
podstawowym typem danych) pozwalającym przechowywać ciągi znaków. Jawne tworzenie nowego obiektu nie jest
konieczne (jak to ma miejsce z innymi obiektami). Zmienną typu String możemy
deklarować jak zmienną typu podstawowego, np.:
String tekst=”PANS Krosno”;
Operator + łączy
łańcuchy, obiekty i zmienne w jeden łańcuch.
Operator +=
dołącza nowe elementy do końca
łańcucha.
|
Operator |
Znaczenie |
Przykład |
|
+ |
dodawanie |
4+5 |
|
- |
odejmowanie |
6-3 |
|
* |
mnożenie
|
5*5 |
|
/ |
dzielenie |
21/3 |
|
% |
dzielenie
modulo |
20%7 |
|
Argument 1 |
Operator |
Argument 2 |
Znaczenie |
|
x |
= |
y |
x = y |
|
x |
+= |
y |
x = x+y |
|
x |
-= |
y |
x = x-y |
|
x |
*= |
y |
x = x*y |
|
x |
/= |
y |
x = x/y |
|
x |
%= |
y |
x = x%y |
|
Operator |
Znaczenie
|
Przykład |
|
=
= |
równe
|
x == 4 |
|
!
= |
nie
równe (różne) |
x != 4 |
|
< |
mniejsze
niż |
x < 3 |
|
> |
większe
niż |
x > 3 |
|
<= |
mniejsze
lub równe |
x <= 3 |
|
>= |
większe
lub równe |
x >= 3 |
|
Operator |
Rodzaj
działania |
|
|| |
OR (lub) |
|
&& |
AND (i) |
|
^ |
XOR |
|
! |
zaprzeczenie |
warunek ? wartość1 : wartość2 przykład:
a=(b==1 ? 10 : 20);
Inkrementacja i dekrementacja
x++ inkrementacja
zmiennej x (zwiększenie wartości zmiennej x o jeden), znaczy to samo co x=x+1;
x -- dekrementacja
zmiennej x (zmniejsza wartość zmiennej x o jeden), znaczy to samo co x=x-1;
·
Instrukcje warunkowe
Instrukcja if wykonuje blok kodu tylko wtedy, gdy określony warunek
jest prawdziwy.

Instrukcja if-else pozwala
na wykonanie jednego bloku kodu, jeśli warunek jest prawdziwy (if), lub innego bloku, jeśli warunek jest fałszywy (else).

Instrukcja switch-case służy
do wyboru jednego z wielu bloków kodu do wykonania. Porównuje wartość zmiennej
z różnymi etykietami (case). Po znalezieniu
dopasowania, wykonuje kod od tego miejsca. Instrukcja break
jest używana do wyjścia z bloku switch, a default to opcjonalna etykieta dla kodu, który ma
być wykonany, gdy żadna z etykiet case nie
pasuje.

Switch z operatorem -> (Switch Expressions)
Ten format jest zwięźlejszy i eliminuje potrzebę używania
instrukcji break, co zmniejsza ryzyko błędów. W
wyrażeniach switch, każda etykieta case przypisuje wartość bezpośrednio, co sprawia, że kod
jest bardziej przejrzysty.

·
Pętle
Pętla for jest
idealna, gdy z góry wiadomo, ile razy ma zostać wykonany dany kod. Składa się z
trzech części:

Pętla for-each (Enhanced for loop) jest
uproszczoną wersją pętli for, służącą do iteracji po elementach kolekcji (np.
tablic lub list). Jest bardziej czytelna i bezpieczniejsza, ponieważ eliminuje
błędy związane z indeksowaniem.

Pętla while wykonuje
blok kodu tak długo, jak długo warunek jest prawdziwy. Warunek jest sprawdzany
przed każdym wejściem do pętli, co oznacza, że kod może w ogóle się nie
wykonać, jeśli początkowy warunek jest fałszywy.

Pętla do-while podobna
do pętli while, z tą różnicą, że kod w pętli
wykonuje się co najmniej raz, zanim warunek zostanie sprawdzony. Warunek
jest testowany na końcu każdego obiegu.

4. Zadania
Zadanie
1:
Historia Bohatera w Javie
Utwórz
program, który opowie krótką historię, wykorzystując zmienne różnych typów.
Stwórz krótką historię,
używając powyższych zmiennych w metodzie main.
Wykorzystaj do tego System.out.println(). Zadbaj o
to, aby historia była spójna i zawierała wszystkie zmienne.
Zadanie
2:
Silnia
Napisz program o nazwie „Silnia” obliczający silnię liczby n.
Wartość zmiennej n pobierz z klawiatury.
Zadanie
3:
Liczby
Napisz program o nazwie „Liczby”, który obliczy i wyświetli sumę
wszystkich liczb parzystych oraz sumę wszystkich liczb nieparzystych w zadanym
zakresie. Zakres podaj z klawiatury.
Zadanie
4:
Pole powierzchni kuli
Napisz program o nazwie „Pole” obliczający pole powierzchni kuli.
Wartość promienia wpisz z klawiatury.
Zadanie
5 :
Pierwiastki równania kwadratowego
Napisz program obliczający pierwiastki równania kwadratowego
wykorzystując operacje arytmetyczne oraz instrukcję warunkowe if ... else.
Parametry podaj bezpośrednio w kodzie programu.
Zadanie 6 : Kalkulator ocen semestralnych
Napisz program, który symuluje prosty kalkulator ocen. Program
powinien poprosić użytkownika o wprowadzenie liczby ocen, a następnie, w pętli
for, prosić o podanie każdej z nich. Oblicz średnią ocen oraz użyj instrukcji switch (z operatorem ->), aby wyświetlić jej słowny opis
(np. 5 = "bardzo dobry", 4 = "dobry" itd.).