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

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

     

    强制数据类型转换:

     

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

     

     

     

  • 相关阅读:
    PAT顶级 1002. Business (35)
    Codeforces Round #417 (Div. 2) B. Sagheer, the Hausmeister
    Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market
    主席树模板poj 2104
    Java 集合相关
    扁平疣病治疗
    一些网址
    在ubuntu14.04设置静态ip
    在Ubuntu14.04下安装vsftp服务器
    移植SDL运行库到Tiny6410 上
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6467267.html
Copyright © 2011-2022 走看看