zoukankan      html  css  js  c++  java
  • 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>

     

  • 相关阅读:
    Linux修改主机名称
    Druid监控SQL语句
    CentOS7.5搭建Hadoop分布式集群
    CentOS7.5 解决ifconfig报错
    windows 用VMware创建linux虚拟机,安装操作系统CentOS7.2
    MySQL报错this is incompatible with sql_mode=only_full_group_by
    CentOS配置Redis环境变量
    CentOS7.4搭建GitLab
    修改服务器路由策略
    Centos7 安装python3
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/12326871.html
Copyright © 2011-2022 走看看