JĘZYK PROGRAMOWANIA „JAVA”
Prof. Adam Borkowski
IPPT PAN
Warszawa
2000
Spis treści
1. Wprowadzenie
1.1. Charakterystyka i geneza języka
1.2. Implementacja niezależności sprzętowej
1.3. Środowisko programistyczne
1.4 Rodzaje programów
2. Podstawowe elementy języka
2.1. Klasa, jej zmienne i metody
2.2. Tworzenie obiektów
2.3. Aplikacja
3. Typy danych
3.1. Znaki i liczby
3.2. Napisy
3.3. Tablice
4. Operatory
4.1. Operatory arytmetyczne
4.2. Operatory inkrementacji i dekrementacji
4.3. Operatory logiczne
4.4. Operatory przypisania
5. Przepływ sterowania
5.1. Instrukcje, bloki i zmienne lokalne
5.2. Instrukcje warunkowe
5.3. Instrukcja wyboru
5.4. Pętle
6. Klasy pochodne i interfejsy
6.1. Rozszerzanie klas
6.2. Pakiety
6.3. Kontrola dostępu
6.4. Przesłanianie i przeciążanie metod
6.5. Interfejsy
7. Elementy zaawansowane
7.1. Wyjątki
7.2. Zdarzenia
8. Grafika
8.1. Aplety
8.2. Grafika podstawowa
8.3. Obrazy i dźwięki
8.4. Animacje
8.8. Elementy biblioteki AWT
8.6. Obsługa zdarzeń w AWT
9. Inne elementy
9.1. Strumienie wejścia-wyjścia
9.2. Programowanie sieciowe
9.3. Łączenie Javy z językiem C
Literatura
K. Arnold, J. Gosling: Java, WNT, Warszawa, 1999.
B. Boone: Java dla programistów C i C++, WNT, Warszawa, 1998.
E. Ladd, J. O'Donnell i inni: Java, LYNX-SFT, Warszawa, 1999.
L. Lemay, Ch. L. Perkins: Java 1.1, Helion, Warszawa, 1998.
S. Lalani, K. Jamsa: JAVA - biblioteka programisty, MIKOM,
Warszawa, 1997.
Adresy w Internecie
1. Wprowadzenie
1.1. Charakterystyka i geneza języka
Historia:
1991 - wewnętrzny projekt OAK w firmie Sun Microsystems
1994 - przeglądarka HotJava
1997 - system operacyjny komputera Network Computer
Podstawowe cele projektantów języka:
obiektowość
niezależność od platformy sprzętowej
przystosowanie do Internetu
Pierwowzory:
Smalltalk
C++
Uproszczenia w stosunku do C++:
brak jawnych wskaźników
automatyczne zarządzanie pamięcią
|
C |
C++ |
Java |
Dostęp do pamięci |
Wskaźniki, adresy |
Wskaźniki, adresy, obiekty |
Obiekty |
Grupowanie danych |
Struktury |
Struktury, klasy |
Klasy |
Sposób definiowania |
Funkcje |
Funkcje, metody |
Metody |
1.2. Implementacja niezależności sprzętowej
język C *
język Java *
Ceną, jaką płacimy za uniezależnienie się od sprzętu, jest wolniejsze wykonywanie programu w trybie interpretacji. Jeżeli zależy nam bardziej na szybkości, niż na przenaszalności programu, to możemy skorzystać z dwóch opcji:
włączyć kompilator bieżący (just in time compiler) w przeglądarce;
skorzystać z programu java2c tłumaczącego z Javy na C.
Rozwiązaniem pośrednim jest napisanie najbardziej czasochłonnych fragmentów w C i połączenie ich z resztą programu w Javie.
1.3. Środowisko programistyczne
Środowisko podstawowe JDK (Java Development Kit):
kompilator javac.exe
interpretator java.exe
przeglądarka appletviewer.exe
wykrywacz błędów jdb.exe
archiwista jar.exe
generator dokumentacji javadoc.exe
generator nagłówków C javah.exe
Uwagi:
Sposób skonfigurowania środowiska JDK zależy od jego wersji i od rodzaju systemu operacyjnego (Windows 95/98/NT, Linux, Solaris);
Mimo pracy w trybie MS-DOS w środowisku Windows JDK rozróżnia małe i duże litery jak również rozszerzenia 4-literowe.
Środowiska okienkowe:
Visual J++ http://www.microsoft.com/visualj/
Cafe http://cafe.symantec.com/
Java Workshop http://www.sun.com/developer-products/java
Javelin http://www.ozemail.com.au/~stepsoft
Kawa http://www.fni.net
i inne
Przeglądarki:
Internet Explorer (Microsoft)
Netscape Navigator (Netscape)
Hot Java (Sun Microsystems)
1.4. Rodzaje programów
|
Lokalizacja |
Uruchamianie |
aplikacja |
dysk lokalny |
za pośrednictwem |
aplet |
dysk serwera |
za pośrednictwem |
Adam Borkowski Język programowania „Java” 1-ii
Kod binarny SPARC
Kod binarny Pentium
Kompilator SPARC
Kompilator Pentium
Kod
źródłowy
Interpreter SPARC
Interpreter
Pentium
Kod
bajtowy
Kompilator
Kod
źródłowy
Internet
Serwer
Klient