zoukankan      html  css  js  c++  java
  • Java中类型转换相关

    float a = 1.5;    //错误:1.5被默认为double型,double不能自动转换成float型,需要强制转换
    float b = 1.5f;   //编译通过
    
    byte c = 1;     //编译通过
    /*
    因为java中对于默认值为int型的数值,当赋值给当赋给一个比int型数值范围小的数值类型变量(在此统一称为数值类型k,k可以是byte/char/short类型),会进行判断,如果此int型数值超过数值类型k,那么会直接编译出错。因为你将一个超过了范围的数值赋给类型为k的变量,k装不下嘛,你有没有进行强制类型转换,当然报错了。但是如果此int型数值尚在数值类型k范围内,jvm会自定进行一次隐式类型转换,将此int型数值转换成类型k。
    */
    

     

    byte m = 1, n = 2, c;
    
    c = 1+2;  //编译通过
    c = m+n; //错误。 因为m+n的值可能超过了byte的范围
    c = m+2; //错误
    c = (byte)(m+n); //编译通过。

      

    参考资料:http://www.cnblogs.com/lwbqqyumidi/p/3700164.html

  • 相关阅读:
    poj 1511Invitation Cards
    hust 1608Dating With Girls
    sdibt 2128Problem A:Convolution Codes
    hdu 1325Is It A Tree?
    poj 2240Arbitrage
    hdu 2818Building Block
    poj 1789Truck History
    poj 1125Stockbroker Grapevine
    展望未来
    告别过去
  • 原文地址:https://www.cnblogs.com/snapeliu/p/5116742.html
Copyright © 2011-2022 走看看