【java基础】数据类型转换

数据类型转换:

  1、自动类型转换:数据范围需满足从小到大时使用

  long num1 = 100;
  System.out.println(num1);

  上图:将int类型的数字100,赋值给long类型的num1,此时即自动转换

  2、强制类型转换:一般不推荐使用

  

  如上图,当将long类型的数值100L赋值给一个int类型的变量,此时会报错;

  解决途径如下,但一般不推荐使用,如:

  int num2 = (int)10000000000L;//1410065408,100亿超出了int类型21亿的取值范围,此时会数据溢出
  System.out.println(num2);
  int num3 = (int)3.99;
  System.out.println(num3);//3,小数点被舍弃了,精度缺失

  ps:byte/short/char这三种类型在运算的时候,都会被提升成为int类型

  byte num4 = 40;
  byte num5 = 50;
  int result = num4 + num5;//byte/short/char类型运算时会自动提升为int
  System.out.println(num5);

二、ASCII码表(0~127)、Unicode码

 char zifu1 = 'A';
 char zifu2 = 'a';
  char zifu3 = '1';
 System.out.println((int)zifu1);//65
 System.out.println((int)zifu2);//97
 System.out.println((int)zifu3);//49

计算机底层存储都是二进制,所以就产生了数字和字符的对照关系表,如上图,A 对应的是 65

  char zifu4 = '中';
  System.out.println((int)zifu4);//20013

汉字“中”,对应的数字是 20013

万丈高楼平地起。
原文地址:https://www.cnblogs.com/jcl226/p/13057847.html