Java

Najprostszy program

  • 2007-11-03 00:01
  • 5 komentarzy
  • 3791 odsłon
  • Oceń ten tekst jako pierwszy
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
}

5 komentarzy

Coldpeer 2006-05-20 13:03

BTW: czemu pod koniec nie działa kolorowanie składni? :/

pootek 2005-09-24 12:24

ostatni przyklad powinien wygladac tak:
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]);

  }

};
Zabraklo lewego nawiasu po for i średnika na koncu definicji klasy.

qbq 2005-01-16 12:39

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.

agak 2004-12-27 08:50

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.

Carl 2004-09-03 11:49

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.