Conversión de datos (conversión automática + conversión forzada)

/*
Conversión automática
1. Explícita: no es necesario procesar el código y las
  reglas de conversión se completan directamente: el rango de datos es de pequeño a grande
*/
public class demo05{   public static void main(String[] args){      System.out.println(30); //Emite directamente un número entero, el valor predeterminado es Int type      System.out.println(3.12);//Emite directamente un decimal, el valor predeterminado es double type      long numer1=100;//Data conversión entre enteros      //(1) Lado izquierdo Es de tipo long, y el lado derecho es de tipo int por defecto.      //(2) La asignación del signo igual, el lado derecho se asigna al lado izquierdo     //(3 ) int——>long, que satisface el rango de datos del tamaño izquierdo y el tamaño derecho     //(4) Esta línea de código ocurre Sistema de conversión automática      .out.println(nume1);//100      double nume2=3.14159267F; //Conversión de datos entre números de punto flotante      //(1) doble a la izquierda, flotante a la derecha;     //(2) de doble ->flotante; Para cumplir con el rango de datos de tamaño izquierdo y tamaño derecho, conversión de tipo automática también ocurre      System.out.println(numero2);      flotante numero3 =30L;














     //(1) Desde long->float, el rango de float es mayor que long, lo que satisface el rango de datos de large left y right small
    //(2) La conversión automática ocurre en esta línea de código
      System.out.println( numero3);
  }
}

/*Conversión forzada
  1. Características: el código debe procesarse en un formato especial y no puede completarse automáticamente
  2. Formato: tipo con un rango pequeño + nombre de variable con un rango pequeño = (tipo con un rango pequeño) + datos con un rango grande
  Nota:
  1 La conversión obligatoria generalmente no se recomienda debido a un posible desbordamiento de datos y pérdida de precisión.
  2. Los tres tipos de byte/short/char se pueden usar para operaciones matemáticas
  3. Cuando se operan los tres tipos de byte/short/char, primero se hará referencia al tipo int
  Conversión de tipo de datos
*/
clase pública demo06{   public static void main(String[] args){       //El lado izquierdo es de tipo int, el lado derecho es largo       //largo->int, no de pequeño a grande, no se puede convertir automáticamente después de terminar       / /Formato ; tipo de datos con rango pequeño + nombre de variable con rango pequeño = (tipo de datos con rango pequeño) + datos originales con rango grande       int nume1=(int)100L;       System.out.println(nume1);       /*       //largo -> int (cast)       int numero2=6000000000;       System.out.println(numero2);//1705032704 desbordamiento       */










 

      //doble->int (casting)
      int nume2=(int)3.99;
      System.out.println(nume2);//3 (esto no es redondeo, sino redondeo de lugares decimales) pérdida de precisión


      char nuem3='A';//Esta es una variable de carácter 'A'
      System.out.println(nume3+1);//66 es decir, la letra A mayúscula se trata como 65 para el procesamiento
      //La capa inferior de la computadora usará un número (binario) para representar el carácter 'A', que es 65
      //Una vez que el carácter se opere matemáticamente, el carácter se traducirá a un número de acuerdo con ciertas reglas
      
      /*
      byte number4=40;// El tamaño del valor en el lado derecho No puede exceder el rango de valores en el
      byte de la izquierda numer5=50;
      byte result1=nume4+nume5;//(ambos se mencionarán primero como tipo int) int+int->int
       System.out .println(resultado1);
       */
       /*
       Aquí se informará un error
       */
      //La forma correcta de escribir es la siguiente:
      byte nume4=40;//El tamaño del valor a la derecha no puede exceder el rango de valores en el byte izquierdo
      numero5=50;
      int resultado1=numero4+numero5;
      //byte+bute->int +int->int
       System.out.println(resultado1);//90
       corto numero6=40;
       //byte+corto->int+int->int
       //int se convierte en
       corto

       //Tipo de datos mínimo + variable de datos mínima = (tipo de datos mínimo) + (datos con un rango original grande)
       shiort result2=(short)(nume5+nume6);//90
  }
}
       

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/weixin_45650003/article/details/119126369
Recomendado
Clasificación