Podstawy programowania Ć JAVA 2002
Cwiczenie 1
1. Program wypisujacy tekst na ekranie
Powyzszy tekst nalezy umiescic w pliku Witaj.java. (w katalogu Jdk1.3\bin). Nastepnie skompilowac go:
javac Witaj.java
a potem uruchomic:
java Witaj
Plik z programem powinien nosic nazwe klasy publicznej zawierajacej funkcje main i przedóuzenie .java.
Jesli w programie nie ma klasy publicznej nazwa pliku moze byc dowolna.
Powyzszy program wypisze na ekranie napis: Witamy wszystkich
Uwagi:
" kazdy program (aplikacja) skóada sie z definicji klasy (lub kilku klas, z ktorych tylko jedna zawiera funkcje
góowna main)
" funkcja main znajduje sie wewnatrz klasy Witaj. Spowodowane jest to tym, ze w Javie nie istnieja funkcje
globalne, a wszystkie funkcje (wóacznie z funkcja main) musza znajdowac sie w ciele klasy.
" funkcja main jest zdefiniowana ze sóowem kluczowym static. Jest to konieczne poniewaz tylko metody
statyczne moga zostac wywoóane dla klasy bez tworzenia obiektu. Ponadto jest zdefiniowana z argumentem,
ktorym jest tablica óancuchow tekstowych String args[] zawierajaca parametry uruchomienia programu.
" do wyprowadzenia informacji na ekran wykorzystano klase System, w ktorej dla strumienia wyjsciowego o
nazwie out wykorzystano metode println(), ktora przesyóa dane do strumienia wyjsciowego.
" sóowo kluczowe public odnosi sie do konkretnej metody lub danej i oznacza, ze jest ona dostepna rowniez na
zewnatrz klasy, w ktorej jest zdefiniowana.
Definicja kazdej klasy zbudowana jest w naste pujacy sposob:
[ModyfikatorKlasy] class NazwaKlasy
[extends NadKlasa] [implements Interfejsy]
{
/* definicje metod i pol */
}
ModyfikatorKlasy moze byc kombinacja nastepujacych wyrazen:
abstract -
Definiuje klase abstrakcyjna zawierajaca tylko metody abstrakcyjne
(niezaimplementowane). Nie jest mozliwe utworzenie zadnych obiektow tej klasy; jest ona
uzyteczna jedynie podczas budowania hierarchii klas (przy dziedziczeniu). Klasa
abstrakcyjna stanowi wzor do tworzenia klas pochodnych jest wiec szablonem do
tworzenia innych klas.
final - Od klasy tego typu niemozliwe jest utworzenie klas pochodnych. Klasy takie stosuje sie w
celu zapewnienia odpowiedniego poziomu bezpieczenstwa aplikacjom (klasa potomna
moze "podszyc sie" pod klase bazowa) oraz niekiedy do oznaczenia klas, nad ktorymi
prace zostaóy ukonczone - wiernie odwzorowujacych obiekty rzeczywistosci.
public -
Taka klasa jest udostepniana na zewnatrz pakietu (package), w ktorym sie znajduje.
W jednym pliku moze wystapic tylko jedna klasa tak zadeklarowana. W przypadku uzycia
jej poza pakietem, w ktorym sie znajduje, nalezy uzyc odwoóania: "
.java".
private -
Klasa private dostepna jest wyóacznie wewnatrz danego pakietu (wzglednie pliku). Jesli w
definicji klasy nie zostanie wpisany zaden modyfikator zostaje ona automatycznie uznana
za klase private
synchronizable -
Java, dzieki mechanizmowi watkow (threads), umozliwia tworzenie programow
obsóugujacych prawdziwa wielozadaniowosc. Uzywanie w tego typu programach
wspolnych obszarow danych wzglednie odwoóan do tych samych funkcji óatwo moze
prowadzic do zakleszczenia programu (deadlock) bad do powstania bóedow wartosci. Aby
tego uniknac Java umozliwia synchronizacje potokow (watkow). Czasem moze okazac sie
przydatne przekazanie obiektow jako parametrow funkcji. Staje sie mozliwe tylko i
wyóacznie wtedy, gdy klasa przekazywanego obiektu zostanie zdefiniowana jako
synchronizable.
obsóugujacych prawdziwa wielozadaniowosc. Uzywanie w tego typu programach
wspolnych obszarow danych wzglednie odwoóan do tych samych funkcji óatwo moze
prowadzic do zakleszczenia programu (deadlock) bad do powstania bóedow wartosci. Aby
tego uniknac Java umozliwia synchronizacje potokow (watkow). Czasem moze okazac sie
przydatne przekazanie obiektow jako parametrow funkcji. Staje sie mozliwe tylko i
wyóacznie wtedy, gdy klasa przekazywanego obiektu zostanie zdefiniowana jako
synchronizable.
Zadania do samodzielnego wykonania:
1. Napisac program wypisujacy na ekranie trojkat z jednakowych znakow.
2. Program graficzny wypisujacy tekst
Kolejny program wykorzystuje elementy interfejsu graficznego uzytkownika (GUI), ktory jezyku Java jest
wyjatkowo dobrze rozwiniety.
Program w Java jest zestawem klas. Moze ponadto zawierac deklaracje pakietu i importu. Pakiety sa bibliotekami
klas. Odwoóanie do klas zewnetrznych ma postac: Nazwa_pakietu.nazwa_klasy.
Jesli potrzebujemy wykorzystac w programie klase zewnetrzna, to przed zdefiniowaniem naszej klasy nalezy
zaimportowac pakiet zawierajacy potrzebna klase zewnetrzna: np. import java.awt.* - importuje nazwy
wszystkich klas pakietu java.awt.
Pakiet java.lang zawierajacy m. in. klasy String i System nie wymaga importu!!!
importowanie klas z pakietu awt
//definicja klasy Witajcie rozszerzajacej klase Panel
//deklaracja referencji powitanie klasy Label
//definicja metody publicznej init()
// wywoóanie funkcji okreslajacej rozmiar obiektu;
//utworzenie obiektu powitanie klasy Label i
//zainicjowanie go tekstem
//dodanie podobiektu powitanie do panelu
//definicja publicznej funkcji statycznej main
//utworzenie obiektu w1 klasy Witajcie
//wywoóanie metody init dla obiektu w1
//utworzenie obiektu ramka klasy Frame i zainicjowanie go tekstem
//wywoóanie metody setSize dla obiektu ramka
//wywoóanie metody add dla obiektu ramka dodajacej obiekt w1 wycentrowany
//wywoóanie metody show dla obiektu ramka
//koniec definicji klasy Witajcie
Powyzszy program otwiera nowe okno w srodowisku Windows, w ktorym pojawia sie napis Witamy Wszystkich .
Aby zakonczyc dziaóanie aplikacji nalezy uzyc kombinacji klawiszy ++.
Ten program choc bardzo prosty musi importowac szereg metod graficznych zdeklarowanych w klasach: Panel,
Frame, Label zawartych w pakiecie java.awt.
Klasa oznacza typ zmiennych. Obiekt jest egzemplarzem danej klasy czyli zmienna, ktorej typem jest klasa.
- Frame e okno graficzne w srodowisku Windows;
- Panel e podobiekt klasy Frame, - do obiektu tej klasy wkóadamy inne podobiekty;
- Label e obiekt sóuzacy do wypisania tekstu;
W programie mozna dopisac ponizszy fragment funkcji init umozliwiajacy zmiane kroju i koloru tekstu:
//utworzenie obiektu kroj klasy Font
//ustawienie kroju, koloru tóa i koloru tekstu
//dla obiektu powitanie
Uwaga: Aby kompilator miaó dostep do klasy Font oraz niejawnie do klas Color i String mozna zaimportowac
wszystkie klasy pakietu AWT zamieniajac trzy pierwsze wiersze programu importujace klasy na jeden wiersz:
import java.awt.*;
3. Obsęuga zdarzenia Ć zamkniecie aplikacji
Zakonczenie dziaóania aplikacji mozna uzyskac poprzez umieszczenie w niej obsóugi zdarzenia
WINDOW_CLOSING. Aby obsóuzyc to zdarzenie nalezy zdefiniowac w programie druga klase AppEnd
wykorzystujaca adapter (odmiana interfejsu nie wymagajaca definiowania wszystkich metod ) WindowAdapter,
ktora usuwa okno i zamyka aplikacje:
//koniec definicji klasy AppEnd
Nastepnie w funkcji main klasy góownej nalezy utworzyc Sóuchacza zdarzen okiennych (WindowListener) i dodac
go do góownego okna aplikacji.
Aby moc wykorzystac klasy obsóugujace zdarzenia nalezy zaimportowac odpowiedni pakiet:
Zadania do samodzielnego wykonania:
1. Napisac program wypisujacy w okienku jedna, jak najwieksza, litere w kolorze zielonym na biaóym tle.
4. Zasady do wykorzystania w pisaniu programow
1. Nazwy klas i skóadowych maja polskie brzmienie.
2. Nazwy klas zawieraja wielkie i maóe litery, pierwsza litera nazwy jest wielka np. MojaAplikacja.
3. Nazwy pol i metod zaczynaja sie od maóej litery i pierwsze litery kolejnych wyrazow sa wielkie np.
kolorDrugiejStrony, wypiszWynik().
4. Nazwy staóych pisane sa wielkimi literami np. MINIMUM.
5. Uzywac komentarzy jako wyjasnien.
Wyszukiwarka
Podobne podstrony:
Java1
35 TETA Java1
java1 1
więcej podobnych podstron