Formatowanie wyjścia: printf i String.format

Klasy biblioteczne: Math, Random, String, Scanner - Podstawy Javy (Java)

Specyfikatory formatowania: %s - tekst (String) %d - liczby całkowite %f - liczby zmiennoprzecinkowe %x - liczby w systemie szesnastkowym %e - notacja naukowa %n - znak nowej linii Modyfikatory formatowania: Szerokość pola: %10s Precyzja: %.2f Wyrównanie: %-10s (do lewej) Wypełnianie zerami: %05d Klasy pomocnicze: NumberFormat - formatowanie liczb i walut DecimalFormat - własne wzorce formatowania DateTimeFormatter - formatowanie dat Locale: Formatowanie zależne od regionu Różne separatory dziesiętne Różne symbole walut

import java.text.NumberFormat;
import java.text.DecimalFormat;
import java.util.Locale;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
  public static void main(String[] args) {
    // Podstawowe formatowanie tekstu
    String name = "Jan";
    int age = 25;
    double salary = 3567.89;
    
    // String.format
    System.out.println("=== Podstawowe formatowanie ===");
    String info = String.format("Pracownik %s (wiek: %d) zarabia %.2f zł", 
      name, age, salary);
    System.out.println(info);

    // Formatowanie liczb
    System.out.println("\n=== Formatowanie liczb ===");
    
    // Liczby całkowite
    System.out.printf("Decimal: %d%n", 1234);
    System.out.printf("Hex: %x%n", 1234);
    System.out.printf("Binary: %s%n", 
      String.format("%8s", Integer.toBinaryString(1234)).replace(' ', '0'));
    
    // Liczby zmiennoprzecinkowe
    double pi = Math.PI;
    System.out.printf("Pi (2 miejsca): %.2f%n", pi);
    System.out.printf("Pi (4 miejsca): %.4f%n", pi);
    System.out.printf("Pi (notacja naukowa): %e%n", pi);

    // Formatowanie walut
    System.out.println("\n=== Formatowanie walut ===");
    NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(new Locale("pl", "PL"));
    System.out.println("Kwota w PLN: " + currencyFormatter.format(salary));
    
    currencyFormatter = NumberFormat.getCurrencyInstance(new Locale("en", "US"));
    System.out.println("Kwota w USD: " + currencyFormatter.format(salary));

    // Formatowanie procentów
    System.out.println("\n=== Formatowanie procentów ===");
    NumberFormat percentFormatter = NumberFormat.getPercentInstance();
    double percentage = 0.7523;
    System.out.println("Procent: " + percentFormatter.format(percentage));

    // Własne wzorce formatowania
    System.out.println("\n=== Własne wzorce formatowania ===");
    DecimalFormat customFormat = new DecimalFormat("#,###.##");
    System.out.println("Liczba z separatorem: " + customFormat.format(1234567.89));

    // Formatowanie dat
    System.out.println("\n=== Formatowanie dat ===");
    LocalDateTime now = LocalDateTime.now();
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
    System.out.println("Data i czas: " + now.format(formatter));

    // Wyrównanie tekstu
    System.out.println("\n=== Wyrównanie tekstu ===");
    System.out.printf("%-15s|%15s%n", "Lewo", "Prawo");
    System.out.printf("%-15s|%15s%n", "Długi tekst", "Krótki");
    System.out.printf("%-15s|%15s%n", "Test", "Test");
  }
}

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Podstawy Javy · Zaloguj się, aby zapisać postęp na koncie.