Introdução
Neste laboratório, você usará o método printf() em Java. O método printf() é usado para formatar e imprimir uma string no console. A sintaxe geral do método é:
Neste laboratório, você usará o método printf() em Java. O método printf() é usado para formatar e imprimir uma string no console. A sintaxe geral do método é:
Abra o terminal e crie um diretório de projeto usando o comando:
mkdir project
Crie um novo arquivo dentro do diretório do projeto usando o comando:
touch project_formatting_printf.java
Para formatar inteiros usando printf(), usamos o especificador de formato %d. Abaixo está um exemplo:
public static void main(String[] args) {
int num = 10;
System.out.printf("The number is: %d%n", num);
}
No código acima, %d é o especificador de formato para inteiros e %n é o caractere de nova linha (newline character).
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
The number is: 10
Para formatar decimais, use o especificador de formato %f. Por exemplo:
public static void main(String[] args) {
double num = 3.14159265359;
System.out.printf("The number is: %.2f%n", num);
}
No código acima, %.2f é o especificador de formato para decimais com 2 casas decimais.
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
The number is: 3.14
Para formatar datas, usamos t como o caractere de conversão e fornecemos um especificador de formato. Por exemplo:
public static void main(String[] args) {
Date date = new Date();
System.out.printf("Today is %tA, %<tB %<te, %<tY.%n", date);
}
No código acima, %tA é o especificador de formato para o nome completo do dia e %<tB %<te, %<tY é o especificador de formato para o mês, dia e ano. %n é o caractere de nova linha (newline character).
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
Today is Friday, October 15, 2021.
Flags (sinalizadores) são usados para adicionar recursos especiais à saída. Por exemplo:
public static void main(String[] args) {
double num = 12345.6789;
System.out.printf("The number is: %,.2f%n", num);
}
No código acima, , é o separador de milhares e %.2f é o especificador de formato para decimais com 2 casas decimais.
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
The number is: 12,345.68
A precisão é usada para limitar o número de casas decimais. Por exemplo:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %.2f%n", num);
}
No código acima, %.2f é o especificador de formato para decimais com 2 casas decimais.
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
The number is: 1234.57
Para imprimir a saída em letras maiúsculas, usamos a versão maiúscula do caractere de conversão. Por exemplo:
public static void main(String[] args) {
String name = "John Doe";
System.out.printf("Name: %S%n", name);
}
No código acima, %S é o especificador de formato para strings em letras maiúsculas.
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
Name: JOHN DOE
Podemos usar preenchimento (padding) para adicionar espaços ou zeros à saída. Por exemplo:
public static void main(String[] args) {
int num = 123;
System.out.printf("The number is: %010d%n", num);
}
No código acima, %010d é o especificador de formato para inteiros com 10 dígitos e o caractere de preenchimento é 0.
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
The number is: 0000000123
Podemos combinar múltiplos especificadores de formato para formatar a saída como desejamos. Por exemplo:
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %,010.2f%n", num);
}
No código acima, %010.2f é o especificador de formato para decimais com 2 casas decimais, 10 dígitos e o caractere de preenchimento é 0. , é o separador de milhares.
Compile e execute o código usando os seguintes comandos:
javac project_formatting_printf.java
java project_formatting_printf
Você verá a saída:
The number is: 01,234.57
Parabéns! Você concluiu o laboratório de Formatação com Printf. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.