==== Formátovaný textový výstup ==== Programovací jazyk Java poskytuje nejen základní metody pro formátování číselných typů a výpis řetězců, ale také způsob pro textovou reprezentaci času a data, který se zvláště hodí při unifikace a následné načítání. Předpis způsobu formátování je realizován textovým řetězcem obsahující vyhrazené formátovací znaky. String str = "Pepa"; char ch = 'x'; int i = 12; float f = 4.5F; Date date = new Date(); System.out.printf("%b%n", str); System.out.printf("%c%n", ch); System.out.printf("%03d%n", i); System.out.printf("%e%n", f); System.out.printf("%03f%n", f); System.out.printf("%.2f%n", f); System.out.printf("{%07.3f}%n", f); System.out.printf("%f%n", f); System.out.printf("%g%n", f); System.out.printf("%h%n", f); System.out.printf("%s%n", 5); System.out.printf("%s://%s/%s%n", str, str, str); System.out.printf("%1$s...%n", str); System.out.printf("%5s%n", str); System.out.printf("%-5s%n", str); System.out.printf("%-10.10s %s%n", str, 3); System.out.printf("%.5s%n", str); System.out.printf("%s%n", date); System.out.printf("%tc%n", date); //(lowercase t, lowercase c) System.out.printf("%tC%n", date); //(lowercase t, uppercase C) System.out.printf("%tD%n", date); System.out.printf("%tF%n", date); System.out.printf("%tr%n", date); System.out.printf("%tR%n", date); System.out.printf("%tT%n", date); System.out.printf("%tz%n", date); System.out.printf("%Tc%n", date); System.out.printf("%1$x, %1$X%n", 0xCAFE); System.out.printf(Locale.CHINA, "%tc%n", date); System.out.printf(Locale.ITALIAN, "%tc%n", date); System.out.printf(Locale.getDefault(), "%tc%n", date); ====== Formátovaný výstup pomocí printf ====== ===== Přehled formátových specifikátorů pro funkci printf: ===== ||| %c ||| character ||| ||| %d ||| decimal (integer) number (base 10) ||| ||| %e ||| exponential floating-point number ||| ||| %f ||| floating-point number ||| ||| %i ||| integer (base 10) ||| ||| %o ||| octal number (base 8) ||| ||| %s ||| a string of characters ||| ||| %u ||| unsigned decimal (integer) number ||| ||| %x ||| number in hexadecimal (base 16) ||| ||| %% ||| print a percent sign ||| ||| \% ||| print a percent sign ||| ==== Formátování celých čísel ==== ||| Popis ||| Kód ||| Výsledek ||| ||| šířka alespoň 5 znaků ||| printf("'%5d'", 10); ||| ' 10' ||| ||| šířka alespoň 5 znaků, zarovnáno vlevo ||| printf("'%-5d'", 10); ||| '10 ' ||| ||| šířka alespoň 5 znaků, doplněno nulami ||| printf("'%05d'", 10); ||| '00010' ||| ||| šířka alespoň 5 znaků, se znaménkem + ||| printf("'%+5d'", 10); ||| ' +10' ||| ||| šířka alespoň 5 znaků, se znaménkem +, zarovnáno vlevo ||| printf("'%-+5d'", 10); ||| '+10 ' ||| ==== Formátování čísel s pohyblivou řádovou čárkou ==== ||| Popis ||| Kód ||| Výsledek ||| ||| jedno desetinné místo ||| printf("'%.1f'", 10.3456); ||| '10.3' ||| ||| dvě desetinná místa ||| printf("'%.2f'", 10.3456); ||| '10.35' ||| ||| šířka alespoň 8 znaků, dvě desetinná místa ||| printf("'%8.2f'", 10.3456); ||| ' 10.35' ||| ||| šířka alespoň 8 znaků, čtyři desetinná místa ||| printf("'%8.4f'", 10.3456); ||| ' 10.3456' ||| ||| šířka alespoň 8 znaků, dvě desetinná místa, doplněno nulami ||| printf("'%08.2f'", 10.3456); ||| '00010.35' ||| ||| šířka alespoň 8 znaků, dvě desetinná místa, zarovnáno vlevo ||| printf("'%-8.2f'", 10.3456); ||| '10.35 ' ||| ||| šířka alespoň 8 znaků, dvě desetinná místa, zarovnáno vlevo ||| printf("'%-8.2f'", 101234567.3456); ||| '101234567.35' ||| ==== Formátování řetězců ==== ||| Popis ||| Kód ||| Výsledek ||| ||| jednoduchý řetězec ||| printf("'%s'", "Hello"); ||| 'Hello' ||| ||| řetězec s minimální délkou ||| printf("'%10s'", "Hello"); ||| ' Hello' ||| ||| řetězec s minimální délkou, zarovnáno vlevo ||| printf("'%-10s'", "Hello"); ||| 'Hello ' ||| ===== Přehled speciálních znaků ===== ||| \a ||| audible alert ||| ||| \b ||| backspace ||| ||| \f ||| form feed ||| ||| \n ||| newline, or linefeed ||| ||| \r ||| carriage return ||| ||| \t ||| tab ||| ||| \v ||| vertical tab ||| ||| \\\\ ||| backslash |||