Análise e Valueof
Converta cadeias em números
Análise e Valueof é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
De texto para números
A entrada do usuário e os arquivos chegam como texto String. Para fazer cálculos, você precisa converter esses textos em números.
As classes encapsuladoras fornecem duas famílias de métodos para isso: parseXxx retorna um tipo primitivo, e valueOf retorna um objeto encapsulador.
parseInt retorna um tipo primitivo
Integer.parseInt recebe um texto e retorna um int simples. Este é o método de conversão mais comum.
public class Main {
public static void main(String[] args) {
int n = Integer.parseInt("123");
System.out.println(n + 1);
}
}valueOf retorna um encapsulador
Integer.valueOf recebe um texto e retorna um objeto Integer, em vez de um tipo primitivo. Ele é útil quando você precisa diretamente de um encapsulador, por exemplo, para colocá-lo em uma coleção.
public class Main {
public static void main(String[] args) {
Integer boxed = Integer.valueOf("456");
System.out.println(boxed);
}
}Conversão de números decimais
Use Double.parseDouble para textos que representam números de ponto flutuante. Ele aceita valores com casas decimais e até mesmo notação científica.
public class Main {
public static void main(String[] args) {
double price = Double.parseDouble("19.99");
System.out.println(price * 2);
}
}Conversão de outros tipos
Cada encapsulador numérico possui um método de conversão: Long.parseLong, Double.parseDouble, Float.parseFloat, Short.parseShort e Byte.parseByte.
public class Main {
public static void main(String[] args) {
long big = Long.parseLong("9000000000");
System.out.println(big);
}
}Conversão de valores booleanos
Boolean.parseBoolean retorna verdadeiro somente quando o texto é igual a "true", ignorando diferenças entre maiúsculas e minúsculas. Qualquer outra sequência de caracteres, incluindo nulo, retorna falso.
public class Main {
public static void main(String[] args) {
System.out.println(Boolean.parseBoolean("true"));
System.out.println(Boolean.parseBoolean("TRUE"));
System.out.println(Boolean.parseBoolean("yes"));
}
}Conversão em bases diferentes
Integer.parseInt aceita um argumento de base opcional. Passar 2 faz a leitura em binário; passar 16, em hexadecimal.
public class Main {
public static void main(String[] args) {
int binary = Integer.parseInt("1010", 2);
int hex = Integer.parseInt("ff", 16);
System.out.println(binary);
System.out.println(hex);
}
}Uma entrada inválida lança uma exceção
Se o texto não for um número válido, a conversão lançará uma NumberFormatException. Você deve envolver conversões arriscadas em um bloco que tente a conversão e capture a exceção.
public class Main {
public static void main(String[] args) {
try {
int n = Integer.parseInt("hello");
System.out.println(n);
} catch (NumberFormatException e) {
System.out.println("Not a number!");
}
}
}Cuidado com os espaços em branco
A conversão não tolera espaços ao redor do texto. Integer.parseInt(" 5 ") lança uma exceção.
Sempre chame trim() ou strip() primeiro na entrada do usuário.
public class Main {
public static void main(String[] args) {
String raw = " 42 ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);
}
}De números de volta para texto
Para fazer o caminho inverso, use String.valueOf ou Integer.toString. Ambos transformam um número em sua forma textual.
public class Main {
public static void main(String[] args) {
String text = Integer.toString(789);
String text2 = String.valueOf(3.14);
System.out.println(text.length());
System.out.println(text2);
}
}parseXxx em comparação com valueOf
Lembre-se da regra: parseInt fornece um tipo primitivo int, enquanto valueOf fornece um objeto Integer. Escolha com base na necessidade de um tipo primitivo ou de um encapsulador.
Verificação rápida
Teste o que você aprendeu sobre conversão de textos.
Recapitulação
Você aprendeu a converter entre textos e números:
parseInt,parseDoublee equivalentes retornam tipos primitivosvalueOfretorna objetos encapsuladores- Uma entrada inválida lança
NumberFormatException; por isso, remova os espaços e capture a exceção parseIntpode ler outras bases com um argumento de base- Use
toStringouString.valueOfpara voltar ao texto
Perguntas Frequentes
A aula “Análise e Valueof” é grátis?
Sim — o texto completo de “Análise e Valueof” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “Análise e Valueof”?
Converta cadeias em números Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Análise e Valueof”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Tipos Primitivos versus Tipos Envoltórios
- Autoboxing e Unboxing
- Análise e Valueof
- Armadilhas do Autoboxing