Najprostszy program
irhall
Java jest językiem całkowicie obiektowym. Dla piszących w C++ różnice na początku nie są wielkie. Najważniejsze rzeczy, o których trzeba pamiętać pisząc program:
- wielkie i małe litery są rozróżniane,
- nie istnieją funkcje i zmienne nie będące elementem żadnej klasy, tzn. że są do dyspozycji tylko pola i metody klas,
- co najmniej jedna z klas programu musi być klasą publiczną, tzn. widoczną na zewnątrz i zawierać publiczną statyczną metodę main, której parametrem jest tablica łańcuchów String[],
- w jednym pliku źródłowym można umieścić co najwyżej jedną klasę publiczną i dowolną liczbę klas niepublicznych,
- klasa publiczna musi nazywać się tak samo, jak plik źródłowy, w którym się znajduje.
Szkielet klasy i funkcji startowej powinien wyglądać następująco:
public class NazwaKlasy
{
public static void main(String args[])
{
// tu wpisać kod programu
}
}
Najprostszy program, wypisujący tekst "Hello world", wygląda następująco:
Plik HelloWorld.java:
public class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello world");
}
}
Program powinien znajdować się w pliku o nazwie HelloWorld.java. Zmiana nazwy pliku na inną wymaga zmiany nazwy klasy.
Plik źródłowy kompiluje się z linii poleceń:
javac HelloWorld.java
Kompilator wymaga parametru - nazwy pliku źródłowego. Jeżeli kompilacja przebiegnie poprawnie, nie zostanie wyświetlony żaden komunikat, a w katalogu z plikiem źródłowym zostanie utworzony plik HelloWorld.class. Tak skompilowany program zawiera nie kod wykonywalny, ale interpretowalne symbole i jest w pełni dekodowalny, tzn. można dokładnie odtworzyć z niego źródło programu, również nazwy wewnętrznych zmiennych. Plik można przenosić między różnymi systemami, tzn. HelloWorld.class utworzony pod Windows będzie tak samo działał zarówno pod Windows, jak i pod Linuksem. Plik można "uruchomić", tzn. zinterpretować, poleceniem:
java HelloWorld
Parametrem interpretera jest nazwa klasy, w której znajduje się metoda main o opisanym formacie.
W efekcie wykonania polecenia wyświetlany jest napis "Hello World" i kursor przechodzi do następnej linii.
Polecenie
System.out.println(String NapisDoWyswietlenia);
Jest w rzeczywistości metodą strumienia wyjściowego podłączonego do standardowego wyjścia czyli konsoli. Argument polecenia jest typu String i jest zawsze jeden. Polecenie przesuwa automatycznie kursor do następnej linii. Jeżeli nkursor ma pozostać na końcu napisu, należy zastosować polecenie:
System.out.print(String NapisDoWyswietlenia);
Napiszmy jeszcze program wyświetlający wszystkie podane argumenty.
Plik Params.java:
public class Params
{
public static void main(String args[])
{
int i = 0;
System.out.println("Parametry programu");
for( i = 0; i < args.length; i ++)
System.out.println("Argument " + (i+1) + " - " + args[i]);
}
};
W metodzie main deklarujemy zmienną; licznikową i typu całkowitego Integer. Jak widać, wiele parametrów funkcji System.out.println można połączyć w jeden napis znakiem "+" (plus).
Zastosowana pętla for działa identycznie jak w C/C++:
for(działanie początkowe; warunek wykonywania; wykonaj po każdej iteracji)
{
// to wykonuj w pętli
}
BTW: czemu pod koniec nie działa kolorowanie składni? :/
ostatni przyklad powinien wygladac tak:
public class Params {
public static void main(String args[]) {
}
};
Zabraklo lewego nawiasu po for i średnika na koncu definicji klasy.
Drobna uwaga:
Java nie jest językiem całkowicie obiektowym - można w niej korzystać z całej gamy typów prostych. Całkowicie obiektowy jest np. SmallTalk.
Myślę że poninieneś wywołać program z takim poleceniem:
java Params arg1 arg2 arg3
w wyniku powinno być: "arg1 arg2 arg3" i kursor w nowym wierszu.
Coś ten przykład z pentelką jest źle napisany, jak na moje to brakuje 1 nawiasu "(", zresztą wywala przy tym blad, w innych językach pętla jest w { } a tu nie, nieznam sie, ale moze przez to niedziala poprawniem, Wypisuje tylko "Parametry programu", i nic więcej.
A zresztą z {} tez niedziala, wiec niewiem.