5. caractere-de-conversão
%d número inteiro [byte, short, int, long]
%u número inteiro decimal sem sinal +-
%o número inteiro octal sem sinal +-
%x, %X número hexadecimal, caixa baixa (lowecase) ou caixa alta (uppercase)
%f número ponto flutuante [float, double]
%e, %E número real em notação científica (lowercase ou uppercase)
%s, %S string (normal ou uppercase)
%c, %C char (normal ou uppercase)
%p referência de um objeto
%n nova linha - usar %n no lugar de n como boa prática
6. flags
- alinhar à esquerda ( padrão é alinhar à direita )
+ adiciona
o
sinal
de
mais
(
+
)
ou
menos
(
-‐
)
para
um
valor
numérico
0 força
um
valor
numérico
a
ter
zero
à
esquerda
, adiciona
o
separador
de
ponto
para
números
>
1000
espaço:
adiciona
o
sinal
de
menos
(
-‐
)
em
um
número
se
o
mesmo
for
negaAvo
e
um
espaço
se
posiAvo
8. System.out.printf("%s", "Olá, Mundo!"); //string
System.out.println();
System.out.printf("%S", "Olá, Mundo!"); //string com caixa alta
System.out.println();
System.out.printf("%c", 'o'); //char
System.out.println();
System.out.printf("%C", 'o'); //string com caixa alta
System.out.printf("%n"); //nova linha - n
Olá, Mundo!
OLÁ, MUNDO!
o
O
9. int valor = 123456789;
System.out.printf("%d", valor);
System.out.printf("%n");
double pontoFlutuante = 3.1456789;
System.out.printf("%f", pontoFlutuante);
123456789
3.145679
10. String olaMundo = "Olá, Mundo!";
System.out.printf("%20s", olaMundo); //espaço de 20 chars
(largura) e alinha à direita
System.out.printf("%n");
System.out.printf("%-20s", olaMundo); //espaço de 20 chars
(largura) e alinha à esquerda
System.out.printf("%+d", valor);
System.out.printf("%n");
System.out.printf("%015d", valor); //completa com 0
System.out.printf("%n");
System.out.printf("%,d", valor); //usar ponto se o seu computador
estiver em Pt-BR
Olá, Mundo!
Olá, Mundo! +123456789
000000123456789
123,456,789
11. int valor2 = -123456789;
System.out.printf("% d", valor); //add sinal( - ) se número for
negativo e um espaço se positivo
System.out.printf("%n");
System.out.printf("% d", valor2);
System.out.printf("%n");
System.out.printf("%.3f", pontoFlutuante); //precisão de 2 casa
decimais
System.out.printf("%n");
System.out.printf("R$%10.2f", pontoFlutuante); //alinha e
precisão de 2 casa decimais
123456789
-123456789
3.146
R$ 3.15
12. double[] precos = {10000, 123.54, 7843.567, 1, 4.56789};
for (int i=0; i<precos.length; i++){
System.out.printf("%s %02d: total de R$%,10.2f%n", "Item", i+1, precos[i]);
}
Item 01: total de R$ 10,000.00
Item 02: total de R$ 123.54
Item 03: total de R$ 7,843.57
Item 04: total de R$ 1.00
Item 05: total de R$ 4.57