Acho que todo mundo já teve essa dúvida aki lendo o livro em português, mas lendo a primeira vez tirei a dúvida ou não tirei direito, bem o fato é que não to entendendo um pequeno detalhe.
A dúvida é o seguinte, gostária de saber pq a saída ele guarda 3 casas antes do ponto e não 4 ou 2 ou até mesmo uma. O fato de completar com zero já compreendi, mas deve ter um motivo bem obvio que não to conseguindo enchergar. Peço desculpas pela dúvida tão boba que deve ser mas desde já agradeço a todos que ajudam de bom coração e não falam bobagem com alguma dúvida boba.
public class printf {
public static void main(String[] args){
int i1 = -123;
int i2 = 12345;
System.out.printf(">%1$(7d< \n", i1); //entendido.
System.out.printf(">%0,7d< \n", 12345); //não entendido completamente
System.out.printf(">%+-7d< \n", i2); //entendido
System.out.printf(">%2$b + %1$5d< \n", i1, false);//entendido
}
}
Saída:
> (123)<
>012.345<
>+12345 <
>false + -123<