Back to Top
 
 

Operacje arytmetyczne

Jak już wiemy, istnieje liczbowy typ zmiennych. Możemy dzięki temu wykonywać różne działania matematyczne, stosując odpowiednie operatory arytmetyczne:

  • dodawanie (znak plusa: „+”)
  • odejmowanie (myślnik: „-”)
  • mnożenie (gwiazdka: „*”)
  • dzielenie (ukośnik: „/”)
  • modulo (procent: „%”)

Być może nowością jest dla Ciebie operacja modulo, która zwraca resztę z dzielenia.

To tak jakbyśmy wykonywali dzielenie, ale nie interesuje nas wynik dzielenia, tylko to czy zostanie z niego jakaś reszta.

 

Na przykład: 7 % 2 (siedem modulo dwa) zwróci 1.

Rozpiszmy krok po kroku dlaczego tak się stało:

7%2 = 3 * 2 + 1;

W siódemce mieszczą się trzy dwójki i zostaje jeden reszty. Ta reszta to właśnie wynik operacji modulo.

 

Jeśli potrzebujemy wykonać obliczenia, to nie musimy obliczać nic sami – Java zrobi to za nas. Musimy jedynie nauczyć się podawać dane, na których chcemy wykonać jakąś operację.

Zatem jeśli chcemy wykonać operację arytmetyczną na dwóch liczbach – deklarujemy dwie zmienne, którym nadajemy określoną wartość, a wynik dodawania przypisujemy do trzeciej zmiennej, którą później możemy wyświetlić na ekranie, w znany już nam sposób.

Zobacz przykład operacji arytmetycznych:

Instrukcje warunkowe

Czasami chcemy, aby jakaś operacja wykonała się dopiero, gdy zostaną spełnione określone warunki. Np. dostęp do pewnych treści na Facebooku możesz mieć tylko jeśli jesteś zalogowany. Do Ameryki możesz pojechać tylko, jeśli masz odpowiedni dokument.

W Javie do stawiania warunków służą instrukcje sterujące. W tym kontekście mówi się też o „kontroli przepływu programu” - my decydujemy kiedy i jakie czynności program ma wykonać. W zależności od zapisanych warunków, program „dobiera” instrukcję działania.

Nie sposób pominąć tu operatory logiczne, które wykorzystuje się często w instrukcjach warunkowych. Poniżej ich lista:

==                równe
> większe niż
>=  większe równe
< mniejsze niż
<= mniejsze równe

Warunek może być spełniony lub nie – oznaczamy to zmienną o typie boolean, którą ustawiamy na true lub false.

Najprostszy warunek, jaki możemy wymyślić to jeden if oraz instrukcje do wykonania po nim:

 

Oto przykład:

if (warunek == true) {
	// instrukcje
}

Zobacz przykład instrukcji warunkowej:

Czyli jeśli warunek jest spełniony, program ma wykonać pewne czynności. Ale jeżeli warunek nie będzie spełniony, to program nic nie zrobi. Możemy nieco bardziej skomplikować nasz przykład i powiedzieć co ma się stać, jeśli warunek nie zachodzi. Możemy łatwo to osiągnąć, dodając klauzulę else – czyli instrukcje do wykonania w przypadku, jeśli warunek nie został spełniony. Wtedy napiszemy:

if (warunek == true) {
   	   // instrukcje
     } else {
        // instrukcje
     }

Zobacz drugi przykład:

Mamy także możliwość sprawdzenia większej liczby warunków – służy do tego konstrukcja if-else if-else.

 

Oto przykład:

if(warunek == true) {
        // instrukcje
     } else if (warunek == true) {
         // instrukcje
     } else {
         // instrukcje
     }

Prześledźmy co się dzieje:

  • if (warunek == true) {...} – zadajemy pytanie, czy spełniony został warunek podany w nawiasie. Jeśli tak (wynik jest „true”), wykonują się instrukcje zapisane w nawiasach klamrowych. Jeśli nie – program omija instrukcje i idzie dalej.

  • else if (warunek == true) {...} – jeśli pierwszy warunek dał wynik „false”, przechodzimy do kolejnego. Tu sprawdzamy inny warunek – i tak samo – jeśli jest „true”, wykonają się instrukcje w nawiasach klamrowych, jeśli nie, program przechodzi dalej.

  • else {...} – jeśli natomiast żaden z zapisanych wcześniej warunków nie został spełniony, wykonają się instrukcje zapisane po „else”.

Popatrzmy jak to działa w praktyce. Załóżmy, że chcemy wyświetlić użytkownikowi komunikat czy coś wygrał w losowaniu LOTTO. Dla ułatwienia załóżmy, że tylko “piątka” i “szóstka” wygrywają.

Zobacz przykład if else:

Jeśli mamy kilka warunków, ale dotyczą one jednej kwestii (np. deklarowania przedziału wartości, czyli: liczba jest większa niż 3 i zarazem mniejsza od 25), nie musimy stosować dwa razy konstrukcji if - możemy oba warunki połączyć w jednym nawiasie.

Do łączenia warunków służą dwa operatory:

  1. AND, który zapisujemy symbolem: && - wartość musi spełniać oba warunki – i ten po lewej i ten po prawej.

  2. OR, który ma symbol: || – wartość może spełniać jeden z warunków – obojętnie który.

Jeśli założymy, że grupa na kursie może mieć nie mniej niż 7 osób, ale zarazem nie więcej niż 15, użyjemy AND.

Zobacz przykład łączenia warunków przy użyciu AND:

Możemy to samo zapisać w inny sposób – przy pomocy operatora OR. Nasza grupa nie może mieć mniej niż 7 i więcej niż 15 osób, więc jeśli choć jeden z tych warunków nie zostanie spełniony – grupa nie powstanie.

Zobacz przykład łączenia warunków przy użyciu OR:

 

Zadania

 

Zadanie 1

Zadeklaruj kilka zmiennych, wykonaj na nich działania, przypisz ich wynik do zmiennych, a potem wyświetl. Spróbuj podzielić 15 przez 7 i zwróć uwagę na wynik dzielenia – w jaki sposób go otrzymujemy? Czy to jest dokładna wartość?

Przejdź do pierwszego zadania:

Podczas dzielenia otrzymujemy tylko całkowitą część wyniku, a część ułamkowa jest odrzucana – dzieje się tak dlatego, że zadeklarowaliśmy typ zmiennej jako int, a ona przechowuje tylko liczby całkowite.

Do obsługi tzw. ułamków, czyli liczb zmiennoprzecinkowych, istnieją osobne typy (np. double). Zobacz jaki otrzymasz wynik wcześniejszego dzielenia, gdy zadeklarujesz zmienne o typie double zamiast int.

Jeśli chcemy zmienić wartość jakiejś liczby, dodając do niej inną, możemy to rozpisać w następujący sposób: x = x + y; lub krócej: x += y;

Analogicznie możemy postąpić przy odejmowaniu, mnożeniu itd. Skrócony zapis jest bardzo popularny i często stosowany przez programistów jako bardziej czytelny.

Zadanie 2

Sprawdź czy logujący się użytkownik jest pełnoletni. Zapisz odpowiednie warunki i wyświetl stosowne komunikaty (np. “Użytkownik jest pełnoletni” lub “Użytkownik jest niepełnoletni”).

Przejdź do drugiego zadania:

Zadanie 3

Każdy z was zapewne był kiedyś na badaniu krwi. Wyniki, które otrzymujemy muszą się mieścić w ustalonych normach. Np. dla hemoglobiny (HGB) – norma u kobiet jest w zakresie od 12 do 16 g/dl, u mężczyzn od 14 do 18 g/dl. Napisz kod sprawdzający, czy wynik badania mieści się w normie – osobno dla kobiet i osobno dla mężczyzn. Jeden warunek wpisz z wykorzystaniem operatora &&, a drugi ||.

Przejdź do trzeciego zadania:

Zadanie 4

Coś ze świata sportu – przed zawodami bokserskimi odbywa się oficjalne ważenie. Stwórz kod, który będzie przydzielał zawodnika do określonej kategorii wagowej.

Przejdź do czwartego zadania: