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型

  • 相关阅读:
    terminal下历史命令自动完成功能history auto complete
    Shell中while循环的done 后接一个重定向<
    python 链接hive
    shell 学习基地
    c++ 获取本地ip地址
    c++ 如何实现,readonly
    c++ 语法
    c++ 信号量
    vim插件介绍
    c++ memset 函数 及 坑
  • 原文地址:https://www.cnblogs.com/luckygxf/p/4263116.html
Copyright © 2011-2022 走看看