zoukankan      html  css  js  c++  java
  • java 整型相除得到浮点型

     1 public class TestFloatOrDouble {
     2 
     3     public static void main(String[] args) {
     4         Point num1 = new Point(84, 250);
     5         Point num2 = new Point(21, 10);
     6         
     7         float f1 = (num1.y - num2.y) / (num1.x - num2.x);
     8         float f2 = (float) (num1.y - num2.y) / (num1.x - num2.x);
     9         
    10         double d1 = (num1.y - num2.y) / (num1.x - num2.x);
    11         double d2 = (double)(num1.y - num2.y) / (num1.x - num2.x);
    12         
    13         System.out.println(f1);
    14         System.out.println(f2);
    15         
    16         System.out.println(d1);
    17         System.out.println(d2);
    18     }
    19 }
    20 
    21 class Point{
    22     int x;
    23     int y;
    24     
    25     public Point(int x,int y){
    26         this.x = x;
    27         this.y = y;
    28     }
    29 }

    输出:

    3.0
    3.8095238
    3.0
    3.8095238095238093

    这里开始有点想不通为什么第一个是3.0第二个是3.8....

    这里其实是f1的结果生成顺序是,(num1.y - num2.y) / (num1.x - num2.x)两个整型相除,得到的是一个整型,暂时假设为int result,然后再将result转换成float类型,所以就出现了3.0

    f2的结果生成顺序是,(float)(num1.y - num2.y)先将第一个数转换成float型,然后用float和int相除,得到的是float型

  • 相关阅读:
    Ant的实现原理
    单例模式
    Ant常用代码段
    [转]大象吃香蕉问题
    i++和++i探秘
    带滚动条的table
    公钥系统/数字签名/数字证书工作原理入门 [转]
    动态创建WPF 控件,并绑定指定Style
    C#如何使用帮助及如何关联到F1键
    Umbraco安装记录
  • 原文地址:https://www.cnblogs.com/luckygxf/p/4263116.html
Copyright © 2011-2022 走看看