Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的运算符与python中的//类似?_Java_Python_Operators - Fatal编程技术网

Java中的运算符与python中的//类似?

Java中的运算符与python中的//类似?,java,python,operators,Java,Python,Operators,是否有一种在python中使用的//运算符形式可以在java中使用,或者有某种解决方法? 10//3=3在Python3/中,默认情况下充当楼层分区 在Python2.2和更高版本的2.X中,我们可以从\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu >>> from __future__ import division >>> 10/3 3.3333333333333335 >

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

在Python3
/
中,默认情况下充当楼层分区

在Python2.2和更高版本的2.X中,我们可以从
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

>>> 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中的floor:

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

在Python3中,默认情况下充当楼层分割

在Python2.2和更高版本的2.X中,我们可以从
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

>>> 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中的floor:

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

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

(int) 9/4 == 2 is True
这里甚至不需要强制转换,因为9和4都是整数。如果一个是float或double,则此转换是必需的,因为java将不再以整数除法的形式执行此语句。更明确地说,你可以这样做

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

它首先将数字除以,然后将结果降到最接近的整数

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

(int) 9/4 == 2 is True
public static int python_like_divisor(int x, int y) {
    final remainder = x % y;
    if(remainder != 0) {
        return (x - remainder) / y;
    }
    return x / y;
}
这里甚至不需要强制转换,因为9和4都是整数。如果一个是float或double,则此转换是必需的,因为java将不再以整数除法的形式执行此语句。更明确地说,你可以这样做

(int)Math.floor(9 / 4);
它首先将数字除以,然后将结果降到最接近的整数

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、double等),此方法将无法正常工作。

需要注意的一点是:

在python 3中:

6//-132=-1

在java中:


6/-132=0

需要注意的一点是:

在python 3中:

6//-132=-1

在java中:


6/-132=0

10/3将具有相同的行为。如果两个操作数都是int(或long),Java将执行整数除法。10/3将具有相同的行为。Java执行整数除法如果python中整数除法的两个操作数都是int(或long),我们需要:math.trunc(a/float(b))对于python中的整数除法,我们需要:math.trunc(a/float(b))