• JAVA数据类型转换


    /*自动转换类型(隐式)
    * 数据类型不一样时,会发生数据类型转换
    * 1. 特点:代码不需要特殊处理,自动转换
    * 2.规则:数据范围从小到大
    */

     1 public class DemoDataType {
     2 
     3     public static void main(String[] args) {
     4         // TODO Auto-generated method stub
     5         System.out.println(1024); // 这是一个整数,默认 int 类型
     6         System.out.println(3.14); // 这是一个浮点数,默认 double 类型
     7         
     8         
     9         
    10         //左边是long类型,右边默认int类型
    11         // int -->long 符合数据范围从小到大
    12         //这一行代码发生了自动类型转换
    13         long num1 = 100;
    14         System.out.println(num1);// 100
    15         
    16         
    17         //左边是double类型,右边是float类型
    18         //float-->double 符合数据范围从小到大
    19         //发生自动类型转换
    20         double num2 = 3.14F;
    21         System.out.println(num2);//3.14
    22         
    23         
    24         //左边float类型,右边long类型
    25         //long-->float 符合数据范围从小到大
    26         //发生自动类型转换
    27         float num3 = 30L;
    28         System.out.println(num3);//30
    29         
    30     }
    31 
    32 }

    /*强制类型转换
    * 1.特点:代码需要进行特殊的格式处理,不能自动完成
    * 2.格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据
    *
    * 注意事项:强制转换一般不推荐使用,可能发生精度损失,数据溢出
    */

     1 //左边是int类型,右边是long类型
     2         //long-->int,数据类型不是从小到大
     3         //不能发生自动类型转换
     4         //范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据
     5         int num4 = (int) 100L;
     6         System.out.println(num4);//100
     7         
     8         
     9         
    10         //long强制转换成int类型
    11         int num5 = (int) 6000000000L;
    12         System.out.println(num5);//1705032704 6000000000的大小超过了int的最大范围,打印输出至int能表示的最大值
    13         
    14         //float强制转换成int类型
    15         int num6 = (int) 4.99F;
    16         System.out.println(num6);//4 浮点数表示的4.99强制转换成int后,小数位精度丢失,不会发生四舍五入
    17         
    18         
    19         char zifu1 = 'A';//这是一个字符型变量,是大写字母A
    20         System.out.println(zifu1 + 1);//66 A在ASCII码表中代表65
    21         //一旦char类型进行了数学运算,那么字符会按照一定的规则翻译成一个数字
    22         
    23         byte n1 = 40;
    24         byte n2 = 50;//右侧范围不能超过左侧
    25         
    26         int result1 = n1 + n2;
    27         System.out.println(result1);//90
    28         
    29         short n3 = 60;//int转换成short要保证逻辑上的真实大小没有超过short范围,不然数据会溢出
    30         short result2 = (short) (n1 + n3);
    31         int result3 = n2 + n3;
    32         System.out.println(result2);//100
    33         System.out.println(result3);//110
  • 相关阅读:
    Linux系统运维之MYSQL数据库集群部署(主从复制)
    Linux系统运维之负载均衡Tengine
    Linux系统运维之subversionEdge部署
    Linux系统运维之Hadoop、Hive、Flume数据处理
    CoIDE在STM32系列单片机中的使用实践
    软硬件调试九法:第三条规则 不要想而要看
    《产品经理》读书笔记
    <读书笔记> 代码整洁之道
    关于鼠标手的症状和恢复方法
    <读书笔记>软件调试之道 :从大局看调试-理想的调试环境
  • 原文地址:https://www.cnblogs.com/yezishen/p/13530194.html
Copyright © 2020-2023  润新知