Forum www.JavaSonyEricsson.fora.pl Strona Główna  Forum www.JavaSonyEricsson.fora.pl Strona Główna  
  www.JavaSonyEricsson.fora.pl
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Grupy  Grupy  Galerie  Galerie
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Forum www.JavaSonyEricsson.fora.pl Strona Główna->Programowanie->Java

Napisz nowy tematOdpowiedz do tematu
Java <-Zobacz poprzedni temat :: Zobacz następny temat->
Autor Wiadomość
Administrator
PostWysłany: Sob 11:54, 13 Gru 2008 Temat postu: Java


Administrator

Dołączył: 20 Lis 2008
Posty: 487
Przeczytał: 0 tematów

Pomógł: 9 razy
Ostrzeżeń: 0/5

Z wikipedii "Java jest obiektowym językiem programowania stworzonym przez grupę roboczą pod kierunkiem Jamesa Goslinga z firmy Sun Microsystems. Java jest językiem kompilowanym do postaci wykonywanej przez maszynę wirtualną i silnie typowanym. Jej podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, garbage collection) oraz z języka C++ (duża część składni i słów kluczowych). Javy nie należy mylić ze skryptowym językiem JavaScript, z którym ma niewiele wspólnego (głównie składnię podstawowych instrukcji)." (zobacz więcej). W niniejszym tutorialu zajmiemy się podstawami Javy. By móc rozpocząć naukę musisz mieć zainstalowaną Javę (JRE i SDK). W przypadku linuksa sprawdź repozytoria swojej dystrybucji lub odwiedź stronę Sun Microsystems (http://java.sun.com/j2se/1.5.0/).


Pierwszy "program"
Stwórz plik Test.java o kodzie:

public
class Test
{
public static void main (String args[])
{
System.out.println("java jest cienka Smile");
}
}
A następnie by skompilować kod wykonaj w konsoli:
javac Test.java
A następnie by uruchomić otrzymany kompilat (Test.class) wykonaj:
java Test
Co wyświetli napis "java jest cienka Smile"
Każdy program w Javie składa się ze zbioru klas. Przyjmuje się że każda klasa znajduje się w oddzielnym pliku o tej samej nazwie (klasa Test w Test.java itd.). Wykonywanie programu rozpoczyna się od funkcji "main", która musi być zadeklarowana jako publiczna i statyczna. By napisany kod uruchomić musi on zostać skompilowany do bytecodu javy - formy zrozumiałej dla komputera.


Zmienne
Zmienna to miejsce przechowujące pewną wartość. Zmienna ma określony typ i nazwę. Typy liczbowe całkowite przechowują wartości liczb całkowitych. Dostępne typy to byte (od -128 do 127), short (od -32 768 do 32 767), int (od -2 147 483 648 do 2 147 482 647) oraz long (od - 9 223 372 036 854 775 808 do 9 223 372 036 854 775 807). Typy zmiennoprzecinkowe to float (pojedynczej precyzji) i double (podwójnej precyzji). Typ boolean to typ logiczny przechowujący wartość "prawda" - "true" lub "fałsz" - "false". Typ char zawiera znaki.
By zadeklarować zmienną należy skorzystać ze składni:
typ_zmiennej nazwa_zmiennej;
Można także przypisać wartość. Przykład:
public
class Test
{
public static void main (String args[])
{
int liczba1;
int liczba2 = 33;
char znak;

znak = 'a';
liczba1 = 100;

System.out.println(liczba1);
System.out.println(liczba2);
System.out.println(znak);
}
}

Do typów odnośnikowych należą tablice czyli zbiory elementów określonego typu (np. liczb), oto przykład:
public
class Test
{
public static void main (String args[])
{
int tablica[] = new int[5];
tablica[1] = 123;

System.out.println(tablica[0]);
System.out.println(tablica[4]);
System.out.println(tablica[1]);
}
}
Tablicę deklarujemy za pomocą składni:
int nazwa_tablicy[] = new typ[liczba elementów]
W naszym przykładzie stworzyliśmy 5 elementową tablicę liczb całkowitych. Elementy tablicy numerowane są od zera a nie od jedynki. Do poszczególnych elementów odwołujemy się poprzez:
nazwa_tablicy[indeks]
Gdzie indeks to numer elementu tablicy.
Na zmiennych liczbowych można wykonywać proste operacje matematyczne:
public
class Test
{
public static void main (String args[])
{
int a = 4;
int b = 2;

// 4+2
System.out.println("a+b:");
System.out.println(a + b);
// 4 -2
System.out.println("a-b:");
System.out.println(a - b);
// 4/2
System.out.println("a/b:");
System.out.println(a/b);
// 4*2
System.out.println("a*b:");
System.out.println(a*b);
// dzielenie modulo
System.out.println("a%b:");
System.out.println(a%b);
// inkrementacja o 1 (przyrost)
a++;
// 4/3
System.out.println("a++/b:");
System.out.println(a/b);
// 4/3 dzielenie modulo
System.out.println("a++%b:");
System.out.println(a%b);
}
}
Należy zwrócić uwagę że 5 podzielone przez 2 zwróci wartość 2 - zaokrąglony wynik do liczby całkowitej (bo mamy zmienną typu int). Dzielenie modulo zwraca resztę z dzielenia. Znak ++ oznacza inkrementację (przyrost wartości o 1) a znak -- oznacza dekrementację (spadek wartości o 1).


Wyrażenia warunkowe
Mając zmienne można je sprawdzać i wykonywać określone czynności bazując na wyniku porównania. W tym celu stosuje się wyrażenia warunkowe zwracające wartość logiczną (prawda lub fałsz). Oto przykłady:
public
class Test
{
public static void main (String args[])
{
int a = 4;
int b = 2;

//jeżeli a większe od b
if (a > b)
{
System.out.println("a większe od b");
}
// w przeciwnym wypadku
else
{
System.out.println("b większe od a");
}

// jeżeli a równe 4
if (a == 4)
{
System.out.println("a ma wartość 4");
}
// jeżeli a nie równe 3 i (&) nie równe 2
if (a != 3 & a !=2)
{
System.out.println("a nie ma wartości 3 ani 2");
}
// jeżeli a większe od 2 lub (||) mniejsze od zera
if (a > 2 || a < 0)
{
System.out.println("a jest większe od 2 lub mniejsze od 0");
}

int y;
// jeżeli a < 1 to y = 1, jeżeli nie to y = 2
y = (a < 1 ? 1 : 2);
System.out.println(y);
y = (a > 1 ? 1 : 2);
System.out.println(y);
}
}
Wyrażenie if.. else if... else wykona kod z określonego obszaru jeżeli warunek dla niego zostanie spełniony. Wyrażenie zmienna = (warunek ? wartość1 : wartość 2); przypisze wartość1 jeżeli warunek będzie spełniony lub wartość2 jeżeli nie. Czasami zamiast złożonych "if, else if, else" można zastosować wyrażenie switch:
public
class Test
{
public static void main (String args[])
{
int a = 4;
int b = 2;

switch(a)
{
case 1:
System.out.println("a ma wartość 1");
break;
case 4:
System.out.println("a ma wartość 4");
break;
default:
System.out.println("a ma wartość inną niż 1 i 4");
break;
}
}
}
Instrukcja switch(zmienna) zawiera wewnątrz siebie przypadki (case wartość) i jeżeli natrawi na przypadek o wartości takiej jak wartość zmiennej to wykona kod zdefiniowany dla tego przypadku. Polecenie break; spowoduje opuszczenie pętli (inaczej doszłaby do końca wykonują również przypadek "default" czyli przypadek wykonywany normalnie jeżeli nie udało się dopasować jednego ze wcześniejszych przypadków).


Pętle
W Javie mamy dostępnych kilka pętli. Pierwsza z nich to for(zmienna ; warunek ; zmiana wartości):
public
class Test
{
public static void main (String args[])
{
System.out.println("Zwykła pętla:");
for(int i = 0; i <= 10; i++)
{
System.out.println(i);
}

System.out.println("");
System.out.println("Pętla nieskończona stająca na 7 (pierwsza podzielna przez 7 liczba):");
for(int j = 1; ;j++)
{
if (j%7 == 0)
{
System.out.println(j);
break;
}
}

System.out.println("");
System.out.println("Pętla działająca do czasu znalezienia podzielnej przez 7 liczby:");
for(int a = 1; a < 1000 ;a++)
{
if (a%7 != 0)
{
System.out.println(a);
continue;
}
// dopóki wykonywane jest continue to break nie jest "wykonywany"
break;
}
}
}
W przypadku for(int i = 0; i <= 10; i++) pętla będzie wykonywać się dopóki zmienna i nie przekroczy wartości 10. Startuje ona od wartości 0 i w każdej iteracji przyrasta o 1. W pętli możemy korzystać z break;, który przerwie wykonywanie pętli oraz continue;, które wywoła nową iterację (omijając kod zawarty po tej instrukcji).
Kolejne pętle to while(warunek) i do {} while(warunek):
public
class Test
{
public static void main (String args[])
{
int i = 1;
while(i < 10)
{
System.out.println(i);
i++;
}

System.out.println("");

int j = 1;
do
{
System.out.println(j);
j++;
}
while(j < 5);
}
}
Klasy
Każdy program w javie składa się z klas. Do tej pory stosowaliśmy jedną, prostą klasę. Klasę tworzymy wg. schematu:
public
class Nazwa klasy
{
// Zawartość klasy
}
Gdzie public oznacza dostępność klasy (o tym później). Klasa może zawierać pola - zmienne oraz metody. Przykład klasy z metodą:
public
class Footest
{
int foo()
{
return 4;
}
}
By skorzystać z danej klasy należy utworzyć odnośnik do niej (obiekt):
NAZWA_KLASY nazwa_zmiennej = new NAZWA_KLASY();
Jeżeli klasę Footest zapiszemy w Footest.java w tym samym katalogu co klasa Test to z poziomu klasy Test łatwo będzie można korzystać z klasy Footest:
public
class Test
{
public static void main (String args[])
{
Footest i = new Footest();
System.out.println(i.foo());
}

}
Kompilacja klasy Test spowoduje kompilację wszystkich klas używanych przez nią.
Metody mogą operować na zmiennych danej klasy bądź też na zmiennych dostarczanych do nich jako parametry:
public
class Footest
{
int przyrost(int liczba)
{
return ++liczba;
}
}
public
class Test
{
public static void main (String args[])
{
Footest i = new Footest();
System.out.println(i.przyrost(33));
}

}
Gdy tworzymy obiekt klasy to zazwyczaj chcemy "na starcie" wykonać jakiś kod, ustawić wartości zmiennych itd. Do tego wykorzystuje się konstruktor klasy. Konstruktor to metoda o takiej samej nazwie jak klasa. Konstruktory nie zwracają wartości lecz mogą przyjmować parametry:
public
class Footest
{
public Footest()
{
System.out.println("konstruktor");
}
int przyrost(int liczba)
{
return ++liczba;
}
}


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:
Napisz nowy tematOdpowiedz do tematu Strona 1 z 1

Forum www.JavaSonyEricsson.fora.pl Strona Główna->Programowanie->Java
Skocz do:  



Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
 
 


fora.pl - załóż własne forum dyskusyjne za darmo
DAJ Glass (1.0.5) template by Dustin Baccetti
EQ graphic based off of a design from www.freeclipart.nu
Powered by phpBB Š 2001, 2002 phpBB Group