• java-数据类型转换


    数据类型转换

    当数据类型不一致时,会发生数据类型转换

    自动类型转换(隐式)

    1. 特点:代码不需要进行特殊处理,自动完成转换
    2. 规则:数据范围从小到大(即赋值符号右面的数据类型范围要小于赋值符号左面的数据类型)
    3. public class HelloWorld{
          public static void main (String[] args){
              System.out.println(123);//这是一个整数,默认是int类型
              System.out.println(3.14);//这是一个小数,默认是double类型
              
              long num1=100;
              System.out.println(num1);
              
              double num2=2.5F;
              System.out.println(num2);
              
              float num3=30L;
              System.out.println(num3);
          } 
      }
      D:javatest>javac -encoding "UTF-8" HelloWorld.java
      
      D:javatest>java HelloWorld
      123
      3.14
      100
      2.5
      30.0
      
      D:javatest>

    强制类型转换(显式)

    1. 特点:代码需要进行特殊处理,不能自动完成转换
    2. 格式:范围小的数据类型 变量名=(范围小的数据类型)范围大的数据
    3. public class HelloWorld{
          public static void main (String[] args){
              int num1=(int)100L;
              System.out.println(num1);
          } 
      }
      D:javatest>javac -encoding "UTF-8" HelloWorld.java
      
      D:javatest>java HelloWorld
      100

    注意事项

    1. 强制类型转换一般不推荐使用,因为有可能出现精度损失、数据溢出
    2. byte、short、char这三种数据类型都可以发生数据运算
    3. byte、short、char这三种数据类型在参与数据运算时,都会首先提升成int类型
    4. boolean类型不能进行数据运算
    5. public class HelloWorld{
          public static void main (String[] args){
              //将long类型强制转换成int类型
              int num1=(int)6000000000L;
              System.out.println(num1);//结果:1705032704,导致数据溢出
              
              //将float类型强制转换成int类型
              int num2=(int)3.99F;
              System.out.println(num2);//结果是:3,导致数据精度损失
              
              char var1='A';
              System.out.println(var1+1);//结果是66
              
              byte num3=30;
              byte num4=50;
              int a=num3+num4;
              System.out.println(a);
              
              short num5=200;
              short b=(short)(num3+num5);
              System.out.println(b);
          } 
      }
      D:javatest>java HelloWorld
      1705032704
      3
      66
      80
      230
      
      D:javatest>

     

  • 相关阅读:
    动态设置ImageView的大小
    URI和URL、URN的区别
    关于Android中的异步任务
    Android下如何理解onMeasure,onLayout的过程
    Android如何获取同包名应用的图标及名称
    Android4.0 监听 android 手机情景模式(有声、静音、振动)
    Android中裁剪一张图片
    Json解析国家气象局天气API
    Android中AnimationDrawable的使用
    POJ
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/12326871.html
Copyright © 2020-2023  润新知