java中int和double的问题

两个int的值作除法运算,得到的为int,而且,得到的值是直接去掉小数部分。假如:int i=1;j=3;i/j==0 返回的为true 同理,i/3==0 1/3==0 1/j==0都是返回为true 如果,double res=i/j 其返回的结果,不会是0.333...,而是0 如果你要得到为0.333...,则需要 res=((...
java中int和double的问题
两个int的值作除法运算,得到的为int,而且,得到的值是直接去掉小数部分。
假如:
int i=1;j=3;i/j==0 返回的为true
同理,i/3==0 1/3==0 1/j==0都是返回为true
如果,double res=i/j 其返回的结果,不会是0.333...,而是0
如果你要得到为0.333...,则需要 res=((double)i)/j;
而你的

fReuslt=(int)((double)num1/num2)

则会先执行num1/num2,如果num1和num2都int,都到的结果最终会是int,这里假设num1=6,num2=5,则num1/num2==1 为true,而不是1.2,那么,再执行(double)res,这里的res就是num1/num2,故res=1,所以double之后仍然为1,而不是1.22017-08-21
int型除法下取整。1/5=0;double型乘法结果 0*5 = 0.02017-08-21
mengvlog 阅读 26 次 更新于 2025-08-11 11:55:38 我来答关注问题0
  •  翡希信息咨询 Java:找出byte、short、int、long、f1oat和double中的最大数和最小数

    在Java中,byte、short、int、long、float和double这些基本数据类型的最大值和最小值如下:最小值:byte:128short:32768int:2147483648long:2^63float:3.4 × 10^38double:1.7 × 10^308最大值:byte:127short:32767int:2147483647long:2^63 1float:3.4 × 10^38double:1.7 × 1...

  •  百度网友f541c037f JAVA中double与Double, int与Integer有什么区别啊?

    Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类 boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double 引用类型和原始类型的行为...

  •  翡希信息咨询 java中double型转化成int型

    在Java中,将double类型转化为int类型的方法主要是使用强制类型转换。以下是详细解答:1. 强制类型转换方法: 使用 对 double 类型进行包围,即可实现类型转换。例如,double d = 3.75; 可以使用 int i = d; 将其转换为int类型,此时 i 的值为 3。2. 转换原理: 在转换过程中,double类型的小...

  •  翡希信息咨询 Java:找出byte、short、int、long、f1oat和double中的最大数和最小数

    在Java中,byte、short、int、long、float和double这些基础数据类型中的最大数和最小数分别如下:最大数: byte:127 short:32767 int:2147483647 long:2^63 1 float:约3.4E38 double:约1.7E308 最小数: byte:128 short:32768 int:2147483648 long:2^63 float:3.4E38 double:1.7E3...

  • doubled=Double.valueOf(s);} else{ // inti=Integer.valueOf(s);} Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部