• Java中的数据类型转换


    先来看一个题:

     

    Java类Demo中存在方法func0、func1、func2、func3和func4,请问该方法中,哪些是不合法的定义?( )

     

    public class Demo{
      float func0()
      {
        byte i=1;
        return i;
      }
      float func1()
      {
        int i=1;
        return;
      }
      float func2()
      {
        short i=2;
        return i;
      }
      float func3()
      {
        long i=3;
        return i;
      }
      float func4()
      {
        double i=4;
        return i;
      }
    }


    答案:func1( )和func4( )不合法。

    前者没写具体的返回值,后者不可以自动转换类型,须得强制转换。

     

    解析:

    数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中  悄然  进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。

     

    自动数据类型转换:

     

    自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下: 
        
     --------------------------------------------->  
        byte,short,char-> int -> long -> float -> double

    运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:

     

    强制数据类型转换:

     

    强制转换的格式是在需要转型的数据前加上 “( )” ,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确。

     

     

     

  • 相关阅读:
    改 hadoop ssh 端口
    java.lang.OutOfMemoryError: Java heap space 解决方法
    LucidGaze for Solr 搜索监测工具
    hadoop 文件浏览器
    CF1427C Solution
    技术经理必备的六个好习惯
    今天申请博客
    同志们都走了!!
    好笑
    今天看了《浅谈多态》这篇文章
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467267.html
Copyright © 2020-2023  润新知