Java to język programowania wysokiego poziomu, który został zaprojektowany w celu maksymalnej interoperacyjności i łatwości użycia. Został opracowany przez Sun Microsystems (obecnie część Oracle) i wydany w 1995 roku. Java od samego początku była promowana hasłem „Napisz raz, uruchom wszędzie” (Write Once, Run Anywhere – WORA), co oznacza, że skompilowany kod Javy (bytecode) może być uruchamiany na dowolnym urządzeniu wyposażonym w wirtualną maszynę Javy (JVM – Java Virtual Machine), bez względu na architekturę sprzętową.
Kluczowe cechy Javy:
- Platforma niezależna: Java jest niezależna od platformy, co oznacza, że aplikacje napisane w Javie mogą być uruchamiane na różnych systemach operacyjnych bez konieczności modyfikacji kodu.
- Obiektowość: Java jest językiem w pełni obiektowym, co ułatwia organizację skomplikowanych programów i wspiera ponowne użycie kodu.
- Bezpieczeństwo: Java zapewnia wysoki poziom bezpieczeństwa, zarówno w zakresie wykonania kodu, jak i jego przechowywania.
- Wielowątkowość: Java natywnie wspiera programowanie wielowątkowe, co jest kluczowe dla współczesnych aplikacji wymagających jednoczesnego przetwarzania wielu zadań.
Pierwszy program: Hello, World!
Najprostszym programem, który można napisać w Javie, jest aplikacja wypisująca na ekranie tekst „Hello, World!”. Jest to standardowy sposób na zaznajomienie się z nowym językiem programowania. Oto jak to zrobić:
- Utwórz plik tekstowy i nazwij go
HelloWorld.java
. - Wpisz następujący kod do pliku:
public class HelloWorld {
public static void main(String[] args) {
// Wypisuje "Hello, World!" na standardowe wyjście.
System.out.println("Hello, World!");
System.out.print("Hello, Java");
}
}
Skompiluj program. Otwórz terminal lub wiersz poleceń, przejdź do katalogu zawierającego plik HelloWorld.java
i wpisz:
javac HelloWorld.java
Uruchom skompilowany program. Po skompilowaniu, w katalogu pojawi się plik HelloWorld.class
. Uruchom program, wpisując:
java HelloWorld
Na ekranie powinien się pojawić napis „Hello, World!”, co oznacza, że Twój pierwszy program w Javie działa poprawnie.
Rozłożymy nasz kod na czynniki pierwsze.
public class Main {
}
public
Słowo kluczowe public
oznacza, że klasa jest dostępna publicznie, co w praktyce oznacza, że do klasy może uzyskać dostęp kod spoza pakietu, w którym została zdefiniowana. W Javie istnieją różne modyfikatory dostępu, takie jak private
, protected
, czy brak modyfikatora (domyślny dostęp pakietowy), ale public
czyni klasę najbardziej dostępną. Jest to często używane dla klas, które mają być punktem wejścia aplikacji lub dla klas bibliotek udostępnianych innym częściom programu lub innym programom.
class
Słowo kluczowe class
wskazuje, że definiujemy nową klasę. Klasy są podstawowymi budulcami obiektowego języka programowania, takiego jak Java. Umożliwiają one modelowanie rzeczywistości poprzez abstrakcję i kapsułkowanie, oferując struktury do organizowania kodu w logiczne jednostki, które mogą zawierać dane (pola) i operacje na tych danych (metody). Praktycznie każdy program w Javie wykorzystuje klasy do strukturyzowania kodu.
Main
To jest nazwa klasy, którą zdefiniowaliśmy. Java nakłada niewiele ograniczeń na nazewnictwo klas, poza koniecznością rozpoczęcia nazwy od litery i unikania spacji oraz specjalnych symboli (z kilkoma wyjątkami). Nazwy klas powinny być nazwami rzeczownikowymi i zazwyczaj stosuje się konwencję CamelCase, gdzie każde słowo zaczyna się od wielkiej litery. W przypadku klasy Main
, jest to popularna konwencja dla klasy zawierającej metodę main
, która jest punktem startowym aplikacji Java.
{ i }
Klamry otwierająca {
i zamykająca }
wyznaczają ciało klasy. Wszystko, co znajduje się między tymi klamrami, jest częścią klasy, włączając w to pola (zmienne klasy), metody (funkcje), konstruktory (specjalne metody wywoływane podczas tworzenia obiektu klasy) oraz bloki inicjalizacyjne. Klamry są używane również do definiowania ciał metod, pętli, warunków i innych struktur blokowych w Javie, strukturując kod i wyznaczając jego zakres.
public static void main(String[] args) {
}
public
Modyfikator dostępu public
oznacza, że metoda jest publicznie dostępna, co pozwala na jej wywołanie z każdego miejsca w programie, a nawet poza nim. Dzięki temu, metoda main
może być uruchamiana przez środowisko uruchomieniowe Javy jako punkt wejścia do aplikacji. W kontekście metody main
, modyfikator public
jest wymagany, aby JVM (Java Virtual Machine) mogła bez problemu ją znaleźć i wywołać.
static
Słowo kluczowe static
wskazuje, że metoda jest statyczna, co znaczy, że jest ona dostępna na poziomie klasy, a nie jej instancji. Nie wymaga to tworzenia obiektu klasy, w której się znajduje, aby można było z niej korzystać. Dla metody main
jest to kluczowe, ponieważ umożliwia JVM uruchomienie programu bez konieczności inicjalizowania jakiegokolwiek obiektu.
void
Modyfikator void
oznacza, że metoda nie zwraca żadnej wartości. W kontekście main
, oznacza to, że jej głównym celem jest wykonanie programu, a nie dostarczanie danych na zewnątrz. Jest to typowy przypadek dla metod, które stanowią punkt wejścia aplikacji.
main
To nazwa metody i jest ona bardzo specyficzna. Metoda o nazwie main
jest rozpoznawana przez JVM jako punkt startowy aplikacji Java. Dzięki temu, metody o innych nazwach nie będą traktowane jako początek programu. Nazwa main
jest zatem konwencją, do której należy się zawsze stosować przy definiowaniu punktu wejścia.
(String[] args)
Nawiasy ()
otaczające String[] args
wskazują na listę argumentów, które metoda może przyjmować. W tym przypadku, String[] args
jest tablicą łańcuchów znaków (ciągów tekstowych), które reprezentują parametry przekazywane do programu przez użytkownika z wiersza poleceń podczas uruchamiania. Umożliwia to programowi odbieranie danych wejściowych zewnętrznych, zanim nawet zacznie się jego wykonanie.
{ i }
Klamry {}
otaczające ciało metody definiują zakres, w którym zawarty jest kod należący do tej metody. Wszystkie operacje, instrukcje i deklaracje zmiennych zawarte wewnątrz tych klamr są częścią metody main
i zostaną wykonane, gdy metoda ta zostanie wywołana. To w obrębie tych klamr będziesz umieszczał logikę swojego programu, począwszy od prostego „Hello, World!” po bardziej skomplikowane algorytmy i procesy.
Każdy z tych elementów składniowych odgrywa kluczową rolę w definicji i działaniu metod w Javie, a zrozumienie ich znaczenia i zastosowania jest fundamentalne dla każdego, kto chce nauczyć się programowania w tym języku. Metoda main
pełni specjalną rolę jako punkt wejścia do aplikacji Java, co czyni ją jednym z najważniejszych elementów każdego programu.
Instrukcje System.out.print("Hello World!");
i System.out.print("Hello Java");
są podstawowymi przykładami wykorzystania strumieni wyjściowych w Javie do wypisywania tekstu na konsolę. Te dwie linie kodu działają bardzo podobnie, różniąc się jedynie wyświetlanym tekstem. Oto szczegółowe wyjaśnienie składników tej instrukcji:
System.out
System
jest klasą dostarczaną przez JDK (Java Development Kit), która dostarcza przydatne narzędzia i pola.out
jest statycznym polem klasySystem
, które reprezentuje standardowy strumień wyjściowy (domyślnie jest to konsola lub terminal).- Jest to miejsce, do którego można kierować wyjście programu, na przykład tekst, który chce się wyświetlić użytkownikowi.
.print()
.print()
jest metodą wywoływaną na obiekcieout
. Metoda ta przyjmuje ciąg znaków (string) jako argument i wypisuje go na standardowym wyjściu bez dodawania nowej linii na końcu. To znaczy, że po wywołaniuprint()
, kolejne wywołanieprint()
lubprintln()
będzie kontynuować wypisywanie tekstu w tej samej linii.- Jest to jedna z kilku metod do wypisywania tekstu dostępnych w Javie; inne to na przykład
println()
, która działa bardzo podobnie, ale automatycznie dodaje nową linię na końcu tekstu.
Kiedy używasz metody print()
, warto pamiętać, że pozwala ona na wyświetlanie dowolnego tekstu na standardowym wyjściu, co czyni ją podstawowym narzędziem do interakcji z użytkownikiem w konsolowych aplikacjach Javy.