02-07 Java language foundation (conversión de tipo de datos)

Conversión implícita de conversión de tipo de datos

Conversión legal entre tipos numéricos
En la figura, hay 6 flechas sólidas, que indican conversiones sin pérdida de información, y tres flechas discontinuas, que indican conversiones con posible pérdida de precisión.

Al conectar dos valores con un operador binario, debe convertir los dos operandos al mismo tipo y luego realizar los cálculos:

  • Si uno de los dos operandos es de tipo double, el otro operando se convertirá a tipo double.
  • De lo contrario, si uno de los operandos es de tipo flotante, el otro operando se convertirá a tipo flotante.
  • De lo contrario, si uno de los operandos es de tipo largo, el otro operando se convertirá a tipo largo.
  • De lo contrario, ambos operandos se convertirán al tipo int.

Los tipos flotante y largo se operan y se convierten automáticamente en tipo flotante:

public class DataType01 {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		//float和long类型进行运算,自动转换为float类型
		float a = 10;
		Long b = 11L;
		float c = a + b;
		System.out.println(c);
	}
}

Los tipos Byte e int se operan y se convierten automáticamente a int type:

public class DataType02 {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		byte a = 10;
		int b = 20;
		int c = a + b;
		System.out.println(c);
	}

}

Conversión de tipo coercitivo de conversión de tipo de datos

Como vimos en la sección anterior, cuando sea necesario, el valor del tipo int se convertirá automáticamente al tipo double. Pero, por otro lado, a veces es necesario convertir double en int. En Java, se permite la conversión de tipos entre dichos valores y, por supuesto, se puede perder parte de la información. Esta conversión de una posible pérdida de información debe realizarse mediante cast.

Convertir variable de tipo doble a tipo int:

public class DataType03 {
    
    

	public static void main(String[] args) {
    
    
		// TODO Auto-generated method stub
		double a = 37.5;
		System.out.println((int)a);
	}

}

Supongo que te gusta

Origin blog.csdn.net/qq_37054755/article/details/110790901
Recomendado
Clasificación