当声明为常数时,为什么高度和宽度会提供默认值?

时间:2018-10-02 18:58:11

标签: max processing min

当我将heightwidth用作常量时,我​​想知道为什么它赋予我值100?是否因为上面没有声明size();?如何将其设置为画布的大小?因为以下打印100

任何帮助都可以!!

这是我的代码的副本:

final int SIZE = height;

void setup() {
 size (1000,1000);
 println(SIZE); 

}

3 个答案:

答案 0 :(得分:3)

对于基本类型,值本身存储在变量中。 因此,当您致电final int SIZE = height;时,SIZE将具有height在该分配之前具有的值。随后对height所做的所有更改都不会影响SIZE

答案 1 :(得分:2)

调用width函数时将设置heightsize()变量。您在函数外部使用它们,这意味着它们在之前发生,即size()函数被调用,这就是它们仍然具有默认值的原因。

要解决此问题,您需要将变量初始化移动到调用size()之后:

int SIZE;

void setup() {
 size (1000,1000);
 SIZE = height
 println(SIZE); 
}

答案 2 :(得分:2)

请参阅size()的处理文档:

  

...如果不使用size(),则窗口的默认大小为100 x 100像素。

height

  

...如果程序中未使用size(),则height的默认值为100。

这意味着只要不调用size()heightwidth的值就会初始化为100。

如果您像以前那样阅读变量,那么它们将返回100。

您必须在调用SIZE之后初始化size()

void setup() {
    size (1000,1000);
    SIZE = height;
}