Java.pdf
(
330 KB
)
Pobierz
Java
1 Cechy Javy przemawiające za jej
wyborem
•
Przenośność - możesz uruchomić program na każ-
dym systemie i sprzęcie, na który istnieje implemen-
tacja wirtualnej maszyny Java.
•
Wygoda - podstawowe klasy i mechanizmy Java są
zaimplementowane tak, że dostarczają programiście
wygodnych w użyciu bibliotek, która w wielu przy-
padkach znacznie przyśpieszają tworzenie aplikacji.
•
Szybkość tworzenia aplikacji - w Java aplikacje pi-
sze się szybciej niż w niektórych innych językach
programowania. Wszystko dzięki użytecznym kla-
som i mądrze zaplanowanym bibliotekom, narzę-
dziom oraz IDE.
•
Duże wsparcie ze strony twórców środowisk progra-
mowania - dzięki środowiskom IDE, takim jak Net-
Beans czy Eclipse, programy możesz tworzyć jesz-
cze szybciej i jeszcze wydajniej używając profesjo-
nalnych narzędzi, które ułatwią tworzenie dużych
aplikacji i panowanie nad tworzeniem oraz utrzymy-
waniem kodu.
•
Użytkownik potrzebuje zainstalowanej maszyny
wirtualnej javy (JVM), aby móc uruchomić nasz
program.
•
Java ustępuje innym językom programowania (np.
C++ lub Ada) w tworzeniu aplikacji czasu rzeczy-
wistego.
3 Czego potrzebujesz, żeby zacząć
Java to nie tylko język programowania - to również śro-
dowisko uruchomieniowe, w którym działają programy,
tak zwana Wirtualna Maszyna Java (Java
Virtual Machi-
ne
- JVM). Java jest zaliczana do języków kompilowano-
interpretowanych - aby napisane przez nas programy za-
działały, wymagany jest kompilator, który przekształci
kod źródłowy do tzw.
byte code,
czyli odpowiednika ko-
du maszynowego rozumianego przez JVM (w tej książce
funkcjonuje również termin
kod bajtowy).
Zarówno JVM
jak i kompilator są dostarczane za darmo przez twórców
Javy - firmę
Oracle.
Najlepiej ściągnąć wszystko w jed-
nym pakiecie, który obecnie nosi nazwę
Java SE
(Ja-
va Platform, Standard Edition). Java SE jest dostępna na
wiele platform, w tym dla systemów 32- i 64-bitowych
Windows i GNU/Linux. Jest to wszystko, czego potrze-
bujemy do rozpoczęcia pracy.
•
Ciekawe możliwości tworzenia interfejsu użytkow-
nika - możliwość dostępu do wygodnych w użyciu
bibliotek i narzędzi pozwalających szybko i bezbo-
leśnie stworzyć niezależny od systemu i przenośny
3.1 Linux
interfejs graficzny dla aplikacji. Biblioteki graficzne
udostępniają metody, które są dokładnie tym, czego Istnieje kilka implementacji Javy.
[1]
My wybierzemy
otwartą implementację OpenJDK
[2]
.
potrzebujesz.
•
Duża ilość publikacji - w sieci jest sporo informacji
na temat języka Java. Jest to ogromna zaleta szcze-
3.1.1 Debian/Ubuntu
gólnie dla osób uczących się tego języka. W Inter-
W konsoli wpisujemy:
necie znaleźć można sporo przykładowego kodu, ar-
$ sudo apt-get install openjdk-6-jdk openjdk-6-jre
tykułów czy tutoriali.
openjdk-6-doc
•
Garbage collection, czyli automatyczne zwalnianie
nieużywanych już obszarów pamięci
3.1.2 Arch Linux
2 Wady, o których warto pamiętać
W konsoli wpisujemy (jako root):
# pacman -S jdk7-openjdk jre7-openjdk
•
Przeważnie programy uruchamiane pod maszyną lub jeśli potrzebujemy wersji 6:
wirtualną działają wolniej niż programy napisane w
C++ (szczególnie czasochłonne jest uruchamianie # pacman -S openjdk6
Następnie możemy sprawdzić działanie wpisując:
aplikacji).
1
2
$ javac -version
4
JAVA Z PUNKTU WIDZENIA PROGRAMISTY
4.2 Kod wykonywalny programu
Po napisaniu kodu źródłowego program kompilowany
4 Java z punktu widzenia progra-
jest do bytecodu. Nie jest to jeszcze kod zrozumiały dla
procesora w sposób bezpośredni, który pozwalałby nam
misty
na jego uruchomienie. Jest to jednak kod zapisany w
określonym formacie, który może zostać poprawnie zin-
4.1 Środowisko uruchomieniowe i develo-
terpretowany przez Maszynę Wirtualną Java, przetłuma-
czony na kod wykonywalny i uruchomiony.
perskie
Aby dobrze programować, warto zrozumieć, jak wyglą-
da całe podłoże mechanizmu Java. Pierwszym podstawo-
wym elementem jest JRE (Java Runtime Environment -
środowisko uruchomieniowe Javy). JRE jest niezbędne
do uruchamiania aplikacji Java na komputerze. A co to
oznacza dla nas programistów? Oznacza nie mniej, nie
więcej, a dokładnie tyle, że programy pisane w tym języ-
ku uruchamiane są nie “w komputerze”, ale w pewnym
środowisku działającym na komputerze. Dzięki temu je-
steśmy pewni, że jeśli powstanie implementacja Wirtu-
alnej Maszyny Java (JRE - w naszym przypadku) na ja-
kąkolwiek maszynę, to będziemy mogli na tej maszynie
uruchomić nasz program bez względu na to, czy będzie
to: Atari ST, XBOX czy najnowsza wersja tostera mar-
ki “dla Ciebie dla Domu”. Dzięki temu programy pisane
w Javie będą mogły być uruchamiane nawet na sprzęcie,
który pojawi się za 10-20 lat, o ile będzie istniała imple-
mentacja Wirtualnej Maszyny Java dla tych urządzeń.
4.3 Zwalnianie pamięci w języku Java -
Garbage Collector
W języku Java w tle, podczas działania naszego progra-
mu, działa mechanizm zwany Garbage Collector (zbie-
racz śmieci). Ma on na celu zwolnienie programisty z
obowiązku dbania o zwalnianie pamięci w programie.
Stosuje on szereg algorytmów mających na celu wyłapa-
nie niepotrzebnych obiektów i usunięcie ich. Posiada to
swoje wady i zalety.
Zaletą jest to, że programista nie musi pamiętać o znisz-
czeniu obiektu lub zwolnieniu pamięci. Mamy wolny
czas, który normalnie poświęcilibyśmy na tworzenie de-
struktorów i czasochłonne myślenie nad tym, czy oby na
pewno dobrze alokuję i zwalniam pamięć. Więcej nawet
- istnieją problemy w których nie jesteśmy w stanie roz-
strzygnąć, czy obiekt powinien zostać “już extquotedbl
Wykonywanie aplikacji języka Java poprzez JRE rozwi- zwolniony czy jeszcze powinien pozostać przy życiu. GC
jało się w następujących kierunkach:
zrzuca z nas również ten ciężar.
•
Początkowo program mógł być interpretowany in-
strukcja po instrukcji (podobnie jak w językach
skryptowych) jednak rozwiązanie to było bardzo
niewydajne i powodowało, że programy napisane w
języku Java działały bardzo wolno.
•
Aby zwiększyć wydajność programów napisanych
w języku Java w nowoczesnych maszynach wirtu-
alnych Java, zaimplementowano mechanizmy ma-
jące przyśpieszyć działanie programów. Jednym z
nich jest technika JIT (Just In Time). Technologia
Just In Time kompiluje kod bezpośrednio przed je-
go wykonaniem. Dzięki temu kompilowane są tylko
i wyłącznie funkcje czy klasy, których używamy w
naszym programie (a nie cały program). JIT w po-
łączeniu z optymalizacją adaptacyjną pozwala dzia-
łać programom napisanych w Java niemal tak szyb-
ko jak aplikacjom C/C++.
Poza JRE (niezbędnym użytkownikowi) istnieje inna po-
pularna forma dystrybucji pakietu Java. JDK (Java De-
velopment Kit), zwana również SDK (Software Develop-
ment Kit). To dystrybucja języka Java dla osób tworzą-
cych kod w języku Java. Poza środowiskiem uruchomie-
niowym zawiera między innymi: kompilator, dokumen-
tację/pomoc i debugger.
Wadą jest to, że działanie Garbage Collectora zajmuje
czas. Nigdy nie wiadomo kiedy Garbage Collector po-
stanowi zadziałać i wyszukać oraz zwrócić do systemu
nieużywaną już przez program pamięć. Przez to systemy
czasu rzeczywistego pisane w Javie obwarowane są do-
datkowymi restrykcjami, ponieważ działanie programu
może być w każdej chwili wstrzymane na odśmiecanie.
Najprostsze mechanizmy działania Garbage Collectora to
usuwanie obiektów, dla których ilość referencji wynosi
zero (z takiego obiektu nie skorzystamy bo nie mamy się
do niego jak odwołać, więc nie ma sensu trzymać go w
pamięci) i odnajdywanie trójkącików (referencja A wska-
zuje na B, B wskazuje na C ale C znowu wskazuje na A),
ale istnieją również bardziej złożone.
Ciekawostki
Istnieją właściwie dwa GC. Jeden uruchamiany jest czę-
sto i zwalnia zmienne które nie są już potrzebne, a któ-
re zostały utworzone “niedawno”. Np. użyte zmienne lo-
kalne po opuszczeniu metody która ich używała. Drugi
jest uruchamiany rzadziej, ale czyści dokładniej całą pa-
mięć, jednak jego działanie może powodować zatrzyma-
nie JVM do czasu zakończenia procesu odśmiecania (ist-
nieją jednak implementacje JVM które nie posiadają tej
wady). Powinieneś wiedzieć, że GC w “zasadzie działa”,
ale dla aplikacji bardzo intensywnie używających pamięć
może zdarzyć się sytuacja, że GC nie zdąży z odśmiece-
3
niem nim nastąpi przepełnienie pamięci - w takim przy-
padku zostanie zrzucony wyjątek OutOfMemoryError i
aplikacja w zasadzie przestanie działać. W takich progra-
mach warto używać przypisania do “null” - pomoże to GC
łatwiej odnajdywać obiekty do usunięcia. Można również
ręcznie zainicjować działanie GC poprzez użycie Sys-
tem.gc() - nie gwarantuje to, że wszystkie śmieci zosta-
ną zwolnione, ale często może pomóc. Wgłębiając się w
różne aspekty pamięci używanej przez JVM odnajdziesz
obszar PermGen. Obszar PermGen nie jest odśmiecany
(tak mówi doświadczenie) przez JVM, przechowuje się w
nim między innymi informacje o klasach załadowanych
przez ClassLoadera. Był taki problem z biblioteką java-
assist, używanej przez kontener EJB3, który powodował
ciągłe powiększanie obszaru zajmowanego PermGen, aż
do katastrofy JVM. Do sterowania (w pewnym stopniu)
GC mogą służyć parametry uruchomieniowe JVM.
5 Nauka programowania w języku
Java
Naukę programowania można podzielić na pewne etapy.
Pierwszy to poznanie struktur języka takich jak: pętle,
warunki, operatory, podstawowe wyrażenia i składnia.
Nie da się w tym czasie uniknąć osobnego działu, jakim
jest korzystanie z bibliotek dostępnych w języku. Choć-
by po to, by wyświetlić coś na ekranie lub pobrać wiado-
mość od użytkownika. Te dwa elementy przeplatają się w
początkowych etapach nauki języka. Później przychodzi
czas na szczegóły związane z semantyką oraz składnią ko-
du, niuansami, dzięki którym można tworzyć optymalny
kod i pisać kod sprytniej i wydajniej.
Poza nauką języka programowania trzeba poznać pa-
radygmaty programowania jako takiego czyli przyjęte,
obowiązujące lub zalecane reguły pisania programu, nie-
zależne od tego w jakim języku programowania (wyso-
4.4 Notka dla programistów C++
kiego poziomu) piszemy. Jest to tak zwany dział “inży-
•
W Java nie ma wielkości globalnych. Ponieważ w nierii oprogramowania”, którym tutaj nie będziemy się
dobrym przybliżeniu wszystko jest klasą (dokładnie zajmować.
rzecz ujmując może być klasą), więc wartość global- Potraktuj naukę języka programowania jak etapy, w któ-
na nie istnieje (każda wartość jest składową jakiejś rych jesteś wyposażany w kolejne narzędzia. Na początku
klasy lub zmienną lokalną).
Twoja wiedza jest równa niemalże zeru, później umiesz
pierwszą rzecz, drugą, trzecią... jesteś wyposażany w ko-
•
Wszystkie klasy są pochodnymi od jednej wspólnej lejne narzędzia, poznajesz więcej mechanizmów, których
klasy Object.
możesz użyć do swojej pracy z językiem.
•
W Java nie ma wielokrotnego dziedziczenia. W Java
występuje za to mechanizm interfejsów. Jedna klasa
może implementować wiele interfejsów.
6 Komunikacja z użytkownikiem
Z racji struktury używanych dziś systemów operacyj-
•
Brak preprocesora. Nie jest potrzebny ponieważ
nych istnieją dwie podstawowe warstwy komunikacji z
wszystkim może zająć się Wirtualna Maszyna Java.
użytkownikiem: konsola i GUI (Graphic User Interfa-
ce). Pierwsza z nich to tak zwana konsola, czyli literki
•
Nie ma plików nagłówkowych. Program podzielony
w okienku (czy na ekranie). Komunikowanie się z użyt-
jest na pakiety.
kownikiem (wyświetlanie informacji, pobieranie danych
od użytkownika) jest znacznie prostsze w trybie konso-
•
Brak typedef - tworzenie alternatywnych nazw dla
li. Dlatego też wszystkie początkowe składniki Javy po-
istniejących typów nie jest wspierane.
znamy pisząc programy działające właśnie pod konso-
lą. Unikniemy w ten sposób komplikowania kodu frag-
•
Brak możliwości przeciążania operatorów.
mentami charakterystycznymi dla bibliotek obsługują-
cych graficzny tryb użytkownika, który poznamy w dal-
•
Operator zakresu :: jest zastąpiony znakiem kropki.
szej części kursu. Pozwoli to skupić się i wyeksponować
to czego uczymy nie zaciemniając kodu niepotrzebnymi
•
W języku Java nie istnieje możliwość przekazania
fragmentami, niezwiązanymi z tematem. Kiedy już oswo-
domyślnej wartości, ani listy inicjalizującej w C++.
isz się z Javą jako taką - nic nie stoi na przeszkodzie abyś
zaczął tworzyć aplikacje posiadające graficzny interfejs
•
Brak destruktorów i konieczności pamiętania o
- jednak naukę najlepiej rozpocząć od prostych aplikacji
zwalnianiu pamięci. Działa garbage collector, któ-
pisanych pod konsolą.
ry robi to za nas.
•
Nie ma wskaźników - wszystko przekazywane jest
przez wartość.
7 Kurs podstawowy
•
W Javie łańcuchy znaków są obiektami klasy ja- W tej części postaram się zapoznać Cię z podstawowymi
va.lang.String.
elementami języka takimi jak: pętle, warunki, zmienne
4
itp. Na początku każdego zagadnienia będzie kilka słów
teorii, później postaram się zobrazować go w postaci ko-
du programu. Do niektórych działów będę dodawał do-
datkowe paragrafy uściślające pewne kwestie, ważne dla
osób już znających się na programowaniu. Jeżeli dopie-
ro zaczynasz swoją przygodę z pisaniem programów, nie
musisz ich czytać, są one tam raczej dla zaawansowanych
programistów potrafiących już posługiwać się językiem
programowania w celu zwrócenia uwagi na pewne kwe-
stie mogące odgrywać rolę w ich programach - osobie do-
piero uczącej się mogłyby tylko zaciemnić obraz całości
i stać się niepotrzebną na początku komplikacją.
Ponieważ aby coś wyświetlić lub pobrać jakieś dane od
użytkownika trzeba użyć bibliotek oraz w trakcie progra-
mowania używać pewnych konwencji - niektóre fragmen-
ty mogą wydać się dla Ciebie na samym początku nie-
zrozumiałe - a do ich objaśnienia dojdziemy później. Po-
staraj się nie zwracać na nie uwagi w początkowej fazie
nauki, przyjąć, że “tak się robi” i poczekać trochę aż z
czasem wszystko się wyjaśni. Zaczynamy!
7
KURS PODSTAWOWY
gdzie widnieje
NazwaPliku
musisz wpisać nazwę pli-
ku, w którym zapisujesz swój program. Jeżeli plik będzie
nazywał się Pusty.java to powyższy kod będzie wyglądał
tak:
public class Pusty { public static void main (String []
args) { } }
Dobrym nawykiem jest pisanie nazwy klasy wielką lite-
rą. Nazwa pliku z kodem musi być taka sama jak nazwa
klasy. W tym przypadku to “Pusty”, a plik, w jakim za-
piszemy kod, to Pusty.java.
Powyższy program nic nie robi - jest jak łupinka orze-
cha pustego w środku. Jeżeli Twój edytor wspiera two-
rzenie szablonów nowych dokumentów, to dobrym po-
mysłem może okazać się stworzenie właśnie takiego sza-
blonu w edytorze - przynajmniej na początek. Zwolni Cię
to z obowiązku przepisywania tej struktury za każdym ra-
zem.
7.1
Jak kompilować / uruchamiać progra-
my
7.2.1 Struktura programu dla zaawansowanych
Jeżeli używasz konsoli najpierw musisz skompilować kod
(przetłumaczyć na język zrozumiały dla Wirtualnej Ma- Ponieważ w języku Java wszystko jest obiektem, również
program musi być reprezentowany jako klasa. JRE pro-
szyny Java). Robisz to poleceniem:
szone o uruchomienie pliku, wywołuje domyślnie meto-
javac NazwaPliku.java
dę main klasy, o nazwie identycznej z nazwą pliku. Jeżeli
Powstanie wtedy plik
NazwaPliku.class,
który będzie w pliku nie znajduje się klasa o tej samej nazwie zosta-
już programem w języku Java. Aby go uruchomić wy- nie zwrócony błąd. Wszystko, co znajduje się w metodzie
main, to właśnie nasz program. Ponieważ nigdzie nie jest
konaj:
tworzony obiekt naszej klasy, metoda main musi być sta-
java NazwaPliku
tyczna, aby można było ją wywołać bez tworzenia instan-
i po problemie.
cji klasy (czyli bez tworzenia obiektu). Nakłada to na nas
Jeżeli używać środowiska IDE nie będziesz musiał wpi- pewne ograniczenia - na przykład nie możemy korzystać
sywać żadnych komend. W Eclipse wystarczy, że wybie- z this (nie ma ono żadnego sensu w metodzie statycznej).
rzesz:
Run \ Run As \ Java Application
. W NetBe- Metodą pozwalającą ominąć ten problem jest stworzenie
ans zaś wybierz
Run \ Run Main Project
(musisz tyl- obiektu w metodzie main i przeniesienie kodu do kon-
ko zwrócić uwagę który projekt jest wyróżniony po lewej struktora:
stronie na liście
projects).
Jeżeli chcesz uruchomić inny public class Pusty{ public Pusty() { // Tutaj kod programu
projekt, kliknij na jego nazwę prawym przyciskiem my- } public static void main(String [] args) { new Pusty(); } }
szy i wybierz
Set As Main Project.
7.2
Struktura podstawowego programu
W Javie każdy program posiada pewną sztywną struktu-
rę. Nie proszę, abyś ją zrozumiał (jeszcze nie teraz), ale
żebyś po prostu zapamiętał ją i przyjął, że taka jest (z
czasem wszystko stanie się dla Ciebie jasne).
public class NazwaPliku { public static void main (String
[] args) { } }
Powyższy kod tworzy obiekt klasy, którą projektujemy
- dzięki temu ograniczenia związane z pisaniem kodu w
metodzie statycznej znikają. Zastanawiać może jeszcze
fragment kodu String [] args - jest to nic innego jak prze-
kazanie do programu listy (tutaj tablicy) stringów (łańcu-
chów znaków czy jak wolisz napisów), będących parame-
trami wywołania Twojego programu. To właśnie poprzez
zmienną args (arguments) otrzymujesz dostęp do wszyst-
kich parametrów z jakimi została uruchomiona twoja
aplikacja. Przekazanie parametrów od wersji
Java SE5
może wyglądać również tak:
Jeżeli chciałbyś uruchomić ten program, musiałbyś go public static void main(String ... args) {
zapisać w pliku NazwaPliku.java. Po prostu w miejscu
5
7.3
Zmienne
liczba = 2;
no i w pudełku znalazła się liczba 2, a to co było w środ-
ku, zostało automatycznie wyrzucone. Można w jednej
linijce stworzyć pudełko i włożyć do niego coś pisząc:
int liczba = 2;
Teraz wartości zmiennoprzecinkowe. Typ zmiennej na-
zywa się
float:
float liczba_zmiennoprzecinkowa = 3.14;
Zmienne możesz sobie wyobrazić jak pudełka, które naj-
pierw opisujesz jakąś etykietką (nazwą), potem coś do
takiego pudełka wkładasz i to tam trzymasz. Jest tylko je-
den warunek: musisz wcześniej powiedzieć, co będziesz
w tym pudełku trzymał. W analogii do zwierząt: inne
pudełko weźmiesz dla psa (budę), inne dla rybki (akwa-
rium). Dlatego musisz wziąć odpowiednie pudełko w za-
leżności od tego, co chcesz trzymać. Potem możesz na-
zwać to pudełko. Znowu analogicznie możesz nakleić na-
lepkę z napisem “Nemo” na akwarium - informującą o
tym, że rybka w akwarium nazywa się Nemo. Może być
wiele rybek, ale twoją odróżnia od innych to, że nazywa
się Nemo.
stworzy pudełko do trzymania liczb zmiennoprzecinko-
wych (float) o nazwie
liczba_zmiennoprzecinkowa
i
włoży do tego pudełka wartość
3,14.
Teraz przechodzi-
my z terminologii pudełkowej do terminologii zmiennych
- najwyższy czas! Więc teraz uważaj. Do zapisania poje-
Jeżeli nie zrozumiałeś analogii ze zwierzątkami, to mo- dynczego znaku użyjesz
typu
char.
że porównanie matematyczne da Ci do myślenia. Kiedy char znak = 'a';
rozwiązujesz jakieś zagadnienie matematyczne, gdzieś na
Powyższa linijka
utworzy
zmienną
typu
char
o
nazwie
końcu pojawia się coś w stylu:
znak
i
wartości
a
(zawartość pudełka będziemy nazywać
x=2
wartością zmiennej). Zapewne trapi Cię cały czas pyta-
Cały czas posługiwałeś się symbolem
x
no i nagle okazuje nie: “skąd tam się wziął średnik na końcu”. Otóż pro-
gramowanie polega na wydawaniu komputerowi poleceń.
się, że jest równy 2 ... jeżeli
x = 2
to
Tak jak to powyższe “Utwórz zmienną typu znakowego o
x+x+x=6
wartości
a
extquotedbl. Każde takie polecenie w języku
zgadza się ? Czyli posługujesz się x-em jak dwójką i za Java musi kończyć się średnikiem. Programując przyj-
każdym razem gdy piszesz x myślisz 2. Identycznie spra- muje się, że zapisujemy jedno polecenie w jednej linij-
ce (choć można w jednej linijce zapisać więcej poleceń -
wa ma się ze zmiennymi.
są wtedy po prostu oddzielone średnikami). Dzięki temu
Wróćmy do zmiennych jako takich. Zmienne to nic inne- program wygląda tak, że
każda linijka kończy się śred-
go, jak nazywanie w programie napisów i liczb. Możesz
nikiem
- choć tak naprawdę
każde polecenie (instruk-
liczbie 2 przypisać dowolną nazwę. Używane nazwy mo-
cja) kończy się średnikiem.
Ot cała filozofia średników.
gą być niemalże dowolnie długie (nie ważne czy zmienna Zwróć jeszcze uwagę, na to, że pojedyncze znaki zapisu-
będzie nazywała się
x
czy
niewiadoma_rownania_x).
jemy w apostrofach. Użycie cudzysłowu byłoby błędem.
W nazwach najlepiej ograniczać się do stosowania ma- Powyższą wiedzę przedstawię w tabelce:
łych i wielkich liter, cyfr i znaku podkreślenia.
Każdą
instrukcję kończ znakiem średnika
;
7.3.1
Typy zmiennych
Podstawowe informacje, jakie możemy chcieć przetrzy-
mać w komputerze, to: wartość logiczna, liczba, napis
lub pojedynczy znak. Mamy więc różne
typy
zmiennych.
Podstawową wartością, którą możesz chcieć przechować
sobie gdzieś (zanotować na tak długo jak Ci jest potrzeb-
na - a tak działają zmienne), jest liczba. Komputer roz-
różnia liczby całkowite (2;
−15;
123) i zmiennoprzecin-
kowe (2,14; 3,14;
−1,5).
Do trzymania liczby
całkowitej
używać będziemy typu
int.
Tak więc napisanie:
8 Pierwszy program
Utwórzmy plik Hello.java o poniższej treści.
//główna klasa programu: public class Hello { //głów-
na metoda programu: public static void main(String
args[]){ System.out.print(“Witaj swiecie! extquotedbl);
//ten tekst w nawiasie zostanie wyświetlony: } }
Najlepiej do tego celu użyć edytora plików tekstowych
kolorującego składnię. Dzięki temu bez problemu od-
int liczba;
stworzy zmienną o nazwie liczba. Teraz powrót do ana- różnisz treść programu od licznych komentarzy, których
logii pudełek. Stworzyłeś pudełko, które umie trzymać obecność ma pomóc zorientować się w temacie i nie
liczby całkowite i nazwałeś je
liczba.
Masz więc pudeł- wpływa w żaden sposób na działanie naszego programu.
ko
liczba.
Ale co w nim jest? Nie wiadomo - i naprawdę Ja użyłem darmowego programu
Vim
(wersję dla twoje-
to jest poprawna odpowiedź. Musisz pamiętać! Jak two- go systemu operacyjnego pobierzesz spod adresu
http://
rzysz pudełko to ono w ogólności na starcie nie jest puste
www.vim.org/download.php.
Możesz skopiować powyż-
(tylko w pewnych szczególnych przypadkach). Aby teraz sze źródło programu, lub przepisać je ręcznie (w celu roz-
poczęcia ręcznej edycji tekstu programu, należy przesta-
na przykład włożyć do tego pudełka liczbę 2 piszesz:
Plik z chomika:
kakarolinka
Inne pliki z tego folderu:
JAva od podstaw.pdf
(1339 KB)
TLCL-13.07.pdf
(2070 KB)
serverguide.pdf
(1304 KB)
Java.pdf
(330 KB)
java_fundamentals_course.pdf
(70 KB)
Inne foldery tego chomika:
12. Valentines Shibari
APK
Camera
G531F
masaz
Zgłoś jeśli
naruszono regulamin