Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Leo.

Tipos Primitivos

Recommended Posts

Gente o que estou fazendo de errado, estou tentando apenas fazer um teste com tipos primitivos e acontece o seguinte:

Código:

public class TesteVariavel {

 public static void main(String args[]) {

 byte b = 10;
 System.out.println("Um byte: "+ b );
 char c = 64;
 System.out.println("O char: "+ c);
 short s = 1067;
 System.out.println("Um short: "+ s);
 int i = 10 * (b + c + s);
 System.out.println("Um int: "+ i);
 long l = i * i;
 System.out.println("Um long: "+ l);
 float f = 5 / 2;
 System.out.println("O float: "+ f);
 double d = l * l;
 System.out.println("O double: "+ d);
 }
}

Saída:

 

Um byte: 10

O char: @

Um short: 1067

Um int: 11410

Um long: 130188100

O float: 2.0

O double: 1.694894138161E16

 

 

Pq char não funciona e o float não da 2,5?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq char não funciona e o float não da 2,5?

 

O char está funcionando sim, o @ é exatamente o char 64, esse é o comportamento esperado.

 

public class Example {
	public static void main( String[] args ) {
		System.out.printf( "Um char %c\n" , 64 );
	}
}

Saída:

Um char @

 

Já no caso do float, você fez a divisão entre dois inteiros, tente fazer a divisão entre dois floats:

 

public class Example {
	public static void main( String[] args ) {
		float f = 5f / 2f;
		
		System.out.println( "Um float: " + f );
	}
}

Saída:

Um float: 2.5

 

Ou então:

 

public class Example {
	public static void main( String[] args ) {
		float a = 5;
		float b = 2;
		float f = a / b;
		
		System.out.println( "Um float: " + f );
	}
}

Saída:

Um float: 2.5

 

Para exibir o inteiro 64 no caso do char 64, você pode fazer um cast para inteiro:

public class Example {
	public static void main( String[] args ) {
		char arroba = 64;
		
		System.out.printf( "O inteiro que representa o char %c é %d\n" , arroba , (int) arroba );
	}
}

Saída:

O inteiro que representa o char @ é 64

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.