Conversión de tipos de datos en reglas Java-6 de conversión de tipos de datos básicos


Prefacio

Al estudiar los cuatro tipos y ocho tipos de datos en Java, sabemos que hay tres situaciones diferentes cuando se asigna un dato a una variable:

  • El tipo es consistente, no hay conversión de tipo
  • Conversión de tipo automática, asignación automática de pequeña capacidad a gran capacidad
  • Forzando la conversión de tipo, asignando gran capacidad a pequeña capacidad, el posible resultado es una pérdida de precisión

Una, conversión básica de tipos de datos

  Hay reglas de conversión fijas entre los tipos de datos básicos y se resumen las siguientes 6 reglas. No importa qué programa sea, aplique estas 6 reglas y el problema se resolverá.

  1. Entre los ocho tipos de datos básicos, excepto el tipo booleano que no se puede convertir, los siete tipos restantes se pueden convertir

  2. Si el literal entero no excede el rango de valores de byte, short, char, puede asignarlo directamente a una variable de tipo byte, short, char

  3. La conversión de pequeña capacidad a gran capacidad se llama conversión automática de tipo . El orden de capacidad de pequeña a grande es: byte <corto (char) <int <largo <float <doble , donde tanto el corto como el char ocupan dos bytes, pero el carácter puede representar un entero positivo más grande.

  4. La conversión de gran capacidad a pequeña capacidad se denomina conversión de tipo forzada . Debe agregar un "símbolo de conversión de tipo obligatorio" al escribir, pero puede haber una pérdida de precisión durante el tiempo de ejecución, así que utilícelo con precaución.

  5. Cuando se mezclan los tipos byte, short y char, primero convierta cada uno al tipo int y luego realice la operación

  6. Cuando se mezclan varios tipos de datos, deben convertirse al que tenga la mayor capacidad antes del cálculo.

Dos, ejercicios

  1. ¿Qué pasa con el siguiente programa?
short s1=1;
s1=s1+1;

El error se informa
Inserte la descripción de la imagen aquí
  porque s1 es un tipo corto y 1 es un tipo int. Cuando se mezclan short e int, short se convertirá automáticamente al tipo int, por lo que el compilador s1 + 1 detecta que es del tipo int e int El tipo no se puede asignar a la variable s1 de tipo corto. Entonces necesita forzar la conversión de tipo, a saber:

short s1 = 1;
//注意强制类型转换的格式
s1 =(short) (s1 + 1) ;
  1. ¿Por qué una variable de tipo char puede almacenar un carácter chino y por qué?

  El texto en java usa codificación unicode, un chino ocupa 2 bytes y el tipo char ocupa dos bytes en java, por lo que el tipo char en java puede acomodar completamente un carácter chino.

  1. ¿Qué pasa con flaot f = 1.0? ¿Qué tiene de malo a largo = 2147483648?

  En el lenguaje Java, existe la disposición de que, siempre que sea un literal de punto flotante, como 1.0, 3.14, etc., se tratará como un doble de forma predeterminada . Si desea que el programa lo trate como un float, debes agregarlo después del literalf \ FO utilice la conversión de tipo forzada. El valor literal entero se trata como tipo int de forma predeterminada . Si se expresa en forma larga, debe agregarse después del valor literalL \ l

Supongo que te gusta

Origin blog.csdn.net/m0_46988935/article/details/110110982
Recomendado
Clasificación