java中15.3%5等于几,能不能告诉为什么

如题所述

java的的%是求余数的意思.
15.3是double类型,5是int类型,他们做运算的时候,首先会进行强制转换.就是先将5变成double类型,然后就是double类型的运算了,最后是0.3000000000000007
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-14
等于0,%是取余数, 15.3会变成15 15除以5的余数是0
第2个回答  2015-01-14
只有自然数才会去讨论%.... 浮点数讨论这个没意义的.
第3个回答  2015-01-14

这涉及到数据类型转换的概念:

 各数据类型按容量大小(表数范围大小)由小到大排列为:
     Byte, short, char  ——int ——long——float——double
  1.转换时遵循的原则:
     1)容量小的类型自动转换为容量的类型;
     2)容量大的类型转换为容量小的类型时,要加强制转换符;
    3)byte,short,char之间不会互相转换,并且三者在计算时首先转换为int类型;
    4)实数常量默认为double类型, 整数常量默认为int类型;
    *  字符型 为什么也能和 整形、浮点型进行运算呢? 
       答:  字符型在机器内部也是数字。进行计算时,先获得字符的ASCK码,然后再进行计算。
 2.转换举例: 
     Int i1=123;
     Int i2=456;
     Double d1 = (i1+i2)*1.2             //容量小的类型自动转换为容量大的类型
     Float f1 = (float) (i1+i2)*1.2      //容量大的类型转换为小容量的类型时,需要加上强制转换符
 
      Byte b1=1;
      Byte b2=2;
      Byte b3=(byte)(b1+b2);        //byte,short,char在计算时首先转换为int,大容量(int)转换为小容量的类型(byte)时要加强制转换符

你这里15.3是浮点类型  高于3(int)类型

本回答被网友采纳