Metoda main
jest punktem wejścia dla każdej aplikacji w języku Java. To przez nią rozpoczyna się wykonanie programu. Metoda main
musi być zawsze publiczna, statyczna, nie może zwracać żadnych wartości (void) i musi przyjmować tablicę Stringów jako argument. W tej lekcji przyjrzymy się bliżej metodzie main
oraz jej zastosowaniu na przykładzie prostego programu.
Przykład użycia metody main
w Java
Załóżmy, że chcemy stworzyć aplikację, która analizuje dane o książkach w bibliotece – ich tytuły i lata wydania. Aplikacja będzie przechowywać informacje o książkach i umożliwić ich wyświetlenie.
Klasa Book
Pierwszy krok to utworzenie klasy Book
, która będzie reprezentować książkę.
public class Book {
String title; // Tytuł książki
int year; // Rok wydania
// Konstruktor klasy Book
public Book(String title, int year) {
this.title = title;
this.year = year;
}
// Metoda do wyświetlania informacji o książce
public void displayInfo() {
System.out.println(title + ", " + year);
}
}
Główna klasa aplikacji z metodą main
Następnie tworzymy główną klasę aplikacji, która zawiera metodę main
. W tej metodzie utworzymy kilka obiektów Book
i wyświetlimy ich dane.
public class LibraryApp {
// Metoda main - punkt wejścia programu
public static void main(String[] args) {
// Tworzenie obiektów klasy Book
Book book1 = new Book("Władca Pierścieni", 1954);
Book book2 = new Book("Hobbit", 1937);
// Wyświetlanie informacji o książkach
book1.displayInfo();
book2.displayInfo();
}
}
Metoda main
w Java może również przyjmować argumenty z linii poleceń, co umożliwia użytkownikowi przekazanie danych do programu podczas jego uruchamiania. Argumenty te są dostępne w metodzie main
jako tablica Stringów. Umożliwia to tworzenie bardziej elastycznych i interaktywnych aplikacji. W tej lekcji pokażemy, jak można przyjmować i wykorzystywać argumenty przekazane do metody main
.
Przykład użycia argumentów w metodzie main
Załóżmy, że chcemy stworzyć prosty program, który przyjmuje nazwy owoców jako argumenty z linii poleceń i wyświetla je w konsoli wraz z ich kolejnością.
Klasa FruitBasket
Poniżej przedstawiamy kod klasy FruitBasket
, która zawiera metodę main
obsługującą argumenty z linii poleceń.
public class FruitBasket {
// Metoda main przyjmująca argumenty
public static void main(String[] args) {
// Sprawdzenie, czy zostały przekazane jakieś argumenty
if (args.length > 0) {
System.out.println("Owoce w koszyku:");
// Iteracja przez argumenty i ich wyświetlanie
for (int i = 0; i < args.length; i++) {
System.out.println((i + 1) + ". " + args[i]);
}
} else {
System.out.println("Nie przekazano owoców do koszyka.");
}
}
}
Wyjaśnienie kodu
- Metoda
main
w klasieFruitBasket
jest zaprojektowana do przyjmowania argumentów z linii poleceń. Argumenty te są dostarczane jako tablica Stringów (String[] args
). - Najpierw sprawdzamy, czy do metody
main
zostały przekazane jakiekolwiek argumenty (czyli czy długość tablicyargs
jest większa niż 0). Jeśli tak, program wypisuje listę owoców przekazanych jako argumenty. - Używamy pętli
for
do iteracji przez wszystkie przekazane argumenty i wyświetlamy je w konsoli, dodając numer porządkowy przed każdym owocem. - Jeśli nie przekazano żadnych argumentów, program informuje użytkownika o braku owoców w koszyku.
Uruchamianie programu z argumentami
Aby przetestować ten program, możemy uruchomić go z linii poleceń, przekazując różne nazwy owoców jako argumenty. Na przykład:
java FruitBasket Jabłko Banan Pomarańcza
W wyniku zostanie wyświetlona lista owoców przekazanych do programu.
Podsumowanie
Przyjmowanie argumentów do metody main
w Java umożliwia tworzenie interaktywnych aplikacji, które mogą być łatwo dostosowywane przez użytkownika w momencie uruchamiania. Ta funkcjonalność jest szczególnie przydatna w narzędziach linii poleceń, skryptach oraz wszelkich aplikacjach, które wymagają od użytkownika wprowadzenia danych zewnętrznych. Przykład z koszykiem owoców pokazuje podstawowe wykorzystanie argumentów w praktycznym scenariuszu.
Jeżeli chcesz przyśpieszyć swoją naukę tworzenia stron chciałbym polecić mój kurs video Java w którym nauczysz się tego języka od podstaw do zaawansowanych jego aspektów.