Aplikacja w języku Java Pakiety i biblioteki Javy Kompilacja i

advertisement
Laboratorium z informatyki sem.II/ćw.1
Wydział Transportu PW 2014/15
MATERIAŁY POMOCNICZE DO ĆWICZENIA 1
Aplikacja w języku Java
◊
◊
◊
◊
◊
◊
◊
Aplikacja to program zdolny do samodzielnego działania w systemie wyposażonym w interpreter Javy
Aplikacje mogą działać w trybie tekstowym (aplikacje konsolowe) albo w trybie graficznym (GUI) - Swing, AWT.
Aplikacja języka Java składa się z jednej lub więcej klas.
Źródłowy program Javy może być zapamiętany w jednym lub wielu plikach z rozszerzeniem "java".
Klasa jest podstawową jednostką programu, kod programu zawarty jest wewnątrz definicji klas.
Definicja klasy może zawierać deklaracje pól i metod, umieszczone wewnątrz nawiasów klamrowych po słowie
kluczowym class oraz nazwie klasy, np. class Nazwa{… deklaracje pól i/lub metod …}
Na podstawie definicji klasy mogą być tworzone obiekty o określonych zawartościach pól (zwanych właściwościami
lub atrybutami), dysponujące zadeklarowanymi w klasie metodami.
Pakiety i biblioteki Javy
◊
◊
◊
◊
Środowisko programistyczne Javy obejmuje bogaty zestaw bibliotek klas, które mogą być użyte w programach.
Klasy zawarte w bibliotekach Javy są organizowane w pakiety. Pakiety grupują hierarchie klas, zapobiegając
kolizjom nazw. Hierarchia klas w pakietach odpowiada strukturze folderów zawierających pliki z ich kodem.
Obok klas zdefiniowanych we własnym kodzie źródłowym, aplikacja ma dostęp do atrybutów i metod klas
zdefiniowanych w standardowym pakiecie java.lang, a także w innych pakietach bibliotek klas Javy.
Standardowy pakiet java.lang jest dostępny w każdym programie; są w nim zawarte podstawowe klasy Javy −
w tym wykorzystane w ćwiczeniu klasy System, String oraz Integer.
Kompilacja i wykonanie programu Javy
◊
◊
◊
◊
◊
◊
◊
Pliki źródłowe są kompilowane za pomocą kompilatora Javy do postaci pośredniej - tzw. kodu bajtowego. W wyniku
kompilacji klasy są umieszczane w oddzielnych plikach o nazwach zgodnych z nazwą klasy, z rozszerzeniem "class".
Kompilator javac.exe wchodzi w skład JDK (Java Development Kit) − bezpłatnego środowiska programistycznego
Javy opracowanego przez firmę Sun. Najprostsze polecenie kompilacji programu zawartego w pliku Nazwa.java,
z użyciem kompilatora javac.exe z poziomu wiersza poleceń, ma postać: javac Nazwa.java
Program Javy jest wykonywany przez interpreter kodu bajtowego zwany JVM (Java Virtual Machine), dopasowany
do danego systemu operacyjnego; dzięki temu można go wykonać na dowolnej platformie wyposażonej w JVM.
Interpreter java.exe wchodzi w skład JRE (Java Runtime Environment) − środowiska uruchamiania programów
Javy, które może być używane samodzielnie lub jako podzbiór JDK. Najprostsze polecenie wykonania kodu
bajtowego programu Javy zawartego w pliku zawartego w pliku Nazwa.class, z użyciem maszyny wirtualnej
java.exe z poziomu wiersza poleceń, ma postać: java Nazwa
Polecenie programu wykonania może opcjonalnie zawierać argumenty, podane w wierszu poleceń po jego nazwie
w postaci rozdzielonych spacjami ciągów znaków tekstowych, np. java Nazwa alfa beta lub java Nazwa 12 5.3
Aplikacja Javy musi mieć publiczną klasę główną, której definicja zaczyna się od słowa public. Klasa główna musi
zawierać standardową metodę o nazwie main(), która służy jako punkt startowy.
Ciało metody main() zawiera kod rozpoczynający działanie programu, np. przez odwołania do innych klas aplikacji
lub klas zawartych w bibliotekach Javy, tworzenie obiektów i wywołanie metod.
Nagłówek standardowej metody main(); parametr w postaci tablicy argumentów
◊
W nagłówku (sygnaturze) nazwę metody main() poprzedzają trzy słowa kluczowe o niżej wyjaśnionym znaczeniu:
public static void main(String[] args)
public
static
– oznacza metodę publiczną, czyli dostępną dla innych klas i obiektów
– oznacza statyczną metodę klasową, czyli dostępną za pośrednictwem nazwy klasy (bez potrzeby tworzenia
instancji obiektu tej klasy)
void
◊
– oznacza metodę nie zwracającą wartości, a tylko wykonującą ciąg instrukcji zawarty w jej deklaracji
Jeżeli wywołaniu programu towarzyszą argumenty, to są one przekazywane do metody main() przez tablicę klasy
o zwyczajowej nazwie args, której elementami są ciągi znaków tekstowych podane jako argumenty.
Elementy tablicy args są numerowane od 0 do n-1, gdzie n określa liczbę argumentów przekazanych w poleceniu
wykonania programu. Do elementu tablicy args odnosimy się podając jego numer w nawiasie kwadratowym,
np. args[0] oznacza pierwszy argument.
String[]
◊
Klasa String, stałe i zmienne tekstowe, konkatenacja i automatyczna konwersja tekstów
◊
◊
◊
◊
Teksty czyli łańcuchy znaków są reprezentowane w Javie przez obiekty klasy String
Stałe łańcuchy znaków występujące w programie, pisane w cudzysłowie, są przekształcane na obiekty klasy String
Obiekty klasy String mogą być łączone przez operator konkatenacji +, np. "Witaj w Javie" + s
Jeżeli co najmniej jeden ze składników łączonych znakami + jest obiektem klasy String, znaki + są traktowane jako
operatory konkatenacji. Wówczas następuje automatyczna konwersja składników o wartościach liczbowych na
łańcuchy znaków, np. w wyrażeniu (i+1)+": "+args[i] liczbowa wartość wyrażenia (i+1) będzie przekształcona
na odpowiedni ciąg cyfr.
Materiały do użytku wewnętrznego
strona 1
Laboratorium z informatyki sem.II/ćw.1
Wydział Transportu PW 2014/15
Metody print() i println()
Klasa System jest wyposażona m.in. w pole statyczne (tzw. zmienną klasową) out reprezentujące standardowe wyjście
z programu. Obiekt out posiada szereg metod wyświetlania na ekranie (bądź drukowania, zależnie od technicznej
realizacji wyjścia standardowego). Metoda System.out.print() ma jeden argument, który wyświetla jako tekst, metoda
System.out.println() wyświetla argument oraz dodaje na końcu znak nowej linii, co powoduje przejście kursora do
następnej linii.
Deklaracje zmiennych
◊
◊
Zmienne są deklarowane przez podanie ich typu (klasy) oraz nazwy, np. String s; lub int i;
Deklaracja zmiennej może być połączona z przypisaniem jej wartości początkowej, np. String s = "!!!";
Typy proste i obiektowe; konwersja tekstu na liczby.
◊
◊
◊
Obok klas obiektów, w Javie występują typy proste dla wartości liczbowych, znakowych i logicznych.
Większość typów prostych uzupełniają odpowiadające im klasy (typy obiektowe), które definiują szereg właściwości
i metod związanych z operacjami na odpowiednich wartościach.
Jednym z prostych typów całkowitych jest typ int. Odpowiadająca mu klasa Integer definiuje m.in. metodę o
nazwie parseInt(}, która konwertuje łańcuch znaków (ciąg cyfr ew. poprzedzony znakiem „-”) podany jako
parametr na wartość typu int. Jednym z przykładów użycia tej metody w ćwiczeniu jest następująca instrukcja:
m = Integer.parseInt(args[i]);
Wyjątki w programach Javy; instrukcja try-catch…
Zdarzenia powodujące błędne działanie programu nazywane są wyjątkami (ang. exceptions). Wyjątki są reprezentowane
w języku Java przez obiekty specjalnie w tym celu zdefiniowanych klas. Do obsługi wyjątków służy instrukcja try
w połączeniu z jedną lub kilkoma częściami catch i/lub jedną częścią finally.
Słowem kluczowym try rozpoczynamy blok kodu, który może zgłaszać wyjątki. Jeśli wewnątrz tego bloku pojawi się
wyjątek jest on wyrzucany (ang. thrown). Słowo kluczowe catch (złap) używane jest do przechwytywania wyjątków.
Najbardziej ogólna postać bloku try...catch jest następująca:
try {//blok kodu, który może spowodować wyjątek Instrukcje zawarte w części catch są
}
wykonywane przypadku pojawienia się wyjątku
catch (Klasa_wyjątku nazwa_wyjątku) {
odpowiedniej klasy; instrukcje zawarte w
//instrukcje obsługi wyjątku
opcjonalnej (nieobowiązkowej) części finally
}
s
ą zawsze wykonywane na zakończenie
…
finally{//instrukcje}
instrukcji try-catch.
Uwaga: Istotna jest kolejność części catch: jeśli któraś z nich przechwyci wyjątek, następne catch nie będą wykonane.
Przykładami klas wyjątku są:
Exception – błąd typu ogólnego (przechwytuje wszystkie błędy)
ArrayIndexOutOfBoundsException - błąd przekroczenia zakresu tablicy
NumberFormatException – błąd formatu liczbowego (występujący w ćwiczeniu).
IOException - błąd wejścia/wyjścia
Środowisko uruchomieniowe NetBeans
Do edycji i uruchamiania programów w języku Java będziemy korzystać z NetBeans IDE 7.3.1 w wersji Development.
Jest to zintegrowane środowisko programistyczne (Integrated Development Environment), które umożliwia opracowanie
wielu różnych typów aplikacji - bazujących przede wszystkim na Javie, a także na innych współczesnych językach
i technologiach programowania aplikacji sieciowych jak HTML, XML czy usługi webowe.
Oprogramowanie IDE NETBEANS 7.3.1 można pobrać ze strony http://netbeans.org/downloads/
Podstawowe elementy okna w środowisku NetBeans IDE 7.3.1
Okno Netbeans IDE jest podzielone na szereg istotnych elementów; najważniejsze z nich pokazano na poniższym rysunku:
Pasek menu
Okno edytora kodu źródłowego
Okno Projektów wyświetla drzewo struktury
budowanego projektu
Okno Nawigatora
wyświetlające hierarchię
używanych w programie
klas, pozwala na kontrolę
poszczególnych klas i ich
metod
Okno konsoli (wyjścia standardowego - Output)
służy do wyświetlania komunikatów IDE
w fazie kompilacji i wykonania
oraz wyników działania aplikacji
Z pozostałymi elementami środowiska NetBeans będziemy zapoznawać się w trakcie kolejnych zajęć.
Materiały do użytku wewnętrznego
strona 2
Download