java -podstawy javy.txt

(31 KB) Pobierz
Java
Z Wikibooks, biblioteki wolnych podr�cznik�w.
> Java �
Przejd� | Edytuj
Skocz do: nawigacji, wyszukiwania
Spis tre�ci
[ukryj]

    * 1 Cechy Javy przemawiaj�ce za jej wyborem
    * 2 Wady, o kt�rych warto pami�ta�
    * 3 Czego potrzebujesz, �eby zacz��
    * 4 Java z punktu widzenia programisty
          o 4.1 �rodowisko uruchomieniowe i developerskie
          o 4.2 Kod wykonywalny programu
          o 4.3 Zwalnianie pami�ci w j�zyku Java - Garbage Collector
          o 4.4 Notka dla programist�w C++
    * 5 Nauka programowania w j�zyku Java
    * 6 Komunikacja z u�ytkownikiem
    * 7 Kurs podstawowy
          o 7.1 Jak kompilowa� / uruchamia� programy
          o 7.2 Struktura podstawowego programu
                + 7.2.1 Struktura programu dla zaawansowanych
          o 7.3 Zmienne
                + 7.3.1 Typy zmiennych
    * 8 Pierwszy program
          o 8.1 Obiektowe podstawy
          o 8.2 Przyk�ad 1
          o 8.3 Przyk�ad 2
          o 8.4 Przyk�ad 3
          o 8.5 Przyk�ad 4
          o 8.6 Przyk�ad 5 - prosta grafika
    * 9 Narz�dzia
          o 9.1 Edytory
          o 9.2 IDE
          o 9.3 Co wybra� ?
    * 10 Warto przeczyta�
    * 11 Linki zewn�trzne

[edytuj] Cechy Javy przemawiaj�ce za jej wyborem

    * Przeno�no�� - mo�esz uruchomi� program na ka�dym systemie i sprz�cie, na kt�ry istnieje implementacja 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 przypadkach znacznie przy�pieszaj� tworzenie aplikacji.

    * Szybko�� tworzenia aplikacji - w Java aplikacje pisze si� szybciej ni� w niekt�rych innych j�zykach programowania. Wszystko dzi�ki u�ytecznym klasom i m�drze zaplanowanym bibliotekom, narz�dziom oraz IDE.

    * Du�e wsparcie ze strony tw�rc�w �rodowisk programowania - dzi�ki �rodowiskom IDE, takim jak NetBeans czy Eclipse, programy mo�esz tworzy� jeszcze szybciej i jeszcze wydajniej u�ywaj�c profesjonalnych narz�dzi, kt�re u�atwi� tworzenie du�ych aplikacji i panowanie nad tworzeniem oraz utrzymywaniem kodu.

    * Ciekawe mo�liwo�ci tworzenia interfejsu u�ytkownika - mo�liwo�� dost�pu do wygodnych w u�yciu bibliotek i narz�dzi pozwalaj�cych szybko i bezbole�nie stworzy� niezale�ny od systemu i przeno�ny interfejs graficzny dla aplikacji. Biblioteki graficzne udost�pniaj� metody, kt�re s� dok�adnie tym, czego potrzebujesz.

    * Du�a ilo�� publikacji - w sieci jest sporo informacji na temat j�zyka Java. Jest to ogromna zaleta szczeg�lnie dla os�b ucz�cych si� tego j�zyka. W Internecie znale�� mo�na sporo przyk�adowego kodu, artyku��w czy tutoriali.

    * Garbage collection, czyli automatyczne zwalnianie nieu�ywanych ju� obszar�w pami�ci

[edytuj] Wady, o kt�rych warto pami�ta�

    * Programy uruchamiane pod maszyn� wirtualn� dzia�aj� wolniej (ni� np. programy napisane w C++), dlatego te� niezbyt dobrze nadaje si� do zastosowa� czasu rzeczywistego

    * U�ytkownik potrzebuje zainstalowanej maszyny wirtualnej, aby m�c uruchomi� nasz program

[edytuj] Czego potrzebujesz, �eby zacz��
Wikipedia, nasz siostrzany projekt, zawiera artyku� na temat Java.


Java to nie tylko j�zyk programowania - to r�wnie� �rodowisko uruchomieniowe, w kt�rym dzia�aj� programy, tak zwana Wirtualna Maszyna Java (Java Virtual Machine - JVM). Java jest zaliczana do j�zyk�w kompilowano-interpretowanych - aby napisane przez nas programy zadzia�a�y, wymagany jest kompilator, kt�ry przekszta�ci kod �r�d�owy do tzw. binary code, czyli odpowiednika kodu 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 producenta Javy, firm� Sun. Najlepiej �ci�gn�� wszystko w jednym pakiecie, kt�ry obecnie nosi nazw� Java SE (Java Platform, Standard Edition). Java SE jest dost�pna na wiele platform , w tym dla system�w 32- i 64-bitowych Windows i GNU/Linux, i b�dzie to wszystko, czego potrzebujemy do rozpocz�cia pracy.
[edytuj] Java z punktu widzenia programisty
[edytuj] �rodowisko uruchomieniowe i developerskie

Aby dobrze programowa�, warto zrozumie�, jak wygl�da ca�e pod�o�e mechanizmu Java. Pierwszym podstawowym 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�zyku uruchamiane s� nie "w komputerze", ale w pewnym �rodowisku dzia�aj�cym na komputerze. Dzi�ki temu jeste�my pewni, �e je�li powstanie implementacja Wirtualnej Maszyny Java (JRE - w naszym przypadku) na jak�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 marki "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 implementacja Wirtualnej Maszyny Java dla tych urz�dze�.

Wykonywanie aplikacji j�zyka Java poprzez JRE rozwija�o si� w nast�puj�cych kierunkach:

    * Pocz�tkowo program m�g� by� interpretowany instrukcja 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 wirtualnych Java, zaimplementowano mechanizmy maj�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 jego 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 szybko jak aplikacjom C/C++.

Poza JRE (niezb�dnym u�ytkownikowi) istnieje inna popularna forma dystrybucji pakietu Java. JDK (Java Development Kit), zwana r�wnie� SDK (Software Development Kit). To dystrybucja j�zyka Java dla os�b tworz�cych kod w j�zyku Java. Poza �rodowiskiem uruchomieniowym zawiera mi�dzy innymi: kompilator, dokumentacj�/pomoc i debugger.
[edytuj] Kod wykonywalny programu

Po napisaniu kodu �r�d�owego program kompilowany jest do bytecodu. Nie jest to jeszcze kod zrozumia�y dla procesora w spos�b bezpo�redni, kt�ry pozwala�by nam na jego uruchomienie. Jest to jednak kod zapisany w okre�lonym formacie, kt�ry mo�e zosta� poprawnie zinterpretowany przez Maszyn� Wirtualn� Java, przet�umaczony na kod wykonywalny i uruchomiony.
[edytuj] Zwalnianie pami�ci w j�zyku Java - Garbage Collector

W j�zyku Java w tle, podczas dzia�ania naszego programu, dzia�a mechanizm zwany Garbage Collector (zbieracz �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�apanie niepotrzebnych obiekt�w i usuni�cie ich. Posiada to swoje wady i zalety.

Zalet� jest to, �e programista nie musi pami�ta� o zniszczeniu obiektu lub zwolnieniu pami�ci. Mamy wolny czas, kt�ry normalnie po�wi�ciliby�my na tworzenie destruktor�w i czasoch�onne my�lenie nad tym, czy oby na pewno dobrze alokuj� i zwalniam ca�� pami��.

Wad� jest to, �e dzia�anie Garbage Collectora zajmuje czas. Nigdy nie wiadomo kiedy Garbage Collector postanowi zadzia�a� i wyszuka� oraz zwr�ci� do systemu nieu�ywan� ju� przez program pami��. Przez to Java nie mo�e by� u�ywana w systemach czasu rzeczywistego, poniewa� dzia�anie programu mo�e by� w ka�dej chwili wstrzymane na od�miecanie.

Najprostsze mechanizmy dzia�anie 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) czy te� odnajdywanie tr�jk�cik�w (referencja A wskazuje na B, B wskazuje na C ale C znowu wskazuje na A).
[edytuj] Notka dla programist�w C++

    * W Java nie ma wielko�ci globalnych. Poniewa� w dobrym przybli�eniu wszystko jest klas� (dok�adnie rzecz ujmuj�c mo�e by� klas�), wi�c warto�� globalna nie istnieje (ka�da warto�� jest sk�adow� jakiej� klasy lub zmienn� lokaln�).

    * Wszystkie klasy s� pochodnymi od jednej wsp�lnej klasy Object.

    * W Java nie ma wielokrotnego dziedziczenia. W Java wyst�puje za to mechanizm interfejs�w. Jedna klasa mo�e implementowa� wiele interfejs�w.

    * Brak preprocesora. Nie jest potrzebny poniewa� wszystkim mo�e zaj�� si� Wirtualna Maszyna Java.

    * Nie ma plik�w nag��wkowych. Program podzielny jest na pakiety.

    * Brak typedef - nie mo�emy tworzy� w�asnych typ�w.

    * Brak mo�liwo�ci przeci��ania operator�w.

    * Operator zakresu :: jest zast�piony znakiem kropki.

    * W j�zyku Java nie istnieje mo�liwo�� przekazania domy�lnej warto�ci, ani listy inicjalizuj�cej w C++.

    * Java posiada wsparcie dla wielow�tkowo�ci.

    * Brak destruktor�w i konieczno�ci pami�tania o zwalnianiu pami�ci. Dzia�a garbage collector, kt�ry robi to za nas.

    * Nie ma wska�nik�w - wszystko przekazywane jest przez referencje.

    * W Javie wszystkie argumenty s� przekazywane do funkcji przez warto��.

[edytuj] 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� wiadomo�� 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� kodu, niuansami, dzi�ki kt�rym mo�na tworzy� optymalny kod i pisa� kod sprytniej i wydajniej.

Poza na...
Zgłoś jeśli naruszono regulamin