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.Instant. 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/settings.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¤t_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.