Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do języka Java

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do języka Java"— Zapis prezentacji:

1 Wprowadzenie do języka Java

2 Wprowadzenie do języka Java

3 Krótka historia Java

4 Jak działa Java

5 JDK Mimo, że skompilowanie kodów źródłowych i zbudowanie projektu załatwia za nas IDE, dobrze jest wiedzieć co się dzieje "pod spodem", a dokładnie, jakie narzędzia wchodzą w skład Java Development Kit i jak ich używać. Są to między innymi: java - interpreter javy, umożliwia uruchomienie skompilowanych programów javac - kompilator javy jar - narzędzie do tworzenia, modyfikacji, rozpakowywania archiwów jar JAR (ang. Java ARchive) – archiwum ZIP używane do strukturalizacji i kompresji plików klas języka Java oraz powiązanych z nimi metadanych. Wykorzystywane także w OpenDocument. javah - generator nagłówków C, używany np gdy jest potrzeba stworzenia kodu Java i C, który by współpracował ze sobą jdb - debugger javy javadoc - generator dokumentów javy javap - disassembler javy

6 Javadoc Javadoc to generator dokumentacji stworzony przez firmę Sun Microsystems. Narzędzie to generuje dokumentację kodu źródłowego Javy na podstawie zamieszczonych w kodzie komentarzy Javadoc. Przykład

7 Zintegrowane środowiska programistyczne Netbeans i Eclipse
Najnowsze wersję na dziś : NetBeans 7.3 Eclipse Classic 4.2.2 1. Ustawienie zmiennych systemowych Ścieżki w którym znajduje się JDK powinny zostać dodane do PATH, aby za każdym razem, gdy wydamy pod konsolą polecenie np. java czy javac, system przeszukał podane ścieżki i odnalazł odpowiedni plik. Ustawienie zmiennych systemowych w Windows 7: 1. Naciskamy Windows Key + Pause, pojawia się Panel sterowania \ System i zabezpieczenia \ system 2. Klikamy zaawansowane ustawienia systemu, zakładka zaawansowane, przycisk zmienne środowiskowe powinno pokazać się okno  3. Należy odszukać zmienną PATH i zmodyfikować jej zawartość, dodając na końcu ;KATALOG_Z_JDK/bin

8 Sprawdzamy wpisując polecenie java i javac
Możemy dodać też zmienną Istnieje możliwość umieszczania pakietów w różnych miejscach, o ile tylko ich struktura pokrywa się ze strukturą katalogów na dysku. Trzeba jednak również zmodyfikować zmienną środowiskową CLASSPATH, aby wskazywała ona na początek struktury, w której będziemy zapisywać nasze programy. Np. jeżeli nasz plik zawierający definicję pakietu mojpakiet znajduje się w C:\MyJava\mojpakiet to zmienna CLASSPATH Powinna mieć wartość . ; C:\MyJava Kropka w powyższym zapisie oznacza katalog roboczy. Java poszukuje pakietów przeszukując kolejne katalogi wymienione w ścieżce CLASSPATH.

9 Widoki i perspektywy Dowolny widok można otworzyć wybierając Window->Show View. Dostępne są tam zarówno podstawowe widoki takie jak Console, czy Package Explorer (warto to wiedzieć chociażby na wypadek gdybyśmy przez przypadek zamknęli któryś z tych widoków), jak i takie które się używa rzadziej. Nie będę opisywał tutaj ich, najlepiej samemu sobie je zobaczyć. Perspektywy zawierają predefiniowany układ widoków zorientowany na jakieś konkretne zadanie. Można się między nimi szybko przełączać, np. pisząc kod używamy perspektywy Java, postanawiamy zrobić commit na repozytorium, więc przełączamy się na perspektywę Team Synchronizing, a gdy już skończymy synchronizować kod, wracamy do perspektywy Java i dalej kodujemy. Wybrać perspektywę możemy wybierając w Window->Open Perspective, lub wybierając z toolbar'a w prawym górnym rogu

10 Debugger Nieodłącznym elementem pracy programisty jest wyszukiwanie błędów i naprawianie ich. W pewnym momencie trzeba przestać kodować i zacząć badać co się dzieje w programie i dlaczego nie działa on tak jak powinien. Kiedyś w tym celu modyfikowałem kod tak, by wyrzucał mi na konsolę wartości zmiennych. Teraz wiem, że lepiej użyć do tego narzędzia do debuggowania. Krótki opis tego, jak go używać, zamieszczam tutaj. Klikając dwukrotnie na lewo od kodu, można wstawić Breakpoint. Określi on miejsce, gdzie podczas Debugowania wykonanie programu się zatrzyma i będzie można podejrzeć np wartości zmiennych: powyżej wstawione są dwa breakpointy na lini 8 i 10. Teraz wystarczy uruchomic debugowanie:

11 Pakiety w Javie Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem biblioteki, zawierają klasy powiązane tematycznie. Pakiety mogą także zawierać definicje interfejsów. Pakiety umożliwiają oddzielenie naszego kodu od kodu bibliotek napisanych przez innych programistów. Głównym powodem stosowania pakietów jest gwarancja unikalności nazw klas. Wraz z JDK otrzymujemy dość pokaźną liczbę pakietów, zawierających w sumie kilka tysięcy klas.

12 Zmienna CLASSPATH

13 Skróty klawiaturowe Beż używania skrótów klawiaturowych korzystanie z Eclipse byłoby o wiele bardziej czasochłonne. Zamieszczam tutaj ściągawkę z tymi, które najczęściej używam i które są według mnie najbardziej przydatne. Ctr+Spacja - Content Assist - wyświetla podpowiedzi nazw zmiennych, nazw metod, parametrów metod. Ctr+Shift+O - Organize Imports - wstawia potrzebne importy, usuwa zbędne Ctr+Shift+F - Format - formatuje ładnie kod Shift+Alt+S - Source - wyświetla menu, z którego można wybrać wygenerowanie np setterów i getterów, konstruktorów, toStringów itp. Ctr+/ - Toggle comment - komentuje / odkomentowuje zaznaczone linie Alt+Shift+X - po użyciu tego skrótu z lewej u dołu wyskakuje okienko z kolejnymi skrótami uruchamiającymi w różny sposób projekt Ctr+M - Maximize Active View - maksymalizuje okno Ctr+1 - Quick Fix - wyświetla menu z proponowanymi rozwiązaniami jakiegoś błedu Ctr+D - Delete Line - usuwa linię Alt+dół - Move lines down - przenosi linię w dół, można tak samo w górę Ctr+Alt+dół - Copy Lines - kopiuje linie Ctr+T - Quick Hierarchy - umożliwia szybkie przejście do klas dziedziczących lub implementujących zaznaczony element Ctr+Shift+T - Open Type - wyświetla klasę lub interfejs o wpisanej nazwie. Bardzo użyteczne gdy mamy wiele klas w projekcie Ctr+Alt+H - Call Hierarchy - wyświetla wywołania danej metody w innych klasach F3 - Open Declaration - otwiera deklarację F4 - Open Type Hierarchy - działanie takie jak Quick Hierarchy, tylko wyświetla wyniki nowym oknie Ctr+wskazanie myszką - wyświetla się menu, z którego możemy przejść do implementacji lub deklaracji metody lub klasy Alt+Shift+R - Rename - zmienia nazwę metody, zmiennej, czy klasy, uwzględniając wszystkie odwołania do niej Oczywiście można w ustawieniach (Window->Preferences->General->Keys) zmienić przypisania skrótów klawiaturowych. Np. polecam znaleźć polecenie "Next Editor" i zmienić na Ctr+Tab, bo domyślny skrót nie jest zbyt wygodny.

14 Klasa String Klasa ta służy do obsługi ciągów znaków, czyli po prostu tekstów. Java programming Konstruktory: abc Omawiana klasa ma kilka konstruktorów, ale najprościej jest zainicjalizować nowy obiekt za pomocą argumentu przypisania. program Łączenie ciągów znaków: String str = "Ala ma kota ;)"; Łączenie ciągów znaków ze sobą jest banalnie proste, służy do tego operator + . Oto niektóre konstruktory klasy String: String(char text[ ]), String(byte ascii[ ]), String(char text[ ], int poczatek, int ile), String(byte ascii[ ], int poczatek, int ile) String str = "Ala " + "ma " + "kota"; String str2 = str + ",i " " psy."; char txt[ ] = {'J', 'a', 'v', 'a', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'}; Jak widać z powyższego przykładu do ciągu znaków można przyłączać także liczby. byte txt_b[ ] = {65, 66, 67}; String str = new String(txt); String str2 = new String(txt_b); String str3 = new String(txt, 5, 7); System.out.println(str); System.out.println(str2); System.out.println(str3); Dwie pierwsze metody są proste, w pierwszej jako jedyny argument podaje się tablice znaków, a w drugiej liczby odpowiadające znakom zgodnie ze standardem ASCII. Ostatnia metoda określa dodatkowo w drugim argumencie początek zapisu (liczony od zera), i w trzecim ilość znaków. Tak że na ekranie zobaczymy:

15 Metody klasy String void getChars(int startString, stopString, char text[ ], int textStart) Metoda przypisuje do tablicy text ciąg znaków, zaczynając od startString, a kończąc na stopString-1, przypisanie do tablicy zaczyna się od elementu wynoszącego textStart. int indexOf(int) lub int indexOf(string) Metoda poszukuje wystąpienia pierwszego znaku, lub ciągu znaków podanego w argumencie i zwracają indeks znalezionego znaku, lub początku ciągu znaków. char[] toCharArray() Jeśli w Stringu nie będzie podanego znaku, lub ciągu znaków metoda zwróci wartość -1. Prostsza wersja wcześniej omawianej metody getChars, jej wywołanie zwraca tablice znaków Char. int lastIndexOf(int) lub int lastIndexOf(string) byte[] getBytes() To samo co powyżej, tylko poszukiwanie zaczyna się od końca. Metoda zwraca tablice liczb byte. String substring(int startString) lub String substring(int startString, int stopString) boolean equals(String str) Metoda porównuje dwa ciągi znaków, jeśli są one takie sama zwraca wartość true. Metoda zwraca część ciągu znaku zaczynającego się od indeksu startString, możemy także określić indeks końcowy stopString. boolean equalsIgnoreCase(String str) String replace(char orginal, char zamiennik) Metoda służy do porównania dwóch ciągów znaków, bez uwzględnienia wielkości liter. Metoda zastępuje wszystkie wystąpienia jednego znaku na inny znak i zwraca zmieniony ciąg znaków. int campareTo(String str) String trim() Metoda sprawdza czy w kolejności alfabetycznej String jest równy, większy lub mniejszy od podanego str. Metoda usuwa początkowe i końcowe białe znaki i zwraca poprawiony ciąg znaków. Jeśli wartość jest mniejsza od zera String jest mniejszy, jeśli jest większy od zera to String jest większy, a jeśli równy zero to oba ciągi są identyczne. String toLowerCase() Zmienia wszystkie duże litery tekstu na małe. int campareToIgnoreCase(String str) String toUpperCase() Metoda działa tak samo jak poprzednia, z tym tylko że ignoruje wielkość liter. Konwertuje wszystkie małe litery tekstu na duże.

16 Klasa Object Java zawiera specjalną klasę która jest korzeniem w hierarchii klas. Jest ona takze domyślną klasą bazową jeśli nie podamy przy definiowaniu klasy innej.

17 Metody klasy Object Method Summary Protected Object clone() Creates and returns a copy of this object. boolean equals(Object obj) Indicates whether some other object is "equal to" this one. protected void finalize() Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. Class getClass() zwraca nazwę klasy obiektu dla którego została wywołana. int hashCode() zwraca wartość funkcji hashującej związanej z obiektem, przydatna np. do przechowywania obiektów w tablicach hashujących. void notify() Wakes up a single thread that is waiting on this object's monitor. void notifyAll() Wakes up all threads that are waiting on this object's monitor. String toString() Returns a string representation of the object. void wait() Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object. void wait(long timeout) Causes current thread to wait until either another thread invokes the notify() method or the notifyAll() method for this object, or a specified amountof time has elapsed. void wait(long timeout, int nanos) Causes current thread to wait until another thread

18 Klasa Date Klasa Date reprezentuje czas podany w milisekundach.

19 Metody Date boolean after(Date when)
Tests if this date is after the specified date. int getMinutes() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MINUTE). boolean before(Date when) Tests if this date is before the specified date. int getMonth() Object clone() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MONTH). Return a copy of this object. int getSeconds() int compareTo(Date anotherDate) Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.SECOND). Compares two Dates for ordering. int compareTo(Object o) Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object. Compares this Date to another Object. boolean equals(Object obj) int getTimezoneOffset() Compares two dates for equality. Deprecated. As of JDK version 1.1, replaced by -(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000). int getDate() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_MONTH). int getYear() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) -1900 int getDay() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_WEEK). int getHours() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.HOUR_OF_DAY).

20 Motody cd. Sets this Date object to represent a point in time that is time milliseconds after January 1, :00:00 GMT. int hashCode() Returns a hash code value for this object. void setYear(int year) static long parse(String s) Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.YEAR, year ). Deprecated. As of JDK version 1.1, replaced by DateFormat.parse(String s). String toGMTString() void setDate(int date) Deprecated. As of JDK version 1.1, replaced by DateFormat.format(Date date), using a GMT TimeZone. Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.DAY_OF_MONTH, int date). String toLocaleString() void setHours(int hours) Deprecated. As of JDK version 1.1, replaced by DateFormat.format(Date date). Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.HOUR_OF_DAY, int hours). String toString() void setMinutes(int minutes) Converts this Date object to a String of the form: Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.MINUTE, int minutes). static long UTC(int year, int month, int date, int hrs, int min, int sec) void setMonth(int month) Deprecated. As of JDK version 1.1, replaced by Calendar.set(year , month, date, hrs, min, sec) or GregorianCalendar(year , month, date, hrs, min, sec), using a UTC TimeZone, followed by Calendar.getTime().getTime(). Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.MONTH, int month). void setSeconds(int seconds) Deprecated. As of JDK version 1.1, replaced by Calendar.set(Calendar.SECOND, int seconds). void setTime(long time)


Pobierz ppt "Wprowadzenie do języka Java"

Podobne prezentacje


Reklamy Google