Java 25 finalizuje tvorbu jednoduchých programov

3. 11. 2025

Sdílet

Java káva Autor: Depositphotos

Septembrové vydanie Javy 25 finalizuje tvorbu jednoduchých programov v móde kompaktných súborov a inštančných hlavných metód. Na tvorbu školského príkladu nám bude stačiť jednoduchá main metóda v súbore s príponou .java.

Triviálny príklad pomocou troch riadkov kódu:

void main() {
    IO.println(Instant.now());
}

Spustíme ho príkazom: java Simple.java. Automaticky sú importované triedy z modulu java.base, preto sme nepotrebovali importovať triedu java.time.Instan­t. Máme možnosť tiež importovať pre jednoduchosť celé moduly, napriklad: import module java.net.http;.

Pribudla tiež trieda IO, ktorá poskytuje jednoduché metódy na vstup a výstup:

public static void print(Object obj);
public static void println(Object obj);
public static void println();
public static String readln(String prompt);
public static String readln();

Rozšírenia VS Code pre Javu od Red Hat a Microsoftu sú už konečne na takej úrovni, že sa daju pohodlne používať na vývoj v Jave. Rozpoznávajú viaceré kompaktné súbory v jednom adresári a nespravia nám v ňom červené more.

{
  "java.project.referencedLibraries": [
    "jsoup-1.21.2.jar",
    "sdk-1.10.0.jar",
    "gson-2.10.1.jar"
]
}

V súbore .vscode/settin­gs.json v adresári s projektom si môžeme nadefinovať knižnice, ktoré budeme používať. V príklade nižšie načítavame počasie z verejného API pomocou HttpClienta a knižnice Gson na prácu s JSON dátami.

import module java.net.http;
import com.google.gson.Gson;

record CurrentWeather(double temperature, double windspeed, int winddirection,
  int weathercode, int is_day, String time) {
}

record WeatherResponse(double latitude, double longitude,
  double generationtime_ms, int utc_offset_seconds, String timezone,
  String timezone_abbreviation, double elevation, CurrentWeather current_weather) {
}

void main() throws IOException, InterruptedException {

  double bratislavaLatitude = 48.1486;
  double bratislavaLongtitude = 17.1077;

  String apiUrl = String.format("https://api.open-meteo.com/v1/forecast?latitude=%f&longitude=%f&current_weather=true",
    bratislavaLatitude, bratislavaLongtitude);

  HttpClient client = HttpClient.newHttpClient();
  HttpRequest request = HttpRequest.newBuilder().uri(URI.create(apiUrl)).build();

  HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

  // Parse JSON using Gson into record
  Gson gson = new Gson();
  WeatherResponse weather = gson.fromJson(response.body(),
  WeatherResponse.class);

  IO.println("Weather data for Bratislava:");
  IO.println("Temperature: " + weather.current_weather().temperature() + "°C");
  IO.println("Windspeed: " + weather.current_weather().windspeed() + " km/h");
  IO.println("Weather code: " + weather.current_weather().weathercode());

  // Serialize back to JSON
  String serializedJson = gson.toJson(weather);
  IO.println("Serialized JSON:");
  IO.println(serializedJson);
}

JAR súbor Gson si stiahneme z Maven repozitára a uložíme do pracovného adresára.

$ java -cp gson-2.10.1.jar GetMeteo.java
Weather data for Bratislava:
Temperature: 15.4°C
Windspeed: 11.2 km/h
Weather code: 3
Serialized JSON:
{"latitude":48.14,"longitude":17.099998,"generationtime_ms":0.05447864532470703,"utc_offset_seconds":0,
"timezone":"GMT","timezone_abbreviation":"GMT","elevation":157.0,
"current_weather":{"temperature":15.4,"windspeed":11.2,"winddirection":84,
"weathercode":3,"is_day":1,"time":"2025-11-02T11:30"}}

Java programátori, či už začiatočníci alebo skúsení vývojári, môžu vďaka Jave 25 písať a spúšťať jednoduché programy rýchlo a efektívne. Tento mód sa nám hodí na vzdelávanie, testovanie nových knižníc, alebo na robenie poznámok a dokumentácie.

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?

Autor zprávičky