13UVQJrHshVgNMiX5MjYyQQbmUXMg4UzXE
Kurs
Programowania
w JAVA
Wydawnictwo Strefa Kursów
ISBN: 978-83-61045-79-3
2
3
WSTĘP
Java to popularny obiektowy język programowania.
Spora część składni wywodzi się z języków C oraz
C++. Główne cechy języka JAVA to:
Obiektowość – wszelkiego rodzaju dane
pogrupowane są w klasy obiektów (z wyjątkiem
tzw. typów prostych).
Dziedziczenie – każdy obiekt jest pochodną
obiektu bazowego. Może więc z niego
dziedziczyć podstawowe zachowania oraz
właściwości.
Program napisany w Java wykonywany jest
przez tzw. wirtualną maszynę Java, a kod
źródłowy kompilowany jest do tzw. kodu
pośredniego. Takie rozwiązanie pozwala
uruchamiać programy napisane w tym języku na
popularnych platformach wyposażonych w różne
systemy operacyjne.
4
Aby rozpocząć tworzenie własnych programów
będziemy potrzebowali kilku komponentów:
NetBeans – czyli zintegrowane środowisko
programistyczne (IDE).
Java Development Kit (JDK) – oprogramowanie
niezbędne do programowania w języku Java.
Java Runtime Environment – środowisko
uruchomieniowe, które zawiera m.in. wirtualną
maszynę Java.
Szczegółowe instrukcje na temat instalacji oraz
konfiguracji ww. komponentów można znaleźć na
dołączonej płycie.
5
PIERWSZY PROGRAM
Przed napisaniem pierwszego programu Java
utworzymy najpierw nowy projekt w programie
NetBeans:
Uruchom edytor NetBeans.
Z menu File(Plik) wybierz pozycję New Project.
Otwarte zostanie nowe okno. Z listy Categories
wybierz katalog Java. Następnie z listy Projects
wybierz Java Application.
Przejdź do kolejnego etapu.
W górnym polu wprowadź nazwę projektu.
Wybierz także katalog, w którym zostanie on
zapisany. Potwierdź, aby zakończyć tworzenie
nowego projektu.
6
Po stworzeniu nowego projektu załadowany zostanie
domyślny szablon. Składa się on z następujących
elementów (komentarze zostały pominięte dla większej
przejrzystości):
package wstep;
public class Wstep {
public static void main(String[] args) {
}
}
Popatrzmy teraz na poszczególne fragmenty kodu:
„package wstep” – nazwa pakietu.
„public class Wstep” – publiczna klasa
Wstęp. Zwróć uwagę na to, że nazwa tej klasy
jest tak sama jak nazwa dokumentu.
„public static void main(String[]
args)” – metoda o nazwie main. Ta metoda
przynależy do klasy Wstęp. I to właśnie w tej
metodzie umieścimy za chwilę kod naszego
pierwszego programu Java.
Nasz program będzie bardzo prosty. Wyświetlimy na
ekranie krótki ciąg znaków. Zmodyfikowany kod
wygląda następująco:
7
public static void main(String[] args) {
System.out.println("Kurs Java");
}
Używamy polecenia System.out.println aby
wyświetlić ciąg znaków umieszczony w nawiasie.
Ponieważ jest to ciąg znaków (tzw. String) musimy go
dodatkowo ująć w cudzysłów. Warto zauważyć, że
nasze polecenie zostało zakończone średnikiem. Aby
uruchomić program naciśnij klawisz F6. W dolnym
oknie edytora powinien pojawić się rezultat (czyli „Kurs
Java”).
KOMENTARZE
W kodzie naszego programu można umieszczać tzw.
komentarze. Pozwolą one opisać poszczególne
elementy składowe programu i na pewno znacznie
ułatwią pracę szczególnie w przypadku bardziej
złożonych projektów. Przykładowy komentarz może
wyglądać tak:
8
public static void main(String[] args) {
/*
* To polecenie wyświetla ciąg
znaków.
*/
System.out.println("Kurs Java");
}
Zauważmy, że jest komentarz wielowierszowy (w tym
wypadku składa się z trzech wierszy). Należy
pamiętać, że komentarze pełnią rolę informacyjną i są
ignorowane przez kompilator (nie wpływają na
działanie samego programu).
ZMIENNE
Zmienna występują praktycznie w każdym popularnym
języku programowania. Są po prostu fragmentem
programu, który pozwala przechowywać różnego
rodzaju dane (liczby, ciągi znaków itp.). Popatrzmy
teraz na przykład zmiennej:
PUBLIC STATIC VOID MAIN(STRING[] ARGS) {
INT A = 10;
}
Wewnątrz metody main zdefiniowana została zmienna
typu int (Integer) o nazwie a. Przypisano do niej
wartość 10.
9
Zwróćmy teraz uwagę na pewne reguły dotyczące
nazw zmiennych:
W języku Java zawsze musimy określić typ
danych (np. Integer jak w powyższym
przykładzie).
W pewnych sytuacjach przed typem danych
umieszcza się różne modyfikatory (static, final
itp.).
W nazwach możemy stosować liczby, ale nigdy
na początku nazwy.
Nie możemy używać spacji. Jeśli nazwa naszej
zmiennej zawiera kilka wyrazów to możemy je
wyróżnić różnicując wielkość liter na początku
każdego słowa.
Wartości przypisujemy do zmiennych stosując
pojedynczy znak równości.
Wartością zmiennej nie musi być liczba. Może to być
np. ciąg znaków:
String kurs = "Kurs Excel";
W typ wypadku mamy zmienną typu String o nazwie
kurs, do której przypisano wartość „Kurs Excel”.
10
Skoro wiemy już jak zdefiniować zmienną to może
spróbujmy wyświetlić wartość na ekranie:
public static void main(String[] args) {
int x = 5;
System.out.println(x);
}
W powyższym przykładzie zdefiniowaliśmy zmienną x
typu Integer, do której przypisana została wartość 5.
Następnie za pomocą polecenia System.out.println
wyświetlamy wartość tej zmiennej. Po uruchomieniu
programu na ekranie powinna pojawić się wartość 5.
Popatrzmy jeszcze na bardziej złożony przykład:
public static void main(String[] args) {
int x = 5;
int y = 4;
System.out.println(x+y);
}
W tym wypadku mamy dwie zmienne: x oraz y.
Następnie wartości tych zmiennych zostały
zsumowane i wypisane na ekranie. Po uruchomieniu
programu powinna pojawić się wartość 9.
Warto pamiętać o tym, że wartości zmiennych mogą
zmieniać się wielokrotnie:
11
int x = 5;
x = 6;
x = 7;
x = 8;
System.out.println(x);
Po wykonaniu programu zwrócona zostanie wartość 8,
ponieważ była to ostatnia wartość przypisana do
zmiennej x przed wypisaniem jej na ekran (czyli nowe
wartości zastąpiły wartości poprzednie).
KLASY
Jednym z najważniejszych elementów programowania
obiektowego są klasy. Taką klasę możemy sobie
wyobrazić jako zbiór obiektów, które posiadają pewne
właściwości oraz mogą wykonywać pewne działania.
Spróbujmy teraz zdefiniować prostą klasę, która będzie
opisywała jakiś produkt np. kursy.
class Kursy {
}
Zauważmy, że definicję klasy rozpoczęliśmy od słowa
kluczowego class. Następnie wprowadziliśmy jej
nazwę czyli Kursy. Kolejny element to nawias
12
klamrowy, w którym definiujemy elementy składowe
naszej klasy (pola, metody itp.).
Skoro klasa będzie opisywała kursy to teraz możemy
zdefiniować pola, które będą opisywały ich
właściwości. Na początku możemy dodać pole, w
którym będziemy przechowywali nazwę kursu:
class Kursy {
String nazwa;
}
Zauważmy że pole definiujemy jak zmienną: najpierw
typ potem nazwa. W tym wypadku nie została jednak
wykonana inicjalizacja, czyli do pola nie przypisano
wartości początkowej (nic nie stoi jednak na
przeszkodzie, aby tą wartość przypisać). Na tym etapie
warto dodać kolejne pola, które będą opisywać kolejne
właściwości kursu (np. jego cenę, ilość rozdziałów czy
producenta). Nasza klasa wygląda teraz następująco:
class Kursy {
String nazwa;
double cena;
int rozdzialy;
String kategoria;
13
}
Jak widać mamy już cztery różne pola. Nasze kursy
wciąż jednak nie mogą wykonać żadnych działań.
Dlatego zdefiniujemy teraz metodę, która wyświetli
nam nazwę kursu:
void pokazNazwe(){
System.out.println(nazwa);
}
Zwróćmy uwagę na kilka istotnych rzeczy. Nasza
metoda rozpoczyna się od słowa void. Oznacza to, że
metoda nie zwraca żadnej wartości (jedynie wyświetla
wartość pola nazwa). Następny element to nazwa
metody czyli pokazNazwę. Zauważmy, że zgodnie z
przyjętą konwencję nazewnictwa rozpoczynamy od
czasownika (mała litera), po którym następuje
rzeczownik (duża litera na początku). Po nazwie
widoczny jest pusty nawias – oznacza to, że ta metoda
nie przyjmuje żadnych parametrów. Właściwy kod
metody umieszczony został w nawiasie klamrowym. W
tym wypadku używamy polecenia
System.out.println ,aby wyświetlić wartość pola
nazwa.
Nie da się ukryć, że funkcjonalność tej metody jest
ograniczona, ponieważ wyświetla ona wartość
14
pojedynczego pola. Warto ją teraz rozbudować o
kolejne polecenia:
void pokazNazwe(){
System.out.println(nazwa);
System.out.println(cena);
System.out.println(rozdzialy);
System.out.println(kategoria);
}
Teraz za pomocą tej samej metody będziemy mogli
wyświetlić wartości wszystkich czterech pól naszej
klasy. Może jeszcze wykonajmy inicjalizację tych pól
(czyli przypiszemy do nich wartości domyślne) i
ostatecznie nasza klasa będzie wyglądać następująco:
class Kursy {
String nazwa = "Kurs Excel";
double cena = 42;
int rozdzialy = 49;
String kategoria = "Biurowe";
void pokazNazwe(){
System.out.println(nazwa);
System.out.println(cena);
System.out.println(rozdzialy);
System.out.println(kategoria);
}
}
15
Skoro mamy już pola oraz metodę, która wyświetli
wartości tych pól to możemy stworzyć pierwszy obiekt
klasy Kursy.
Nasz obiekt zdefiniujemy w metodzie main, o której
wspominaliśmy wcześniej. Popatrzmy teraz na kod:
public static void main(String[] args) {
Kursy kurs1 = new Kursy();
}
Po lewej stronie widzimy zmienną typu Kursy o nazwie
kurs1. Nasza zmienna wskazuje na nowy obiekt klasy
Kursy. Teraz nasz obiekt może wykonać pewne
działania. Możemy go wywołać z utworzoną wcześniej
metodą pokazNazwę:
public static void main(String[] args) {
Kursy kurs1 = new Kursy();
kurs1.pokazNazwe();
}
Wyraźnie widać odwołanie do obiektu kurs1. Po
kropce umieszczona została nazwa metody. Czyli
ostatecznie cały kod naszego programu wygląda tak:
16
package wstep;
class Kursy {
String nazwa = "Kurs Excel";
double cena = 42;
int rozdzialy = 49;
String kategoria = "Biurowe";
void pokazNazwe(){
System.out.println(nazwa);
System.out.println(cena);
System.out.println(rozdzialy);
System.out.println(kategoria);
}
}
public class Wstep {
public static void main(String[] args) {
Kursy kurs1 = new Kursy();
kurs1.pokazNazwe();
}
}
Teraz możemy go uruchomić. Utworzony zostanie
nowy obiekt kurs1. Następnie ten obiekt wywołany
zostanie z metodą pokazNazwę. Z kolei metoda
wyświetli na ekranie wartości wszystkich czterech pól z
klasy Kursy. Powinniśmy otrzymać taki oto rezultat:
17
run:
Kurs Excel
42.0
49
Biurowe
BUILD SUCCESSFUL (total time: 1 second)
18
19
20
Spis treści:
WSTĘP .......................................................................................... 3
PIERWSZY PROGRAM............................................................... 5
KOMENTARZE............................................................................ 7
ZMIENNE...................................................................................... 8
KLASY ........................................................................................ 11