Odczyt danych z klawiatury Operatory w Javie
Operatory W Javie występują następujące typy operatorów: Arytmetyczne. Inkrementacji/Dekrementacji Przypisania. Porównania. Bitowe. Logiczne. Pozostałe. Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: 2 + 5 argumentami operatora dodawania + są dwa operandy 2 i 5.
Operatory arytmetyczne Operatory arytmetyczne są to operatory w większości dwuargumentowe i służą do wykonywania operacji arytmetycznych dodawania, odejmowania, dzielenia itp. Operator Wykonywane działanie Przykład * mnożenie x * y / dzielenie x / y + dodawanie x + y - odejmowanie x - y % dzielenie modulo (reszta z dzielenia) x % y + Unarny operator plus +x - Unarny operator minus -x
Przykład działania operatorów arytmetycznych Wynik:
Operatory inkrementacji/dekrementacji Operator inkrementacji (++) zwiększa wartość zmiennej o jeden, podczas gdy operator dekrementacji (--) zmniejsza wartość zmiennej o jeden. Oba operatory mogą występować w dwóch formach: Przedrostkowej (++x). Przyrostkowej (x++). Obie postacie powodują zwiększenie zapamiętanej w zmiennej wartości o jeden, ale w przypadku formy przedrostkowej odbywa się to przed jej wykorzystaniem (przed zwróceniem jej wartości), a w przypadku formy przyrostkowej dopiero po wykorzystaniu danej zmiennej.
Przykład inkrementacji Wynik:
A co jeśli przekroczymy zakres wartości zmiennej liczbowej? Jeśli w wyniku operacji w dalszej części programu na zmiennej liczbowej przekroczymy dopuszczalny zakres przyjmowanych przez nią wartości to nie spowoduje to błędu kompilacji! Przekroczenie dopuszczalnej wartości nie powoduje błędu a jedynie zawinięcie liczby zgodnie z zasadą: INT_MAX + 1 = INT_MIN INT_MAX + 2 = INT_MIN +1 oraz INT_MIN 1 = INT_MAX INT_MIN 2 = INT_MAX + 1
Operatory logiczne Operacje logiczne wykonujemy na argumentach, które przyjmują jedną z dwóch możliwych wartości logicznych: true lub false. Wyróżniamy 3 operatory logiczne: Operator Nazwa Przykład && Logiczny AND x && y Logiczny OR x y! Logiczny NOT!x
Operatory przypisania Operatory przypisania są operatorami dwuargumentowymi i powodują przypisanie operandowi lewostronnemu wartości operandu prawostronnego. 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 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 x ^= y x = x ^ y
Operatory porównania Operatory porównania służą do porównania operandów. Zwracają one wartość true lub false. Przykład: Wynikiem działania arg1 == arg2 będzie true jeśli oba argumenty są sobie równe. W przeciwnym przypadku wynikiem będzie false. Operator Wykonywane działanie Przykład == Równość x == y!= Nierówność x!= y < Mniejszość x < y > Większość x > y <= Mniejszość lub równość x <= y >= Większość lub równość x >= y
Priorytet operatorów Wszystkie operatory dwuargumentowe (za wyjątkiem op. przypisania) o jednakowym priorytecie są sprawdzane od lewej do prawej. Operatory przypisania są oceniane od prawej do lewej. Typ operatora Symbol operatora Przyrostkowe x++ x -- Unarne ++x --x +x -x ~! Multiplikatywne * / % Addytywne + - Przesunięcia bitowe << >> >>> Relacyjne < > <= >= instanceof Równości ==!= Bitowy AND & Bitowy XOR ^ Bitowy OR Logiczny AND && Logiczny OR Warunkowy? : Przypisania = += -= *= /= %= &= ^= == <<= >>= >>>=
Dlaczego należy stosować nawiasy?
Właśnie po to
Odczytywanie informacji z STD::IN boolean hasnext() - zwraca wartość True jeśli następna wartość dowolnego typu jest dostępny do odczytu. string next() - zwraca odczytaną następną wartość dowolnego typu. boolean hasnextint() - zwraca wartość True jeśli następna wartość jest typu Integer. int nextint() - zwraca następną odczytaną wartość typu int. boolean hasnextdouble() - zwraca wartość True jeśli następna wartość jest typu Double. double nextdouble() - zwraca następną odczytaną wartość typu Double.
Ćwiczenia 1 1. 1. Zadeklaruj dwie zmienne typu int. Odczytaj z klawiatury dwie wartości i przypisz je do zmiennych. Następnie wypisz sumę, różnicę, iloczyn i iloraz tych dwóch liczb. Zadbaj o komunikaty dla użytkownika mówiące o tym, co robi program. 2. Spróbuj wpisać do powyższego programu napis "ala ma kota" lub liczbę zmiennoprzecinkową. Co się stało?
Ćwiczenia 2 7. Jaki będzie wynik działania następującego kodu i dlaczego? 8. Jaki będzie wynik działania poniższego kodu i dlaczego?
Ćwiczenia 3 9. Jaki będzie wynik działania następującego kodu i dlaczego? 10. Jaki będzie wynik działania poniższego kodu i dlaczego?
Instrukcja warunkowa if Instrukcje warunkowe służą do sprawdzania warunków. W zależności od tego czy warunek jest prawdziwy, czy fałszywy, wykonywane są różne bloki instrukcji. Ogólna postać instrukcji warunkowej jest następująca: if (warunek) { //instrukcje do wykonania, gdy warunek jest prawdziwy } else { //instrukcje do wykonania, gdy warunek jest fałszywy } Blok else jest blokiem opcjonalnym. Prawdziwa jest zatem instrukcja: if (warunek) { //instrukcje do wykonania, gdy warunek jest prawdziwy }
Instrukcja warunkowa if c.d. Często przydatna jest również zmodyfikowana postać instrukcji warunkowej, sprawdzająca warunki podrzędne, w przypadku gdy nie jest spełniony warunek nadrzędny. if (warunek1) { //instrukcje do wykonania, gdy warunek1 jest prawdziwy. } else if(warunek2) { //instrukcje do wykonania, gdy warunek2 jest prawdziwy, natomiast warunek1 jest fałszywy. } else if(warunek3) { //instrukcje do wykonania, gdy warunek3 jest prawdziwy, natomiast warunek1 oraz warunek2 jest fałszywy. } else { //instrukcje do wykonania, gdy wszystkie warunki są fałszywe. }
Przykład instrukcji warunkowej if
Ćwiczenie 14. Zadeklaruj trzy zmienne o nazwach A, B, C, które będą współczynnikami równania kwadratowego zapisanego w formie: Ax 2 + Bx + C = 0 Napisz program rozwiązujący te równanie kwadratowe dla współczynników podanych z klawiatury. Zadbaj o idiotoodporność programu. Uwaga: Aby obliczyć pierwiastek z delty należy skorzystać z funkcji: Math.sqrt(wyrażenie) wylicza ona pierwiastek kwadratowy z podanego jako argument wyrażenia.
Instrukcja wyboru switch Instrukcja switch pozwala w wygodny sposób sprawdzić ciąg warunków i wykonać różny kod w zależności od tego czy są one fałszywe czy prawdziwe. Jej postać jest następująca:
Instrukcja switch - przykład
Operator warunkowy Operator warunkowy jest postaci: warunek? wartość1 : wartość2; Co należy rozmieć jako: jeśli warunek jest prawdziwy to podstaw za wartość wyrażenia wartość1, w przeciwnym wypadku podstaw za wartość wyrażenia wartość2. Można go traktować jako skróconą wersję instrukcji warunkowej if. Przykład:
Ćwiczenia 7 13. Zapisz następujący kod bez instrukcji break. Zaobserwuj co się stanie. Dlaczego?
Ćwiczenia 8 15. Jaki będzie wynik wykonania poniższego kodu i dlaczego?