Introdução
Em Java, o método String.format() formata uma string usando uma combinação de uma string de formatação, uma localidade e argumentos. A string de formatação especifica o formato para o qual os argumentos devem ser convertidos, e a localidade especifica quaisquer configurações que devem ser usadas, como o idioma ou a região. Neste laboratório, aprenderemos mais sobre como usar o método String.format() para formatar strings.
Criando um Exemplo Simples de Formatação de String
Nesta etapa, criaremos um exemplo básico de como usar o método String.format() para formatar uma string.
- Crie um novo arquivo Java chamado
SimpleFormatExample.javano diretório~/project. - No método
main()da classeSimpleFormatExample, crie uma variável string chamadaformattedStringe defina-a como o resultado da chamada deString.format()com os seguintes argumentos:- A string
"Hello, %s!"como a string de formatação. - A string
"world"como um argumento.
- A string
- Imprima o valor de
formattedStringusandoSystem.out.println(). - Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("Hello, %s!", "world");
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
Hello, world!
Usando Argumentos na String de Formatação
Nesta etapa, aprenderemos como usar argumentos na string de formatação para personalizar a saída.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a variável
formattedStringpara usar um argumento para o número de caracteres a serem exibidos. Substitua o"s"na string de formatação por".%d-s"para especificar o número máximo de caracteres a serem exibidos. - Adicione um argumento inteiro após a string de formatação para representar o número máximo de caracteres a serem exibidos.
- Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("Hello, %d-s!", 5);
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
Hello, 5-s!
Usando Flags para Modificar o Comportamento da Formatação
Nesta etapa, aprenderemos como usar flags (sinalizadores) para modificar o comportamento da string de formatação.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a string de formatação para alinhar o texto à esquerda, adicionando um sinal de menos (
-) após o sinal de porcentagem (%). - Adicione um argumento à string de formatação para especificar a largura mínima da saída.
- Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("%-10s, world!", "Hello");
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
Hello , world!
Usando Caracteres de Conversão para Formatar Diferentes Tipos de Dados
Nesta etapa, aprenderemos como usar diferentes caracteres de conversão para formatar diferentes tipos de dados.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a string de formatação para incluir um número de ponto flutuante usando o caractere de conversão
%f. - Adicione um argumento de número de ponto flutuante após a string de formatação.
- Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The value of pi is approximately %f", 3.14159265359);
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
The value of pi is approximately 3.141593
Usando Modificadores de Precisão para Controlar o Número de Dígitos
Nesta etapa, aprenderemos como usar modificadores de precisão para controlar o número de dígitos exibidos na saída formatada.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a string de formatação para incluir um número de ponto flutuante usando o caractere de conversão
%f. Adicione um modificador de precisão (%.2f) para exibir apenas dois dígitos após a vírgula decimal. - Adicione um argumento de número de ponto flutuante após a string de formatação.
- Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The value of pi is approximately %.2f", 3.14159265359);
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
The value of pi is approximately 3.14
Usando Locales para Personalizar as Configurações de Formatação
Nesta etapa, aprenderemos como usar locales (localidades) para personalizar as configurações de formatação, como o idioma ou a região.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a string de formatação para incluir um número e use o caractere de conversão
%d. - Adicione um argumento inteiro após a string de formatação.
- Adicione um segundo argumento ao método
String.format()para especificar o locale a ser usado. Use a constanteLocale.FRENCHpara especificar o idioma francês. - Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
import java.util.Locale;
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format(Locale.FRENCH, "Le nombre est %d", 123456789);
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
Le nombre est 123456789
Formatando Valores de Data e Hora
Nesta etapa, aprenderemos como usar o método String.format() para formatar valores de data e hora.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Adicione uma instrução de importação para a classe
java.util.Calendar, que usaremos para criar uma instância de calendário. - Crie uma nova instância de
CalendarusandoCalendar.getInstance(). - Modifique a string de formatação para incluir uma data usando o caractere de conversão
%tD. - Adicione um argumento
Dateapós a string de formatação, usando o métodocalendar.getTime()para obter um valorDate. - Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
import java.util.Calendar;
import java.util.Date;
public class SimpleFormatExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
String formattedString = String.format("%tD", calendar.getTime());
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
08/22/21
Formatação Usando Maiúsculas e Minúsculas
Nesta etapa, aprenderemos como usar os caracteres de conversão %S e %s para formatar strings em maiúsculas e minúsculas, respectivamente.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a string de formatação para incluir uma string usando o caractere de conversão
%Spara formatar a string em maiúsculas. - Modifique a string de formatação para incluir uma segunda string usando o caractere de conversão
%spara formatar a string em minúsculas. - Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
String formattedString = String.format("The word %S is in uppercase and %s is in lowercase", "HELLO", "world");
System.out.println(formattedString);
}
}
Quando você executar o código, deverá ver a seguinte saída:
The word HELLO is in uppercase and world is in lowercase
Tratamento de Exceções
Nesta etapa, aprenderemos sobre as exceções que podem ser lançadas ao usar o método String.format(), e como tratá-las.
- Abra o arquivo
SimpleFormatExample.javaem um editor. - Modifique a string de formatação para incluir um caractere usando o caractere de conversão
%c. - Adicione um argumento de caractere após a string de formatação.
- Salve e feche o arquivo
SimpleFormatExample.java. - No terminal, compile o arquivo
SimpleFormatExample.javaexecutando o seguinte comando:javac SimpleFormatExample.java. - Em seguida, execute o arquivo de classe usando o comando
java SimpleFormatExample.
Aqui está o código modificado:
public class SimpleFormatExample {
public static void main(String[] args) {
try {
String formattedString = String.format("The character is %c", "too long");
System.out.println(formattedString);
} catch (Exception e) {
System.out.println("An exception occurred: " + e.getMessage());
}
}
}
Quando você executar o código, deverá ver a seguinte saída:
An exception occurred: UString.format: '%c' != java.base/java.lang.String
Resumo
Neste laboratório, aprendemos como usar o método String.format() para formatar strings em Java. Começamos criando um exemplo simples que usava uma string de formatação e argumentos para gerar uma string. Em seguida, aprendemos como usar diferentes caracteres de conversão para formatar strings, bem como modificadores de precisão e flags para controlar a saída. Também aprendemos como usar localidades (locales) para personalizar as configurações de formatação e como formatar valores de data e hora. Finalmente, discutimos algumas das exceções que podem ser lançadas ao usar o método String.format() e como tratá-las.



