Podstawy printf
Formatowanie ciągów i argumentów
Podstawy printf to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.
Dlaczego printf?
Czasami System.out.println nie wystarcza. Może być potrzebne wyrównanie liczb, ograniczenie liczby miejsc dziesiętnych lub wstawienie wartości do zdania.
System.out.printf umożliwia tworzenie sformatowanego tekstu za pomocą symboli zastępczych. Nazwa jest skrótem od wyrażenia „print formatted”.
Pierwsze użycie printf
Wywołanie printf przyjmuje łańcuch formatujący oraz wartości. Każdy symbol zastępczy zaczyna się od %.
W tym przypadku %s oznacza „wstaw tutaj napis”. Wartość znajdująca się za przecinkiem wypełnia to miejsce.
public class Main {
public static void main(String[] args) {
System.out.printf("Hello, %s!\n", "World");
}
}printf nie dodaje znaku nowej linii
W przeciwieństwie do println metoda printf NIE dodaje automatycznie podziału wiersza. Jeśli kursor ma przejść do następnej linii, należy samodzielnie dodać \n.
Jeśli się o tym zapomni, dwa wyniki zostaną wyświetlone razem w jednym wierszu.
public class Main {
public static void main(String[] args) {
System.out.printf("A");
System.out.printf("B\n");
}
}Specyfikator %s
%s to symbol zastępczy dla napisu. Działa w przypadku tekstu, a także większości obiektów, które Java automatycznie konwertuje na tekst.
W jednym wywołaniu można użyć kilku symboli %s. Wartości są dopasowywane od lewej do prawej.
public class Main {
public static void main(String[] args) {
System.out.printf("%s likes %s\n", "Ana", "Java");
}
}Specyfikator %d
%d formatuje liczbę całkowitą typu int lub long. Litera d oznacza „decimal integer”, czyli liczbę całkowitą zapisaną dziesiętnie.
Przekazanie wartości dziesiętnej, takiej jak 3.5, do %d powoduje błąd, dlatego %d należy stosować wyłącznie dla liczb całkowitych.
public class Main {
public static void main(String[] args) {
int age = 25;
System.out.printf("Age: %d\n", age);
}
}Wiele symboli zastępczych
Specyfikatory można dowolnie łączyć. Każdy symbol zastępczy pobiera kolejny argument w odpowiedniej kolejności.
W poniższym przykładzie %s pobiera nazwę, a %d wynik.
public class Main {
public static void main(String[] args) {
System.out.printf("%s scored %d points\n", "Leo", 42);
}
}Kolejność ma znaczenie
Argumenty wypełniają symbole zastępcze dokładnie w kolejności ich występowania. Pierwsza wartość trafia do pierwszego %, druga do drugiego i tak dalej.
Zamiana wartości miejscami zmienia znaczenie wyniku.
public class Main {
public static void main(String[] args) {
System.out.printf("%d before %d\n", 1, 2);
}
}Sekwencja ucieczki %%
Ponieważ % rozpoczyna symbol zastępczy, jak wyświetlić dosłowny znak procentu? Należy użyć %%.
Jedno %% w łańcuchu formatującym staje się pojedynczym % w wyniku.
public class Main {
public static void main(String[] args) {
System.out.printf("%d%% done\n", 80);
}
}Popularne sekwencje ucieczki
W łańcuchu formatującym można używać typowych sekwencji ucieczki: \n oznacza znak nowej linii, a \t tabulator.
Ułatwiają one oddzielanie wartości i estetyczne przechodzenie do nowych wierszy.
public class Main {
public static void main(String[] args) {
System.out.printf("Name:\tBob\nCity:\tRome\n");
}
}printf a println
println świetnie nadaje się do szybkiego wyświetlenia jednej wartości. printf sprawdza się, gdy potrzebna jest dokładna kontrola wyglądu wartości.
Zasada praktyczna: należy wybrać printf, gdy potrzebne są symbole zastępcze, wyrównanie lub kontrola miejsc dziesiętnych.
Niezgodne typy
Specyfikator musi odpowiadać typowi wartości. Użycie %d z tekstem albo %s tam, gdzie oczekiwany jest format liczbowy, może spowodować błąd lub nietypowy wynik.
Należy zawsze łączyć %s z tekstem, a %d z liczbami całkowitymi.
Szybki test
Sprawdź podstawy używania printf.
Podsumowanie
Poznali Państwo System.out.printf, symbole zastępcze %s i %d, sekwencję ucieczki %% oraz zasadę, że printf samodzielnie nie dodaje znaku nowej linii.
W następnej części sformatują Państwo liczby i wartości dziesiętne z określoną precyzją.
Często zadawane pytania
Czy lekcja „Podstawy printf” jest bezpłatna?
Tak — pełny tekst „Podstawy printf” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawy printf”?
Formatowanie ciągów i argumentów Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Java Academy?
Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Podstawy printf”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?
Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy printf
- Formaty liczbowe i dziesiętne
- String.format
- Wyrównywanie tabel