Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Casting implícito char para int,float ou double?

Olá.Na tabela de casting mostra que o char é convertido implicitamente para int, float, double. Mas pelo teste que fiz funciona apenas explicitamente. Exemplo:char A='A';System.out.println(int(A));Saída=65;

3 respostas

Boa noite Charly,

O casting implícito de char para int funciona, dê uma olhada no exemplo abaixo:

class Main {
  public static void main(String[] args) {
    System.out.println("Hello world!");
    char A = 'A';

    int B = A; //fazendo casting implícito

    System.out.println(B); // saida 65
  }
}

A saída 65 é referente ao valor equivalente do caractere A na tabela ASC2. Como A não é um número ele foi convertido para 65.

tabela ASC2

Abraços

solução!

Olá Charly,

na verdade é implícito mesmo. Para saber se é implícito ou não, você pode tentar atribuir essa variável de char em uma variável de int, por exemplo. Se o compilador aceitar a atribuição mesmo sem o cast, então é implícito. Por exemplo, neste código eu não precisei fazer o cast, o código compila e executa:

    char caracter = 'A';
    int inteiro = caracter;
    System.out.println(inteiro);

Agora entendi. Muito obrigado vinicius-mussato e lucas-takeshi.