Math.max和Math.min会更改它们应用的值吗?

时间:2012-07-02 21:03:57

标签: java

我一直在阅读我的一位讲师设置的一些代码,他写了一些类似“让我们设定一个值的最大值和最小值。”

然后他写道(我在这里解释价值观)

int x = 5;
x = Math.min(x, 0);
x = Math.max(x, 10);

然后他继续使用他的代码,好像x仍然等于5,而当我通过计算机运行此代码时,max和min函数总是将x的值更改为0然后再为10.

这听起来像是他的错误吗?他应该在继续之前还原x吗?或者这个函数是否以其他方式工作,具体取决于实际设置最大值和最小值而不改变原始变量的情况?

3 个答案:

答案 0 :(得分:5)

你是对的;他可能是这个意思:

int x = 5;
x = Math.max(x, 0);
x = Math.min(x, 10);

将x保持在0到10之间。

答案 1 :(得分:2)

这是他的错误。当您使用=分配变量时,它会将其设置为该值。

答案 2 :(得分:1)

是。这是他的错误。