Java中的运算符如//在python中?

时间:2014-11-30 19:43:49

标签: java python operators

是否有一个在python中使用的//运算符的形式,我可以在java中使用,或者某种解决方法?     10 // 3 = 3

4 个答案:

答案 0 :(得分:4)

在python 3 //默认情况下作为分区。

在python 2.2及更高版本2.X版本中,我们可以从__future__

导入它
>>> from __future__ import division
>>> 10/3
3.3333333333333335
>>> 10//3
3

在Java中: 在划分浮点变量或值时,答案的小数部分用浮点变量表示。

float f = 10.0f / 6.0f; // result is 1.6666
double d = 10.0 / 9.0; // result is 1.1111

但是对于java中的地板:

(int)Math.floor(10/3);

答案 1 :(得分:0)

Java的整数除法的行为方式与Python中的//运算符相同。这意味着这样的事情:

(int) 9/4 == 2 is True

这里的演员阵容甚至是不必要的,因为9和4都是整数。如果一个是浮点数或双精度数,则必须使用此强制转换,因为java将不再将此语句作为整数除法执行。为了更明确你可以做到这一点

(int)Math.floor(9 / 4);

首先划分数字,然后将结果置于最接近的整数。

答案 2 :(得分:0)

public static int python_like_divisor(int x, int y) {
    final remainder = x % y;
    if(remainder != 0) {
        return (x - remainder) / y;
    }
    return x / y;
}

一些基本的数学知识是好的;)

使用float-point(float,double等)值时,此方法将无法正常工作。

答案 3 :(得分:0)

要注意的一件事是:

在python 3中:

6 // -132 = -1

在Java中:

6 / -132 = 0