Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wprowadzenie do języka Java Krótka historia Java.

Podobne prezentacje


Prezentacja na temat: "Wprowadzenie do języka Java Krótka historia Java."— Zapis prezentacji:

1

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: javajava - interpreter javy, umożliwia uruchomienie skompilowanych programów javacjavac - kompilator javy jarjar - 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.ang.ZIPklasJavametadanychOpenDocument javahjavah - generator nagłówków C, używany np gdy jest potrzeba stworzenia kodu Java i C, który by współpracował ze sobą jdbjdb - debugger javy javadocjavadoc - generator dokumentów javy javapjavap - 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 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 powyżej wstawione są dwa breakpointy na lini 8 i 10. Teraz wystarczy uruchomic debugowanie: 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:

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. Konstruktory: Omawiana klasa ma kilka konstruktorów, ale najprościej jest zainicjalizować nowy obiekt za pomocą argumentu przypisania. String str = "Ala ma kota ;)"; 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) char txt[ ] = {'J', 'a', 'v', 'a', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'}; 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: Java programming abc program Łączenie ciągów znaków: Łączenie ciągów znaków ze sobą jest banalnie proste, służy do tego operator +. String str = "Ala " + "ma " + "kota"; String str2 = str + ",i " " psy."; Jak widać z powyższego przykładu do ciągu znaków można przyłączać także liczby.

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

17 Metody klasy Object Method Summary Protected Objectclone() Creates and returns a copy of this object. booleanequals(Object obj) Indicates whether some other object is "equal to" this one. protected voidfinalize() Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. ClassgetClass() zwraca nazwę klasy obiektu dla którego została wywołana. inthashCode() zwraca wartość funkcji hashującej związanej z obiektem, przydatna np. do przechowywania obiektów w tablicach hashujących. voidnotify() Wakes up a single thread that is waiting on this object's monitor. voidnotifyAll() Wakes up all threads that are waiting on this object's monitor. StringtoString() Returns a string representation of the object. voidwait() Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object. voidwait(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. voidwait(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. boolean before(Date when) Tests if this date is before the specified date. Object clone() Return a copy of this object. int compareTo(Date anotherDate) Compares two Dates for ordering. int compareTo(Object o) Compares this Date to another Object. boolean equals(Object obj) Compares two dates for equality. int getDate() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.DAY_OF_MONTH). 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). int getMinutes() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MINUTE). int getMonth() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.MONTH). int getSeconds() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.SECOND). Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Date object. int getTimezoneOffset() Deprecated. As of JDK version 1.1, replaced by - (Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000). int getYear() Deprecated. As of JDK version 1.1, replaced by Calendar.get(Calendar.YEAR) -1900

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


Pobierz ppt "Wprowadzenie do języka Java Krótka historia Java."

Podobne prezentacje


Reklamy Google