2017-04-17 32 views
1

允許只放置一些大括號而沒有任何if/for/etc語句來限制變量作用域?自定義變量作用域

一個例子:

public void myMethod() 
{ 
    ... 
    { 
     int x; 
     x = 5; 
    } 
    ... 
} 

我可能要做到這一點,所以我知道我肯定不會訪問/修改變量的範圍之內,它會被事先破壞

+1

你試過了嗎? –

+0

我做了,它的工作,但我不確定是否允許這樣做或不。我也試圖搜索網絡,沒有發現任何關於這樣的示波器。這就是爲什麼我決定問 –

+0

[檢查此](http://stackoverflow.com/questions/241088/what-do-curly-braces-in-java-mean-by-自己) –

回答

2

是,這是允許的。試試看看你自己

1

大括號{ .. }限制變量的範圍到塊。
但是,可以對落入{ .. }塊範圍內的全局變量進行更改。

int x = -1; 
double y = 5; 
{ 
    x = 10; 
    y = 100; 
    char c = 'A'; 
} 
System.out.println(x + " " + y); // 10 100.0 
System.out.println(c); // Compile time error and out of scope 

{ 
    c = 'B'; // Compile time error and out of scope 
}