Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu wiedzy technicznej w regionie Java Podstawy Michał Bereta www.michalbereta.pl [email protected] Typy Java jest językiem statycznie typowanym, tzn., że każda zmienna / każdy obiekt musi mied ściśle określony typ i typ ten nie może ulec zmianie. Przed użyciem każda zmienna musi mied określoną nazwę i typ. Np. int x; String imie; Osoba pracownik; Typy Typy • Wbudowane – int – double – String – itd. • Zdefiniowane przez programistę za pomocą: – class – interface Typy podstawowe (ang. primitive) • • • • • • • • • byte short int long float double boolean char String Typy podstawowe (ang. primitive) Typy całkowite • byte – 8-bitowy – [-128, 127] • short – 16-bitowy – [-32 768 , 32 767] • int – 32-bitowy – [-2,147,483,648 ; 2,147,483,647 ] • long – 64-bitowy – [-9,223,372,036,854,775,808 ; 9,223,372,036,854,775,807] Typy podstawowe (ang. primitive) • float – 32-bitowe liczby zmiennoprzecinkowe • double – 64-bitowe liczby zmiennoprzecinkowe Jeśli wymagana jest określona dokładnośd (np. operacje finansowe na walutach) lepiej użyd typu zdefiniowanego przez klasę: java.math.BigDecimal Typy podstawowe (ang. primitive) • boolean – Tylko dwie możliwe wartości: { true, false} – Reprezentuje 1 bit informacji, lecz rozmiar nie jest zdefiniowany • char – 16-bitowy typ znakowy Unicode – * ‘\u0000’ ; ‘\uffff’ + • String – java.lang.String Typy Wartości domyślne (dla zmiennych składowych klasy) Typy Zmienna będąca częścią klasy ma przypisywaną wartośd domyślną właściwą dla jej typu. Uwaga! Zmienne lokalne (w funkcji) nie mają przypisywanych wartości domyślnych! Należy to zrobid własnoręcznie przed pierwszym użyciem. Typy Ok! Typy Również ok! Domyślna wartośd dla int Typy Literały - stałe reprezentacje wartości np. true, false, 1000, 14.4, “dom”, ‘F’ Typy • Literały liczb całkowitych określają typ int, np. – 21 jest traktowane jako int • Jeśli na koocu stoi litera ‘L’ lub ‘l’ (małe L, nie mylid z 1 – jedynką), to typem jest long – np. 21L jest tratowany jak typ long Typy • Literały całkowite mogą byd reprezentowane w systemach o różnej podstawie Ta sama wartośd 26 Typy • Literały wartości zmiennoprzecinkowych – Kooczą się na ‘F’ lub ‘f’ dla typu float – Domyślnie jest typ double (opcjonalnie ‘D’ lub ‘d’) – Notacja naukowa: • Np. 12.3e2 = 12.3 * 102 • Np. 12.3e-2 = 12.3 * 10-2 Typy Typ znakowy char \b (backspace) \t (tab) \n (line feed) \f (form feed) \r (carriage return) \" (double quote) \' (single quote) \\ (backslash) Typy • Literał null • Może byd użyty do typów “referencyjnych • Oznacza, że referencja nie wskazuje na żaden obiekt Np. String znaki = null; ale int x = null; // BŁĄD ! Uwaga! null nie oznacza łaocucha pustego "" Typy • Od wersji 7, w literałach liczbowych można umieszczad pomiędzy cyframi dowolną liczbę znaków podkreślenie (w celu bardziej czytelnego zapisu) Typy Poprawnie Typy Niepoprawnie Tablice • Tablica jest kontenerem przechowującym wartości / obiekty tego samego typu. • Długośd tablicy jest określona i ustalona podczas jej tworzenia. • Długośd nie może ulec zmianie • Wartośd każdy elementu można pobrad znając jego indeks • Indeksowanie zaczyna się od zera Tablice Tablice Tablice nazwa typu oznaczenie tablicy nazwa zmiennej Tablice • Tworzenie na podstawie listy elementów Tablice • W javie można tworzyd tablice wielowymiarowe – Elementem tablicy w danym wymiarze jest tablica np. – Tablice będące elementami tablicy wielowymiarowej mogą byd różnej długości Tablice • Tablice wielowymiarowe Tablice • Kopiowanie skąd odkąd dokąd ile dokąd (pozycja startowa) Tablice Intermezzo Liczby losowe Zadanie Totolotek 1 Wygeneruj i wypisz 6 losowych liczb z przedziału *1, 49+. Totolotek 2 Wygeneruj i zapisz do tablicy 6 losowych liczb z przedziału *1, 49+. Wypisz wartości z tablicy. Operatory Najwyższy priorytet (oznacza pierwszeostwo wykonania) Operatory Operatory Operator ‘+’ łączy obiekty typu String Operatory Operatory Operatory • Sprawdzanie relacji między wartościami Operatory • Operatory logiczne AND OR Operatory • Operator ? : Operatory Operacje przeprowadzane na każdej parze bitów oddzielnie • & - operator bitowego AND • | operator bitowego OR • ^ operator bitowego XOR Projekt Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu wiedzy technicznej w regionie współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego Instytut Fizyki Politechniki Krakowskiej pok. F206a, ul. Podchorążych 1, 30-084 Kraków tel.: +48 12 6370666 w. 28, faks: +48 12 6371446 e-mail: [email protected] www.wiedza.pk.edu.pl