Java SE – programowanie w NetBeans IDE
Materiały pomocnicze do zaj
ęć
1
WSM (lato 2011)
Materiały tylko do u
ż
ytku wewn
ę
trznego.
Opracował:
Zbigniew JANIK ©
1
M
ATERIAŁY
P
OMOCNICZE
D
O
Z
AJĘĆ
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
– oznacza metodę publiczną, czyli dostępną dla innych klas i obiektów
static
– 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
String[]
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.
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
Java SE – programowanie w NetBeans IDE
Materiały pomocnicze do zaj
ęć
1
WSM (lato 2011)
Materiały tylko do u
ż
ytku wewn
ę
trznego.
Opracował:
Zbigniew JANIK ©
2
◊
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.
Metoda println( )
Klasa
System
jest wyposażona m.in. w pole statyczne (tzw. zmienną klasową)
out
reprezentujące standardowe wyjście z programu.
Zmienna
out
jest obiektem klasy
PrintStream
(strumień wydruku) i posiada szereg metod drukowania (bądź wyświetlania na
ekranie, zależnie od technicznej realizacji wyjścia standardowego). Jedną z nich jest metoda
System.out.println()
użyta
w programie do wyświetlania wiersza tekstu podanego jako parametr.
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 = "abc";
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
} catch (Klasa_wyj
ą
tku_1 nazwa_wyj
ą
tku_1) {
//instrukcje obsługi wyj
ą
tku 1
} catch (Klasa_wyj
ą
tku_2 nazwa_wyj
ą
tku_2) {
//instrukcje obsługi wyj
ą
tku 2
}
. . .
finally{
//instrukcje
}
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. 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, C++, PHP czy usługi webowe.
Symbole specjalne
W ćwiczeniu wykorzystano następujące symbole specjalne (dwuznaki) Javy:
"
++
"
to operator inkrementacji,
"
+=
"
to operator sumowania z przypisaniem (
x+=n;
zastępuje
x=x+n;
),
"
<=
"
to operator relacji nieostrej mniejszości.
Instrukcje zawarte w części
catch
są wykonywane
przypadku pojawienia się wyjątku odpowiedniej klasy;
instrukcje zawarte w opcjonalnej (nieobowiązkowej)
części
finally
są zawsze wykonywane na zakończenie
instrukcji
try-catch
.
Java SE – programowanie w NetBeans IDE
Materiały pomocnicze do zaj
ęć
1
WSM (lato 2011)
Materiały tylko do u
ż
ytku wewn
ę
trznego.
Opracował:
Zbigniew JANIK ©
3
Podstawowe elementy okna w środowisku IDE NetBeans 6.7
Okno Netbeans IDE jest podzielone na szereg istotnych elementów; najważniejsze z nich pokazano na poniższym rysunku:
Z pozostałymi elementami środowiska NetBeans będziemy zapoznawać się w trakcie kolejnych zajęć.
Instrukcja for
◊
Instrukcja iteracyjna ma poniższą postać, przy czym:
for(wyr1; war; wyr2) {
//instrukcje
}
◊
Przykład:
for(int i=0; i<10; i++) {
System.out.println("i = " + i);
}
gdzie: ++
operator inkrementacji ( zwiększenia
wartości o 1)
zastępuje
i=i+1;
Okno edytora kodu
ź
ródłowego
Okno Projektów -
wy
ś
wietla drzewo struktury
budowanego projektu
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
Okno Nawigatora
wy
ś
wietlaj
ą
ce hierarchi
ę
u
ż
ywanych w programie
klas, pozwala na kontrol
ę
poszczególnych klas i ich
metod
Pasek menu
1.
jednorazowo wyliczane jest wyrażenie
wyr1
(tu może
pojawić się deklaracja zmiennych, wraz z inicjalizacją),
2.
każdorazowo przed wejściem do (bloku) instrukcji
sprawdzany jest warunek
war
i jeśli jego wartość jest
true
,
wykonywane są
instrukcje
, w przeciwnym przypadku
następuje koniec pętli
for,
3.
po wykonaniu (bloku) instrukcji wyliczane jest wyrażenie
wyr2.