Menu
Strona główna
Hacking
Programowanie
Telefonia Kom├│rkowa
Kody do Gier
Linux
Dlaczego?
Programowanie w Delphi
Mapa strony
 Programy
Systemy
Artykuły PDF

Security

Skanery
Sniffery
Security

Windows

U┼╝ytkowe
Przegl┬▒darki graficzne
Kodeki
Narz─Ödzia plikowe
Narz─Ödzia dyskowe
Narz─Ödzia systemowe
Sterowniki
Szyfrowanie danych
Zarz±dzanie hasłami
Zarz┬▒dzanie rejestrem
£aty i Patche
Zarz┬▒dzanie pami─Öci┬▒
Synchronizacja czasu
Nagrywanie płyt
Free Antivirus (Darmowe Antyvirusy)
Sterowniki
Obr├│bka d┬╝wi─Öku
Edycja wideo

Internetowe

Bezpiecze├▒stwo
Programy P2P
Komunikatory
Dodatki do przegl┬▒darek
Klienty poczty elektronicznej
Narz─Ödzia Antyspamowe
Przegl┬▒darki grup dyskusyjnych
Przegl┬▒darki Offline
Serwery poczty elektronicznej
Telefonia kom├│rkowa
Wyszukiwarki internetowe
Zdalny dost─Öp
Cybernianie
Klienty FTP
Narz─Ödzia internetowe
Prywatno┼Ťc
Przegl┬▒darki internetowe
Serwery FTP
Serwery WWW
Wspomagacze ┼Ťci┬▒gania
Zarz┬▒dzanie sieci┬▒ lokaln┬▒

Tuning Systemu

Diagnostyka i testowanie
Inne
Rozszerzenia pulpitu
Tapety na pulpit
Tuning Systemu
Ikony
Powłoki
Tuning sprz─Ötu
Wygaszacze ekranu

Programowanie

Kompilatory
Biblioteki i komponenty
Bazy danych
Edytory programistyczne
┬Žrodowiska programistyczne
Debugery
Tworzenie wersji instalacyjnych

Webmastering

U┼╝ytkowe
Kursy

Linux

U┼╝ytkowe
Internetowe
Multimedialne

Programy biurowe

Programy dla firm
Pakiety biurowe
Administracja
Edytory tekstu
Grafika prezentacyjna
Kadry i płace
Wspomaganie projektowania
Zarz┬▒dzanie projektami
Bazy danych
Finanse i ksi─Ögowo┼Ťc
Handel
Programy ewidencyjne
Zarz┬▒dzanie informacj┬▒ osobist┬▒ (PIM)
 Download GRY
Pelne Wersje GIER
 Artyku│y > Programowanie > Kurs programowania w Javie

Spis tre┼Ťci:

1.Co to jest Java?
2.Dlaczego akurat Java?
3.Przygotowanie komputera.
4.Wprowadzenia.
5.Poj─Öcie klasy.
6.Pierwszy program.
7.Typy danych w Javie.
8.Proste operacje arytmetyczne.
9.Podsumowanie.
10.Bibliografia

1.Co to jest Java?

┬á ┬á ┬áJava to stosunkowo nowy, mobilny, obiektowy j─Özyk programowania stworzony przez firm─Ö Sun Microsystems. J─Özyki programowania mo┼╝na podzieli─ç na dwie cz─Ö┼Ťci: kompilowane i interpretowane. ┬áKompilowane to takie kt├│re po napisaniu programu w takim j─Özyku trzeba skompilowa─ç za pomoc─ů kompilatora (programu t┼éumacz─ůcego j─Özyk programowania na kod maszynowy zrozumia┼éy dla cz┼éowieka). Interpretowane j─Özyki to takie kt├│re nie wymagaj─ů kompilacji, ale program napisany w takim j─Özyku jest t┼éumaczony - interpretowany przez interpretator podczas uruchomienia.
┬á ┬á ┬áJava jest do┼Ť─ç specyficzna w tym przypadku poniewa┼╝ jest hybryd─ů pomi─Ödzy tymi dwoma rodzajami j─Özyk├│w programowania. ┬»eby uruchomi─ç Jav─Ö trzeba j─ů wpierw skompilowa─ç do kodu po┼Ťredniego miedzy sk┼éadni─ů j─Özyka, a kodem maszynowym kt├│ry zwie si─Ö bytecode. Nast─Öpnie taki bytecode podczas uruchomienia jest t┼éumaczony przez swego rodzaju interpretator jakim jest Java Virtual Machine - Wirtualna Maszyna Javy (JVM), ale o tym p├│┬╝niej. ┬áJava jest mobilna, inaczej multiplatformowa ┬áto znaczy, ┼╝e program napisany w Javie dzia┼éa na ka┼╝dym systemie operacyjnym wystarczy, ┼╝e jest zainstalowana JVM odpowiednia dla danego systemu.
┬á ┬á ┬áNajwa┼╝niejsze ┼╝eby┼Ť zapami─Öta┼é, ┼╝e Java to mobilny, obiektowy j─Özyk programowania. I ┼╝eby uruchomi─ç program napisany w Javie potrzeba wpierw skompilowa─ç go do kodu po┼Ťredniego - bytecode, a nast─Öpnie interpretowa─ç za pomoc─ů JVM.

2.Dlaczego akurat Java?

┬á ┬á ┬á┬»eby przekona─ç Ci─Ö do programowania w Javie przedstawi─Ö jej zalety, a p├│┬╝niej kr├│tko om├│wi─Ö ka┼╝d─ů z nich:

Zalety:

mobilno┼Ť─ç
skalowalno┼Ť─ç
ogromne wsparcie
dost─Öpno┼Ť─ç gotowych rozwi─ůza┼ä
tworzenie rozwi─ůza┼ä internetowych

┬á ┬á ┬áMobilno┼Ť─ç Javy pozwala jak ju┼╝ wcze┼Ťniej pisa┼éem na pisanie program├│w nie zale┼╝nych od platformy. Skalowalno┼Ť─ç Javy pozwala na rozbudow─Ö projektu bez konieczno┼Ťci ingerowania i modyfikacji ju┼╝ istniej─ůcego kodu. Java posiada r├│wnie┼╝ ogromn─ů ilo┼Ť─ç gotowych bibliotek, komponent├│w kt├│re u┼éatwiaj─ů pisanie program├│w. Jest tak┼╝e przystosowania to tworzenia r├│┼╝nego rodzaju mechanizm├│w internetowych takich jak np. aplety.

3.Przygotowanie komputera.

┬á ┬á ┬áAby m├│c programowa─ç w Javie potrzebne s─ů 3 rzeczy:

edytor tekstowy
kompilator
Java Virtual Machine(JVM)

┬á ┬á ┬áEdytor tekstowy pozwala nam oczywi┼Ťcie pisa─ç kod programu. ┬áMo┼╝e by─ç to najprostszy edytor taki jak Windowsowy Notatnik jednak stanowczo odradzam taki wyb├│r. Szczeg├│lnie jak kto┼Ť zaczyna programowa─ç przyda┼éoby si─Ö jakie┼Ť narz─Ödzie kt├│re u┼éatwi ca┼éy proces pisania przez kolorowanie sk┼éadni, ┼é─ůczenie w pary nawias├│w itd ( [┬áwww┬á] ). Tutaj ju┼╝ wyb├│r nale┼╝y do Ciebie, mog─Ö jedynie zaprezentowa─ç kilka wg. mnie dobrych pozycji:

Windows:

Crimson Editor ( [ www ] )
BlueJ ( [ www ] )
NetBeans ( [ www ] )

Linux:

Kate (w repozytoriach)
Kdevelop  (w repozytoriach)

┬á ┬á ┬áAby u┼╝y─ç napisany przez nas kod, nale┼╝y go wpierw skompilowa─ç. Do tego s┼éu┼╝y jak ju┼╝ wcze┼Ťniej pisa┼éem kompilator. Kompilator├│w te┼╝ jest kilka, ja przedstawi─Ö dwa: javac i gcj. Ten pierwszy to standardowy kompilator do Javy wydany przez Sun Microsystems, a ten drugi to cz─Ö┼Ť─ç projektu GNU. Wraz z kompilatorem dostarczone s─ů wszystkie standardowe i nie tylko biblioteki komponenty j─Özyka Java. Ca┼ée SDK Javy (JDK) mo┼╝na pobra─ç z [┬áwww┬á] lub GCJ z [┬áwww┬á]

My zajmiemy si─Ö standardowym kompilatorem Javy wydanym przez Suna.
Ze strony Suna ┼Ťci─ůgamy J2SE ┬áSDK i J2SE JRE (Linux posiada to w repozytoriach - szukaj "javac" lub jak chcesz "gcj"), ┬áinstalujemy.

4.Wprowadzenie

┬á ┬á ┬áJa przedstawi─Ö zwyk┼éa kompilacj─Ö programu spod konsoli. Je┼╝eli wybra┼ée┼Ť jaki┼Ť bardziej rozbudowany edytor, IDE to b─Ödziesz musia┼é zapozna─ç si─Ö z Nim sam.

┬á ┬á ┬áJava to j─Özyk silnie nastawiony na obiektowo┼Ť─ç to znaczy, ┼╝e ka┼╝da cz─Ö┼Ť─ç, mechanizm, metoda musi by─ç opisana w klasie, ale o tym p├│┬╝niej.
┬á ┬á ┬áKa┼╝dy plik kodu ┬╝r├│d┼éowego Javy - czyli naszego potencjalnego programu musi mie─ç rozszerzenie *.java. To znaczy, ┼╝e przyk┼éadowa nazwa musi wygl─ůda─ç tak:

nazwa_programu.java

Następnie, kiedy mamy już zapisany plik z kodem w takiej postaci należy to skompilować. Do tego nam posłuży nasz zainstalowany wraz z JDK kompilator "javac". Otwieramy konsolę i wpisujemy:

javac nazwa_programu.java

Je┼╝eli wszystko p├│jdzie dobrze to kompilator utworzy nam plik class:

nazwa_programu.class

Plik class to nic innego jak wcze┼Ťniej wspomniany bytecode kt├│ry mo┼╝e by─ç ju┼╝ obs┼éu┼╝ony przez JVM. Aby odpali─ç program wpisujemy w konsoli:

java nazwa_programu

Wpisana tutaj komenda "java" to nic innego jak uruchomienie Maszyny Wirtualnej Javy z naszym programem podanym dalej w parametrze. Powinno to uruchomi─ç/wypisa─ç wynik dzia┼éania naszego programu. Powiniene┼Ť r├│wnie┼╝ wiedzie─ç, ┼╝e kompilator odpowiada te┼╝ za znalezienie i wypisanie b┼é─Öd├│w w sk┼éadni programu podczas kompilacji, o ile takie pope┼éni┼ée┼Ť.

5.Poj─Öcie klasy.

┬á ┬á ┬áJak ju┼╝ pisa┼éem ka┼╝dy w┼éa┼Ťciwie program w Javie to klasa lub zbi├│r klas i ich wyst─ůpie┼ä. Klasa to schemat, projekt programu lub jego cz─Ö┼Ťci. Sk┼éadnia klasy wygl─ůda np. tak:


Kod:


public class MojaKlasa
{

}



┬á ┬á ┬áW ┼Ťrodku tej klasy mo┼╝emy umie┼Ťci─ç oczywi┼Ťcie wszystkie instrukcje metody itd. Sama klasa nie jest jeszcze czym┼Ť konkretnym. Jest tylko schematem. Tak jak projekt domu, nie jest jeszcze miejscem gdzie mo┼╝na mieszka─ç. Trzeba dzi─Öki temu projektowi wybudowa─ç prawdziwy dom, ┼╝eby mo┼╝na by┼éo z niego korzysta─ç tak samo klasa to tylko projekt jakiej┼Ť cz─Ö┼Ťci programu.
┬á ┬á ┬áZa┼é├│┼╝my, ┼╝e mamy napisa─ç program organizuj─ůcy zoo. Mo┼╝emy stworzy─ç (oczywi┼Ťcie jedn─ů z wielu klas kt├│re by┼Ťmy musieli stworzy─ç w takim projekcie) klas─Ö o nazwie "Dozorca". Ustawimy tam pole (p├│┬╝niej dowiesz si─Ö jak to si─Ö robi i jak sie to fachowo nazywa) na imi─Ö, wiek, p┼éac─Ö. Ale taka klasa b─Ödzie tylko wzorem. Mo┼╝emy oczywi┼Ťcie p├│┬╝niej stworzy─ç kilka egzemplarzy tych "Dozorc├│w" np. doz1, doz2, doz3. I powype┼énia─ç te pole w ┼Ťrodku np.: w doz1, w polu imie wpisa─ç "J├│zek", w polu wiek "52", za to w doz2 w polu imie "Asia", a w polu wiek "19" itd. Za to w samej klasie nic nie wype┼éniamy. To jest tylko schemat.
┬á ┬á ┬áWyt┼éumacz─Ö teraz sk┼éadni─Ö deklaracji klasy. Na pocz─ůtku mamy tak s┼é├│wko public. Jest to modyfikator dost─Öpu (ang. access modifier). S─ů 3 rodzaje tego modyfikatora: public, private, protected. Definiuj─ů one czy informacja (bo nie tylko klasa mo┼╝e mie─ç modyfikator) ma by─ç widoczna z poza klasy, czy nie. W przypadku klasy oznacza to, ┼╝e klasa jest widoczna z zewn─ůtrz (zrozumiesz to p├│┬╝niej przy omawianiu program├│w dzia┼éaj─ůcych na wielu klasach.).
┬á ┬á ┬áPisze to tu tylko dlatego poniewa┼╝ s─ů 3 wa┼╝ne zasady. ┬»eby program dzia┼é w programie musi by─ç przynajmniej jedna klasa publiczna, w jednym pliku mo┼╝na umie┼Ťci─ç tylko jedn─ů klas─Ö publiczn─ů i plik musi si─Ö nazywa─ç dok┼éadnie tak samo jak klasa publiczna zawarta w nim. To znaczy ┼╝e je┼╝eli mamy publiczn─ů klas─Ö "MojaKlasa" to nazwa pliku z kodem ┬╝r├│d┼éowym musi si─Ö nazywa─ç MojaKlasa.java. To na tyle je┼╝eli chodzi o modyfikatory dost─Öpu.
┬á ┬á ┬áWr├│─çmy do omawiania dalszej cz─Ö┼Ťci sk┼éadni klasy. Wiemy co oznacz ju┼╝ s┼éowo kluczowe (ang. keyword) "public". Nast─Öpnym s┼éowem jest s┼éowo ┬áclass. To s┼éowo informuje kompilator, ┼╝e jest to deklaracja/definicja klasy. Je┼╝eli definiujemy/deklarujemy klas─Ö te s┼éowo musi si─Ö pojawi─ç. W przeciwie┼ästwie do s┼éowa public. Nie umieszczenie s┼éowa public spowoduje, ┼╝e kompilator domy┼Ťlnie uzna klas─Ö za publiczn─ů, za to nie umieszczenie s┼éowa "class" spowoduje b┼é─ůd kompilatora. Kolejnym s┼éowem jest "MojaKlasa". To s┼éowo wymy┼Ťlone przeze mnie. Jest to nazwa klasa i jest ona dowolna. R├│wnie dobrze m├│g┼éby┼Ť nazwa─ç to swoim imieniem, tylko musia┼éby┼Ť zmieni─ç nazw─Ö pliku. Istnieje tylko jedna, umowna zasada, ┼╝e nazwy klas piszemy z du┼╝ej litery.
┬á ┬á ┬áJ─Özyk Java jest wra┼╝liwy na znaki (ang. case sensitive) to znaczy, ┼╝e rozr├│┼╝niane s─ů ma┼ée i du┼╝e litery. Czyli dla kompilatora "MojaKlasa" to co innego ni┼╝ "mojaklasa". Z koleji Java jest niewra┼╝liwa na bia┼ée znaki - spacje. Istniej─ů one tylko dla formy stylistycznej ich wi─Öksza czy mniejsza ilo┼Ť─ç nie zmienia dzia┼éania programu. Mimo to niedozwolone s─ů przerwy w nazwach zmiennych, klas itd .Zaleca si─Ö u┼╝ywanie _ . Kolejnym znakiem jakie spotykamy przy definicji klasy s─ů klamry { i }". Wyznaczaj─ů pocz─ůtek i koniec klasy. Miedzy nimi umieszcza si─Ö instrukcje, metody itd. S─ů konieczne.
6.Pierwszy program.

     Koniec teorii, przynajmniej chwilowo. Przyjrzyjmy się takiemu programowi:

Kod:


public class MojProgram
{
     public static void main(String [] args)
     {
           int mojaLiczba = 7 ;
           char mojZnak  = 'z';

           System.out.println("Moja liczba to " + mojaLiczba) ;
           System.out.println("Moj znak to " + mojZnak) ;
     }
}


Zapisz plik jako MojProgram.java. Nast─Öpnie przeprowadzimy kompilacj─Ö. Otwieramy konsole i wpisujemy:
javac MojProgram.java
I uruchomimy program:
java MojProgram.
Powinno na ekranie pojawi─ç si─Ö si─Ö co┼Ť takiego:
Moja liczba to 7
Moj znak to z


┬á ┬á ┬áTeraz zajmijmy si─Ö poszczeg├│lnymi cz─Ö┼Ťciami tego programu. Pocz─ůtek ju┼╝ znamy: public class MojProgram to deklaracja klasy o nazwie MojProgram. W klamrach mamy oczywi┼Ťcie cia┼éo klasy czyli jej definicja. W ciele klasy mamy co┼Ť takiego public static void main(String [] args). Jest to deklaracja metody - czyli wydzielonej cz─Ö┼Ťci programu, uruchamianej na ┼╝yczenie (o tym te┼╝ dowiesz si─Ö p├│┬╝niej). Ale to nie jest zwyk┼éa metoda. Jest to metoda main(). Czyli g┼é├│wna metoda programu. Od tej metody zaczyna si─Ö uruchamianie programu. Jej deklaracja jest sta┼éa.
┬á ┬á ┬áNa pocz─ůtku mamy public - metoda main() musi by─ç publiczna skoro ma zaczyna─ç program. Musi by─ç widoczna z zewn─ůtrz. P├│┬╝niej wyst─Öpuje s┼é├│wko static - to jest w┼éa┼Ťnie wyj─ůtek o kt├│rym pisa┼éem wcze┼Ťniej. Dzi─Öki temu s┼éowu ta metoda, mo┼╝e by─ç uruchomiona bez tworzenia obiektu klasy w kt├│rym si─Ö znajduje. Kolejnym s┼éowem wyst─Öpuj─ůcym przy deklaracji jest s┼éowo void - wskazuje ona to co zwraca metoda main() czyli co przeka┼╝e nam po zako┼äczeniu pracy. void oznacza, ┼╝e nie przeka┼╝e nic. Nast─Öpnie mamy s┼éowo main. To nazwa metody, zawsze musi by─ç taka samo poniewa┼╝ to g┼é├│wna metoda, rozpoczynaj─ůca program. Je┼╝eli b─Ödzie mia┼éa inn─ů nazw─Ö JVM nie b─Ödzie wiedzia┼éa kt├│r─ů metod─Ö uruchomi─ç bo nie zna ich nazw, zna tylko nazw─Ö main. Dalej mamy takie wyra┼╝enie (String [] args). W nawiasach okr─ůg┼éych przy deklaracji metod, deklaruje si─Ö jakie parametry ma przyj─ů─ç metoda podczas uruchomienia. W metodzie main() nie jest inaczej. Wida─ç ┼╝e metoda main() przyjmuje jako parametr tablice - widzimy to po nawiasach kwadratowych, zmiennych typu String. S┼éowo args to tylko nazwa, kt├│r─ů mo┼╝emy manipulowa─ç w programie. Kiedy uruchamiamy program:
java MojProgram parametr0,parametr1
To w┼éa┼Ťnie to co wpiszemy zamiast tego ┬áparametr0, parametr1 itd b─Ödzie si─Ö znajdywa┼éo w┼éa┼Ťnie kolejno w args[0], args[1] itd. Mo┼╝e ci si─Ö to wyda─ç bardzo trudne i niezrozumia┼ée, ale wszystko si─Ö wyja┼Ťni podczas omawiania kursu. Je┼╝eli zrozumienie tego sprawia Ci trudno┼Ť─ç to zapami─Ötaj tylko ┼╝e deklaracja metodymain() wygl─ůda zawsze tak:


Kod:


public static void main(String [] args)
{

}



Klamry oczywi┼Ťcie wskazuj─ů pocz─ůtek i koniec metody. Mi─Ödzy klamrami znajduj─Ö sie cia┼éo metody. Podczas uruchamiania programu wykonuje si─Ö wszystko, linijka po linijce co znajduje si─Ö w ciele metody main(). Co ni b─Ödzie tam umieszczone nie zostanie wykonane. W naszym przyk┼éadzie w ciele metody main() mamy nast─Öpuj─ůce instrukcje:


Kod:


int mojaLiczba = 7 ;
char mojZnak  = 'z';

System.out.println("Moja liczba to " + mojaLiczba) ;
System.out.println("Moj znak to " + mojZnak) ;



int mojaLiczba = 7 ; jest to definicja zmiennej typu int (ang. integer) czyli zmienna przechowuj─ůca liczby ca┼ékowite. Zmienna to nic innego jak miejsce w pami─Öci na informacje okre┼Ťlonego typu. Poniewa┼╝ zmienna o nazwie mojaLiczba jest typu int to znaczy, ┼╝e nie mo┼╝na do niej przypisa─ç nic innego jak liczb─Ö ca┼ékowit─ů. Po s┼éowie int mamy s┼éowo mojaLiczba to nic innego jak nazwa zmiennej dzi─Öki kt├│rej mo┼╝emy operowa─ç ni─ů w programie. Nazwa jest dowolna tylko umowna zasada jest taka ┼╝e pierwszy wyraz tworz─ůcy nazw─Ö zmiennej powinien by─ç pisany z ma┼éej litery. Po nazwie zmiennej wyst─Öpuje operator przypisania "=" czyli nasze Polskie "r├│wna si─Ö". Ten operator przypisuje zmiennej po lewej stronie operatora warto┼Ť─ç kt├│ra stoi po prawej stronie operatora przypisania w naszym przypadku liczb─Ö 7. Po ca┼éej tej operacji nast─Öpuje ┼Ťrednik. ┬Žrednik jest bardzo elementem. Ko┼äczy on instrukcje. Ka┼╝da pojedyncza instrukcja musi zako┼äczy─ç si─Ö ┼Ťrednikiem. Oczywi┼Ťcie do jednej zmiennej mo┼╝na przypisywa─ç dane niesko┼äczon─ů ilo┼Ť─ç razy, zamazuj─ůc poprzedni─ů warto┼Ť─ç. Tutaj jest przyk┼éad ilustruj─ůcy definicje zmiennej bez inicjalizacji - czyli bez przypisania do niej od razu warto┼Ťci:


Kod:


int mojaLiczba ;
mojaLiczba = 7 ;
mojaLiczba = 9 ;
mojaLiczba = 363 ;



Ko┼äcowa warto┼Ť─ç mojaLiczba" wynosi─ç b─Ödzie 363. Pozosta┼ée warto┼Ťci zostan─ů zamazane. W naszym programie wyst─ůpi┼é jednak tez inny typ zmiennej. Typ char. Typ char to nic innego jak zmienna znakowa. Mo┼╝na w niej przechowywa─ç pojedynczy znak np. 'a', 'b', ']', '%' itd. Tylko jeden znak. ┬»eby przypisa─ç znak do zmiennej typu char musi oznaczy─ç go apostrofami jak widzimy na listingu:

Kod:

char mojZnak  = 'z';



┬á ┬á ┬áKolejn─ů instrukcj─ů kt├│ra widzimy w ciele metody main() jest System.out.println(). Na tym etapie kursu nie mog─Ö Ci ┬ádok┼éadnie wyja┼Ťni─ç co to jest. P├│ki co przyjmij, ┼╝e to jest instrukcja kt├│ra wypisuje to co ma w nawiasie do standardowego wyj┼Ťcia - w wi─Ökszo┼Ťci komputer├│w monitora i schodzi linijk─Ö ni┼╝ej, czyli je┼╝eli wypiszemy co┼Ť znowu. b─Ödzie to wypisane linijk─Ö ni┼╝ej. Je┼╝eli chcemy wypisa─ç gotowy tekst to musimy wpisa─ç go w cudzys┼éowie tak jak w przyk┼éadzie, je┼╝eli chcemy wypisa─ç jak─ů┼Ť zmienn─ů wystarczy mi─Ödzy nawiasy wpisa─ç jej nazw─Ö. Je┼╝eli chcemy po┼é─ůczy─ç te dwie, lub jeszcze kilka innych rzeczy musimy u┼╝y─ç mi─Ödzy nimi operatora dodawania, nasze Polskie "plus" - "+" .


Kod:

System.out.println("Moja liczba to " + mojaLiczba) ;


Lub je┼╝eli chcemy wypisa─ç wszystko w jednej linii to:

Kod:

System.out.println("Moja liczba to " + mojaLiczba + " moj znak to " + mojZnak) ;


Zauwa┼╝, ┼╝e tutaj te┼╝ wyst─Öpuj─Ö ┼Ťrednik. Jest te┼╝ bardzo podobna instrukcja do tej - "System.out.println". R├│┼╝ni si─Ö tym, ┼╝e nie schodzi linij,e ni┼╝ej. To znaczy, ┼╝e pomimo takie zapisu:


Kod:


System.out.print("Moja liczba to " + mojaLiczba) ;
System.out.print("Moj znak to " + mojZnak) ;


Wszystko b─Ödzie w jednej linii.

7.Typy danych w Javie

┬á ┬á ┬áW poprzednim rozdziale poznali┼Ťmy dwa typy danych - int i char. Pierwsze s┼éu┼╝y do przechowywania liczby ca┼ékowitej drugi do pojedynczego znaku. W tym rozdziale przyjrzymy si─Ö bli┼╝ej poznanym ju┼╝ typom danych, ale te┼╝ poznamy nowe.
     Typy danych można podzielić na prymitywne i referencje (ang. reference). Prymitywne można za to podzielić na boolean , char i numeryczne (ang. numeric). Numeryczne można podzielić na całkowite (ang. integral) i zmiennoprzecinkowe (ang. floating).  Całkowite można podzielić na byte, short, int, long. Zmiennoprzecinkowe można podzielić na float i double. Może się to wydać skomplikowane, ale to tylko złudzenie.
┬á ┬á ┬áReferencje ┬áto nic innego jak adres, zwrot do np. obiektu jakiej┼Ť klasy zdefiniowanej np. przez nas. Domy┼Ťlna warto┼Ť─ç referencji to NULL .
┬á ┬á ┬áTyp boolean to typ logiczny. Mo┼╝e przechowywa─ç dwie warto┼Ťci - prawd─Ö albo fa┼ész. Przypisuje si─Ö do niego warto┼Ťci true - prawd─Ö lub false - fa┼ész. Nie jest niestety mo┼╝liwe przypisanie 0 dla fa┼észu i 1 dla prawdy, co jest mo┼╝liwe w innych j─Özykach np. C++. Pami─Ö─ç przeznaczona na ten typ to: 1bit. Definicja tej zmiennej wygl─ůda np. tak:
boolean czyZaplacil = true ;
Domy┼Ťlna warto┼Ť─ç, czyli taka jak─ů zmienna posiada bez inicjalizacji i przypisania to false.
┬á ┬á ┬áTyp char mo┼╝e przechowa─ç jeden z 65 436 znak├│w UNICODE . Przypisywany znak musi by─ç obj─Öty apostrofami. Domy┼Ťlny znak znajduj─ůcy si─Ö w zmiennej typu char to '\u0000' - pami─Ötaj jednak, ┼╝e ta numeracja oznacza jeden znak o takim numerze w tablicy UNICODE. Pami─Ö─ç przeznaczona na ten typ to: 16bit├│w. Przyk┼éadowa definicja zmiennej tego typu mo┼╝e wygl─ůda─ç tak:
char litera = 'k' ;
┬á ┬á ┬áTypy numeryczne to wszelkie typy reprezentuj─ůce liczby. Wchodz─ůce w sk┼éad typ├│w numerycznych typy ca┼ékowite jak sama nazwa m├│wi przechowuj─ů liczby ca┼ékowite o pewnym zakresie. Warto tak┼╝e doda─ç, ┼╝e w Javie ka┼╝dy typ danych liczbowych jest ze znakiem to znaczy, ┼╝e dotyczy te┼╝ warto┼Ťci ujemnych.
┬á ┬á ┬áTyp byte to typ zawieraj─ůcy liczb─Ö o rozmiarze nie wi─Ökszym ni┼╝ 1 bajt. Typ mo┼╝e przechowywa─ç warto┼Ťci od -128 do 127. Domy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0. Pami─Ö─ç przeznaczona na ten typ to: 8bit├│w. Przyk┼éad definicja zmiennej tego typu to:
byte bajcik = -11 ;
┬á ┬á ┬áTyp short mo┼╝e przechowa─ç liczby z zakresu od -32 768 do 32 767. Domy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0 Pami─Ö─ç przeznaczona na ten typ to: 16bit├│w. Przyk┼éad definicji zmiennej tego typu:
short krotko = -11111 ;
┬á ┬á ┬áTyp int mo┼╝e przechowywa─ç liczby z zakresu od -2^31 do 2^31-1. ┬áDomy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0. Domy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0. Pami─Ö─ç przeznaczona na ten typ to: 32bity. Przyk┼éad definicji zmiennej tego typu:
int calkowita = 7640447 ;
┬á ┬á ┬áTyp long mo┼╝e przechowywa─ç liczby z zakresu od -9*10^18 do 9*10^18-1. ┬áDomy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0. Domy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0. Pami─Ö─ç przeznaczona na ten typ to: 64bity. Przyk┼éad definicji zmiennej tego typu:
long dluga = 75644 ;
┬á ┬á ┬áTypy zmiennoprzecinkowe to po prostu typy kt├│re potrafi─ů przechowywa─ç liczb─Ö z przecinkiem. Inaczej liczb─Ö i jaki┼Ť u┼éamek. Typy zmiennoprzecinkowe s─ů dwa. R├│┼╝ni─ů si─Ö precyzj─ů.
┬á ┬á ┬áTyp float potrafi przechowa─ç liczb─Ö z 6 do 7 miejsc dziesi─Ötnych. Domy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0.0. Pami─Ö─ç przeznaczona na ten typ to: 32bity. Przyk┼éadowa definicja zmiennej tego typu to:
float pi = 3.14 ;
┬á ┬á ┬áTyp double potrafi przechowa─ç liczb─Ö z 14 do 15 miejsc dziesi─Ötnych. Domy┼Ťlna warto┼Ť─ç zmiennej tego typu to 0.0. Pami─Ö─ç przeznaczona na ten typ to: 64bity. Przyk┼éadowa definicja zmiennej tego typu to:
double precyzja = 1.1464767 ;

┬á ┬á ┬áTrzeba jeszcze doda─ç, ┼╝e domy┼Ťlny typ wszystkich liczb z przecinkiem wyst─Öpuj─ůcych w kodzie to double. Z tego powodu takie przypisanie:
float liczba = 2.1234 ;
Jest b┼é─Ödne. Poniewa┼╝ liczba 2.1234 jest traktowana jako double. I wyst─Öpuje pr├│ba przypisania double - 2.1234 do zmiennej float o nazwie liczba. Pomimo tego, ┼╝e liczba 2.1234 mie┼Ťci si─Ö w rozmiarach typu float, jest traktowana jako double. Tak s─ů traktowane wszystkie liczby z przecinkiem. Dlatego, aby unikn─ů─ç dwuznaczno┼Ťci zaleca si─Ö stosowanie ukierunkowania typu. Trudno brzmi a polega na dodaniu na ko┼äcu liczby literki 'f' od s┼éowa float:
float liczba = 2.1234f ;
Teraz jest to poprawne.
┬á ┬á ┬áTrzeba jeszcze wspomnie─ç, ┼╝e nie da si─Ö przypisa─ç zmiennej jednego typu do drugiego typu je┼╝eli ma nast─ůpi─ç strata precyzji. Czyli nie mo┼╝na przypisa─ç zmiennej typu int do zmiennej typu byte bo int jest wi─Ökszy. Za to mo┼╝na przeprowadzi─ç odwrotn─ů operacj─Ö. Poniewa┼╝ int bez problemu mo┼╝e przyj─ů─ç najwi─Öksz─ů warto┼Ť─ç byte, ale nie odwrotnie. Je┼╝eli zaistnieje konieczno┼Ť─ç takiego przypisania liczby wi─Ökszego typu do liczby mniejszego typu nale┼╝y zastosowa─ç rzutowanie, ale o tym p├│┬╝niej.

8.Proste operacje arytmetyczne

┬á ┬á ┬áKa┼╝dy program opiera si─Ö na liczbach. Liczby te trzeba odpowiednio zmienia─ç. Do tego s┼éu┼╝─ů operacje arytmetyczne takie jak dodawania, odejmowanie, mno┼╝enie, dzielenie itd. Wi─Ökszo┼Ť─ç domy┼Ťlisz si─Ö pewnie si─Ö sam bo znaki s─ů zaczerpni─Öte z matematyki. Operacji arytmetycznych dokonujemy dzi─Öki operatorom. Operatory dzielimy na dwuargumentowe i jednoargumentowe. Do dwuargumentowych zaliczamy:

dodawnia "+"
odejmowanie "-"
mno┼╝enie "*"
dzielenie "\"
dzielenie modulo "%"

┬á ┬á ┬áOperatory dwuargumentowe nazywane s─ů tak dlatego bo musz─ů by─ç jakie┼Ť zmienne lub liczby ┬ápo ich obu stronach. Np.:


Kod:


int liczba = 2 + 2 ;
int numerek = 70 - 1 ;
int cyferka = liczba * numerek ;



Tutaj chyba nie trzeba wiele t┼éumaczy─ç. Kolejno┼Ť─ç dzia┼éa┼ä jest jak w matematyce. Modulo jest to operator kt├│rego wynikiem jest reszta z danego dzielenia:

Kod:


int liczba = 3 % 2 ;


Zmienna "liczba" b─Ödzie zawiera─ç cyfr─Ö 1. Poniewa┼╝ reszta z dzielenia 3 przez 2 jest w┼éa┼Ťnie 1. Przy operatorach dwuargumentowych dzia┼éania s─ů wykonywane od lewej do prawej· Inaczej jest w przypadku operator├│w jednoargumentowych gdzie dzia┼éania wykonuj─ů si─Ö od lewej do prawej. Operatory jednoargumentowe to w wi─Ökszo┼Ťci skr├│ty dzia┼éa┼ä powy┼╝szych operator├│w. Istniej─ů cztery wa┼╝ne operatory jednoargumentowe:

preinkrementacja
predekrementacja
postinkrementacja
postdekrementacja

Inkrementacja polega na zwiększeniu zmiennej o 1. Gdyby używać dwuargumentowych operatorów trzeba by było zrobić tak:
zmienna = zmienna + 1 ;
Natomiast gdyby u┼╝y─ç preinkrementacji wystarczy napisa─ç:
++zmienna ;
Co jest r├│wnowa┼╝ne z powy┼╝szym. Predekrementacja jest to zmniejszenie zmiennej o 1:
--zmienna ;
Oprucz preinkrementacji, predekrementacji istnieje jeszcze postinkrementacja i postdekrementacja. R├│┼╝ni sie tym ┼╝e operatory pisze si─Ö za zmienn─ů:
zmienna++ ;
zmienna--- ;
Ale ich dzia┼éanie jest identyczne. No wi─Öc po co istniej─ů? R├│┼╝nice odczuwa sie podczas kolejno┼Ťci wykonywania dzia┼éa┼ä. Kiedy mamy swobodnie stoj─ůce zmienna kt├│re zwi─Ökszamy lub zmniejszamy jak w powy┼╝szym przyk┼éadzie to nie ma ┼╝adnej r├│┼╝nicy. Rozpatrzmy jednak taki przypadek:

Kod:


int a = 1 ;
int b = 1 ;

System.out.println(a++) ;
System.out.println(++b) ;


Jak my┼Ťlisz? Co si─Ö stanie? Ot├│┼╝ w pierwszym wypadku wpierw zostanie wypisana zmienna a a p├│┬╝niej dopiero zwi─Ökszona o 1. Czyli po wypisaniu zmiennej a na ekran (w naszym wypadku b─Ödzie to 1) zostanie zwi─Ökszona do 2 poniewa┼╝ znak postinkrementacji jest za zmienn─ů. Za to w drugim przypadku zmienna b wpierw zostanie zwi─Ökszona o 1, a dopiero p├│┬╝niej wypisana (w tym wypadku 2).
┬á ┬á ┬áIstniej─ů r├│wnie┼╝ jednoargumentowe skr├│ty mno┼╝enia, dzielenia, dodawania, odejmowania. Je┼╝eli chcemy od zmiennej x odj─ů─ç zmienn─ů v za pomoc─ů operatora dwuargumentowego musimy zrobi─ç to tak:
x = x - v ;
Dzi─Öki operatorom jednoargumentowym mo┼╝na to zrobi─ç tak:
x -= v ;
Tak samo w przypadku innych działań:
x += v ;
x *= v
x /= v


     To wszystko jeżeli chodzi o operatory arytmetyczne. Radze jeszcze poszukać w internecie całej tablicy priorytetów wykonywania  ich podczas działań.

9.Podsumowanie

┬á ┬á ┬áTo ju┼╝ koniec pierwszej cz─Ö┼Ťci kursu programowania w Javie. Z tej cz─Ö┼Ťci wa┼╝ne aby zapami─Öta─ç:
Java to j─Özyk obiektowy
Java jest przeno┼Ťna
Kod ¼ródłowy Javy musi być wpierw skompilowany do kodu bajtowego (ang. bytecode), aby móc być interpretowany przez JVM.
Ka┼╝dy program w Javie musi mie─ç przynajmniej 1 publiczn─ů klas─Ö z metod─ů main()
Każdy plik ¼ródłowy Javy musi nazywać się jak klasa publiczna w nim umieszczona i mieć rozszerzenie *.class
Rozszerzenie skompilowanego kodu to *.class
typy danych
operatory arytmetyczne
kolejno┼Ť─ç wykonywania dzia┼éa┼ä

To wszystko. Dzi─Ökuj─Ö.

10.Bibliografia

[ www ]
[ www ]
[ www ]

komentarz[1] |

Copyright ę 2006 - 2007 E-comet.info. Wszelkie prawa zastrze┐one.

programy,artyku│y,gry online,teledyski,filmiki,smieszne reklamy,sterowniki,kodeki,programy,program,download, downloads,security,bramka sms, teledyski,antywirusy,darmowe free program,programy p2p,tapety,programy biurowe,programy dla firm,narzŕdzia dyskowe,edytory,gry strategiczne,gry przygodowe,gry sportowe, symulatory, gry rpg,gry karciane, gry zrecznosciowe. Zapraszamy.
0.065 |