Obraz zawierający tekst, Czcionka, Grafika

Opis wygenerowany automatycznie 

Kierunek Informatyka

 

Instrukcja do ćwiczeń laboratoryjnych nr:

1

Nazwa przedmiotu:
Programowanie w języku Java

Temat: Wprowadzenie do programowania w języku Java

Tryb studiów: stacjonarne

Czas trwanie ćw.

2x45 min

Autor materiałów: dr Marcin Skuba

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:

 

Obraz zawierający tekst, Czcionka, zrzut ekranu

Zawartość wygenerowana przez AI może być niepoprawna.

§  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");

 

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

§  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:

Obraz zawierający tekst, Czcionka, zrzut ekranu, czarne

Zawartość wygenerowana przez AI może być niepoprawna.

Przykład:

Obraz zawierający Czcionka, tekst, zrzut ekranu, Grafika

Zawartość wygenerowana przez AI może być niepoprawna.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.

 

Deklaracja z var

Słowo kluczowe var zostało wprowadzone w Javie 10. Pozwala kompilatorowi na automatyczne wywnioskowanie typu zmiennej na podstawie wartości, którą jej przypisujesz.

Zasady użycia var:

·       Zmienna musi być od razu zainicjalizowana. Bez wartości początkowej kompilator nie wie, jakiego typu ma być zmienna.

·       var może być używane tylko do deklaracji zmiennych lokalnych (wewnątrz metod).

 

 

Operatory arytmetyczne

Operator

Znaczenie

Przykład

+

dodawanie

4+5

-

odejmowanie

6-3

*

mnożenie

5*5

/

dzielenie

21/3

%

dzielenie modulo

20%7

 

Operatory przypisania

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

 

Operatory porównania

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

 

Operatory logiczne

Operator

Rodzaj działania

||

OR (lub)

&&

AND (i)

^

XOR

!

zaprzeczenie

 

Operator warunkowy ?

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).

 

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

 

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.

 

Obraz zawierający tekst, zrzut ekranu

Zawartość wygenerowana przez AI może być niepoprawna.

 

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.

 

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

·       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:

  1. inicjalizacja (wykonuje się raz na początku pętli),
  2. warunek (sprawdzany przed każdym obiegiem pętli),
  3. inkrementacja/dekrementacja (wykonuje się po każdym obiegu pętli).

 

Obraz zawierający tekst, Czcionka, zrzut ekranu

Zawartość wygenerowana przez AI może być niepoprawna.

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.

 

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

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.

 

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

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.

 

Obraz zawierający tekst, zrzut ekranu, Czcionka

Zawartość wygenerowana przez AI może być niepoprawna.

 

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.).