JAVA podstawy

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Definicje

Java – środowisko programistyczne
zorientowane obiektowo do tworzenia
aplikacji desktopowych, sieciowych i apletów
na strony WWW.

Sercem platformy JSE jest maszyna
wirtualna Javy zwana Java Virtual Machine
(JVM) do uruchamiania gotowych aplikacji.

Język obiektowy-> wszystkie zapisy składają
się z klas i obiektów

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Podstawowe pojęcia:

Klasa

definiuje zestaw

Metod

i

Pól

dla swoich

Obiektów

. Przykładem klasy

może być samochód. Może on podejmować różne działania np. jechać i ma

pewne właściwości np. kolor. Jest jednak abstrakcyjny, mówiąc inaczej

"nienamacalny". Jeżeli mówimy o klasie Samochód to oznacza, że mówimy o

jakimś samochodzie.

Ponieważ program zawiera wiele klas musimy wiedzieć, która jest klasą

główną: główną jest klasa publiczna zawierająca metodę

main()

Ogólny wzór definicji klasy w Javie wygląda w następujący sposób:

[modyfikator dostępu] class NazwaKlasy {

 

// definicja pól i metod

}

Nasz wzorcowy samochód:

public class Samochod {

   public

Color

kolor = new Color(255,255,255); // pole kolor określa

kolor samochodu

   public void jedzie(){

      //kod odpowiedzialny za jazdę samochodu

   }   

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Podstawowe pojęcia:

Obiekt

- byt fizyczny stanowiący instancję klasy.

Obiekt jest fizyczną "manifestacją" Klasy.

Oznacza to że ma własne miejsce w pamięci komputera i
możemy nim manipulować. Jeżeli mówimy o obiekcie samochód
będącym instancją Klasy Samochód to oznacza, że mówimy o
konkretnym samochodzie.

Obiekt definiujemy jako Zmienną.

Zmienna

- byt fizyczny o którym mówimy że ma wartość.

Przez pojęcie zmiennej w Javie rozumiemy referencję,
wskazanie, do określonego miejsca w pamięci komputera.
Zmienne reprezentują dane i pozwalają za swoim

pośrednictwem nimi manipulować.

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Podstawowe pojęcia:

Stała

- rodzaj zmiennej, której wartość nie podlega

modyfikacji.

Stała to zmienna, która po nadaniu jej wartości nie może

być już zmieniona. Zazwyczaj tej konstrukcji używa się do

definiowania np. ustawień. Chcąc uzyskać taki efekt należy

użyć słowa kluczowego

final

.

Metoda

- działanie, które mogą podjąć

Obiekty

danej Klasy.

Metoda określa Działanie. Dlatego najczęściej stosuje się

do jej nazwania czasowniki.

samochód.jedzie() - jedzie() to metoda, działanie.

Metody wywołujemy za pomocą znaku „

.

” po nazwie

zmiennej.

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Podstawowe pojęcia:

Konstruktor

- to specyficzna metoda wywoływana by stworzyć

Obiekt

.

Konstruktor jest wywoływany za każdym razem gdy tworzony jest

nowy obiekt. Można go traktować jako specyficzną metodę, która

zwraca nową instancję klasy, ale nie ma tego wpisanego w

sygnaturze.

Konstruktor może przyjmować parametry. Konstruktor

bezparametrowy nazywany jest czasami konstruktorem domyślnym

ponieważ, jeżeli nie zdefiniowano w klasie żadnego konstruktora to

kompilator umieści w niej konstruktor bezparametrowy.

Jeżeli zdefiniujemy w klasie choć jeden konstruktor z parametrami

to kompilator nie wygeneruje konstruktora domyślnego. Musimy go

sami zdefiniować.

Pole

- właściwość

Obiektu

danej Klasy.

Samochód może mieć kolor. Pole Klasy rozumiemy właściwość lub

relację MA. Pole jest zmienną która należy do klasy.

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Modyfikatory dostępu:

Publiczny - określany jest słowem kluczowym

public

.

Oznacza iż do danej metody, pola, definicji klasy i

interfejsu ma dostęp każdy obiekt w uniwersum javy

(JU). Dostęp ten nie jest uzależniony o tego w jakim

pakiecie znajduje się udostępniana własność i czy to

jest ten sam pakiet co pakiet obiektu z którego

pochodzi żądanie.

Prywatny - jest przeciwieństwem modyfikatora

publicznego. Pola, metody, klasy i interfejsy

oznaczone słowem

private

są całkowicie niewidoczne

poza definicją swojego właściciela.

Żaden obiekt w JU nie będzie wstanie odwołać się do

zawartości PrywatnaKlasa. Bardzo istotnym faktem

jest to, że klasa znajdująca się na najwyższym

poziomie nie może być prywatna.

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Jedynym dowolnym elementem jest nazwa programu:

public class Program {

 

public static void main (String args[])

{
// definicja pól i metod

}

}

Nazwa programu jest pisana zawsze wielką literą, nie może

rozpoczynać się cyfrą, zawierać znaku spacji, a także polskich

liter.

Nie może też być jednym ze słów kluczowychjęzyka Java (np.

class, public)

Pisanie programu rozpoczynamy od podania słowa kluczowego

class

oznaczającego, że budujemy klasę.

Zaraz po nim umieszczamy nazwę programu, a przed nim

modyfikator dostępu

public

Podstawowe zasady:

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

public class Program {

 

public static void main (String args[])

{
// definicja pól i metod

}

}

Po nazwie programu stosujemy nawias kalmrowy otwierający i

zamykający. W środku znajduje się

ciało klasy

.

Klasa główna musi zawierać metodę

main()

. Poprzedzona

modyfikatorem

public

oraz specyfikatorem

static

.

void

oznacza, że metoda nie zwraca żadnych wartości.

Po nazwie w zwykłych nawiasach argument

String args[]

. Dzięki

niemu będzie można przekazywać w postaci tekstu argumenty do

przetworzenia.

Po nawiasach zwykłych stosujemy nawias klamrowy otwierający i

zamykający. Jego wnętrze to ciało metody

main()

.

Podstawowe zasady:

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Wyróżnia się dwa rodzaje komentarzy:

Liniowy:

// główna klasa programu:

public class Program {

//główna metoda programu
 

public static void main (String args[])

{
// definicja pól i metod

}

}

Blokowy:

/* główna klasa aplikacji
o nazwie Program: */

public class Program {

 

public static void main (String args[])

{
// definicja pól i metod

}

Komentarze

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Instrukcje sterujące

W momencie  gdy chcemy, aby program dokonał wyboru jednej z

dróg na podstawie prawdziwości jakiegoś warunku logicznego

możemy użyć jednej z dwóch instrukcji sterujących. Jeżeli chcemy,

aby wybór został dokonany na podstawie stanu obiektu możemy użyć

przełącznika - switch.

Instrukcja

if

/

if else

Najprostszą instrukcją warunkową jest instrukcja if:

if

(warunek_logiczny){

   //instrukcje wykonane jeżeli warunek jest PRAWDZIWY

}

odmianą tej instrukcji jest instrukcja

if else

:

if(warunek_logiczny){

   //instrukcje wykonane jeżeli warunek jest PRAWDZIWY

}

else{

   //instrukcje wykonane jeżeli warunek jest FAŁSZYWY

}

Instrukcje sterujące

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

instrukcje można zagłębiać:

if

(warunek_logiczny1){

   

if

(warunek_logiczny2){

     

//instrukcje wykonane jeżeli warunek2 jest

PRAWDZIWY

   

}

}

oraz dokonywać wielokrotnego wyboru:

if

(warunek_logiczny1){

   //instrukcje wykonane jeżeli warunek1 jest PRAWDZIWY

}

else if

(warunek_logiczny2){

   //instrukcje wykonane jeżeli warunek2 jest PRAWDZIWY

}

else

{

   //instrukcje wykonane jeżeli warunek1 i warunek 2 są

FAŁSZYWE

Instrukcje sterujące

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Pętle

Jeżeli chcemy wykonać jakiś fragment kodu wielokrotnie to możemy

wypisać go explicite:

System.out.println(1);

System.out.println(2);

System.out.println(3);

Takie rozwiązanie jest jednak złe. Co jeżeli chcemy wypisać np.

wszystkie posty z forum? Jest tego trochę. W dodatku liczba ta wciąż

rośnie więc w momencie uruchomienia kodu na pewno nie będzie tam

ostatnich postów. Rozwiązaniem tego problemu jest specjalna

instrukcja języka - Pętla. Ogólna zasada działania pętli jest bardzo

prosta i można ją ująć na trzy sposoby:

WYKONAJ POLECENIE N-KROTNIE

lub

WYKONAJ POLECENIE DOPÓKI SPEŁNIONY JEST WARUNEK

lub

WYKONAJ POLECENIE DLA KAŻDEGO ELEMENTU ZBIORU B

Pętle

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Pętla for
Jest to pętla policzalna, czyli taka o której możemy

powiedzieć iż wykona się określoną liczbę razy. Ogólna

składnia pętli for wygląda w następujący sposób:

for

(int i = 0; warunek; krok){

       

//instrukcja

}

Uwagi:

Zmienną

i

nazywamy Indeksem Pętli

Indeks może być dowolnym typem prostym poza boolean. Typ char

ograniczony jest do 65535

Warunek może być dowolnym zdaniem logicznym, należy jednak

zwrócić uwagę by nie była to tautologia. Otrzymamy wtedy pętle

nieskończoną

Krok pętli może być dowolny jednak tak samo jak w przypadku

warunku trzeba uważać na zapętlenie się programu.

Pętla

for

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Gdzie należy używać pętli for?
Pętla ta najlepiej sprawdza się gdy chcemy wykonać jakąś
operację na wszystkich elementach tablicy. Jest naturalną
i najbardziej czytelną dla tego typu problemów:

int[] a = new int[] { 1, 2, 3 };

for

(int i = 0; i < a.length; i++) {

        System.out.println(a[i]);
}

Pętla

for

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Pętle while i do while
Pętle niepoliczalne, czyli takie o których nie

możemy powiedzieć ile razy się wykonają.
Ich składnia jest następująca:

while

(warunekLogiczny){

   

//instrukcja

}

/*---------*/

do

{

   

//instrukcja

}

while

(warunekLogiczny)

Uwagi:

warunek musi być zmienną boolean lub obiektem

klasy java.lang.Boolean.

Pętla

while

i

do while

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Obie te konstrukcje są bardzo podobne do siebie. Główna różnica

polega na tym iż w pętli

while

warunek jest sprawdzany przed

wykonaniem instrukcji, a w pętli

do while

po wykonaniu

instrukcji. Oznacza to, że pętla do while wykona się co najmniej

jeden raz. Poniższy przykład ilustruje różnicę:

int i = 0;

while

(i < 1) {

       

System.out.println("while " + i);

       

i++;

}

do

{

       

System.out.println("do while " + i);

       

i++;

}

while

(i < 1);

Pętla

while

i

do while

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

Druga pętla wykona się pomimo iż warunek, 1 < 1, nie jest

prawdziwy.

Kiedy używać? Najczęściej pętla while jest wykorzystywana do

nasłuchiwania.

Polega to na stworzeniu nieskończonej pętli, najczęściej podając

jako argument słowo true, której zadaniem jest wykonywanie

danego kodu nasłuchującego. Prosty szablon animacji:

while

(animuj){

    //kod animacji

}

Dopóki flaga animuj jest prawdziwa wykonywana jest animacja.

Podobnie ma się sprawa z prostymi serwerami które nasłuchują

w ten sposób na portach.

Pętla

while

i

do while

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

public class KlasaA

{

public static void main(String[] args)

{

//program drukuje zadany napis

System.out.print("

Witaj na zajęciach z JAVY

");

}

}

Zadania

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

import java.util.*;

public class wypisz_date

{

public static void main(String[] args)

{

//program drukuje dzisiejsza date

Date dzisDzien = new Date();

System.out.println("Dzisiaj jest: " + dzisDzien);

}

}

Zadania

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

public class KlasaA

{

public static void main(String[] args)

{

//program który sprawdza czy podane imie jest zgodne z wzorcem

System.out.print("

Podaj imie:

");

Scanner wejscie1 = new Scanner(System.in);

String imie = wejscie1.nextLine();

System.out.println(imie.length());

if

(imie.toLowerCase().equals("olek"))

{

System.out.println("OK");

}

else

{

System.out.println("zle");

}

}

Zadania

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

public static void main(String[] args)

{

//odliczanie od 1 co trzecią liczbę, przez 30 razy, na koncu komunikat 'koniec'

for

(int i=1, k=1; k<=30; k++, i=i+3)

{

System.out.println(i);

}

System.out.println("

koniec

");

int k=30;

int i=1;

********************************************

while

(k>0)

{

System.out.println(i);

i = i+3;

k--;

}

System.out.println("

koniec

");

}

Zadania

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

public static void main(String[] args)

{

//pobranie liczby od uzytkownika, jezeli jest od 0 do 10 to napisac 'ok'

//jezeli mniejsza od 0 to napisac 'za malo'

//jezeli wieksza od 10 'za duzo'

//jezeli nie podano liczby - 'podaj liczbe'

boolean koniec=true;

while

(koniec)

{

System.out.print("Podaj liczbe: ");

Scanner wejscie1 = new Scanner(System.in);

String wej = wejscie1.nextLine();

int liczba = Integer.parseInt(wej);

if

(liczba < 0)

{

System.out.println("Za malo");

}

else

if(liczba < 10)

{

System.out.println("OK");

koniec = false;

}

else

{

System.out.println("Za duzo");

}

}

}

background image

Aleksander Skała

Kraków 27 kwietnia 2010 r.

public static void main(String[] args)

{

//program obliczający 'podatek'

//pobranie liczby od uzytkownika

//jezeli mniej niz 6000 to zwraca 0

//podatek w przedziale 6000 - 20000 - 10%

//w przedziale 20000-40000 - 20%

//powyzej - 40%

while

(true)

{

System.out.print("Podaj liczbe: ");

Scanner wejscie1 = new Scanner(System.in);

double zarobki = wejscie1.nextFloat();

if

(zarobki < 6000)

{

System.out.println("0");

}

else if

(zarobki < 20000)

{

double podatek = (zarobki - 6000)*0.2;

System.out.println(podatek);

}

else if

(zarobki < 40000)

{

double podatek = (zarobki - 20000)*0.3;

System.out.println(podatek);

}

else

{

double podatek = (zarobki - 40000)*0.4;

System.out.println(podatek);

}


Document Outline


Wyszukiwarka

Podobne podstrony:
java 2 podstawy C4KSSGRISP6PU3 Nieznany
Java Podstawy Wydanie VIII javpd3
JAVA 2 Podstawy
Java - Podstawy, Programowanie, Zastosowania, Java - Podstawy, Programowanie, Zastosowania, JAVA
JAVA podstawowe typy
Java podstawy jezyka wyklad1
JAVA podstawy zadania
java 2 podstawy-1., wprowadzenie
java podstawy, programowanie, zastos
Java 2 Podstawy(1)
Java 2 Podstawy 2
Java 2 Podstawy
JAVA 2 Podstawy

więcej podobnych podstron