最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA基礎(chǔ) 語句標(biāo)簽的合法使用,以及{}語句塊到底有什么用?

 更新時(shí)間:2012年08月26日 11:10:25   作者:  
以前的一個(gè)思維誤區(qū),for(){},if(){}之類的用法中,邏輯if()和語句塊{}應(yīng)該是相互獨(dú)立的兩種語法
如寫這樣的一段代碼:
復(fù)制代碼 代碼如下:

int i;
{
int j=1;
i=j;
}

如果這段代碼是存在于類定義區(qū)域,那么我們知道它是個(gè)普通的語句塊,用于初始化類屬性的內(nèi)容,它會(huì)在類實(shí)例化的時(shí)候被調(diào)用,里面可以執(zhí)行一些方法。
在很多實(shí)例里,它會(huì)用于單例等模式,之前加上一個(gè)static,來為復(fù)雜的類初始化內(nèi)容,可以避免一些由于加載順序引起的運(yùn)行期異常。
但是,如果這段代碼出現(xiàn)在方法里呢?
它基本一點(diǎn)意義都沒有。在我自己從前的想法里,它就是個(gè)把代碼括起來的格式,沒有其他。
今天寫了一點(diǎn)和“語句標(biāo)簽”相關(guān)的代碼:
復(fù)制代碼 代碼如下:

label17: int i;
int j;
ThreadGroup[] arrayOfThreadGroup;
if (flag)
break label17;
return 0;

在“:”位置出現(xiàn)了異?!癝yntax error on token ":", { expected after this token”。
即是說,當(dāng)代碼無法單行存在的時(shí)候(int i在方法體內(nèi)部必須有明確的實(shí)例化\賦值位置),label17需要用語句塊標(biāo)明。
正確的格式是:
復(fù)制代碼 代碼如下:

label17: {
int i;
int j;
ThreadGroup[] arrayOfThreadGroup;
if (flag)
break label17;
return 0;
}
或者:
   label17:
int i;
int j;
ThreadGroup[] arrayOfThreadGroup;
if (flag){
break label17;
return 0;}

再來看個(gè)錯(cuò)誤的用法:
復(fù)制代碼 代碼如下:

label13: int x = 0;

很明顯,在標(biāo)簽后有個(gè)默認(rèn)的單行語句塊,這個(gè)x在以后的任何位置都無法被使用到,錯(cuò)誤。提示如下:
Multiple markers at this line
- x cannot be resolved to a variable
- Syntax error on token "int", delete this token
正確的格式有兩種:
復(fù)制代碼 代碼如下:

int x = 0;
label13: x = 0;
或者
label13:{ int x = 0;}

于是推想,以前的一個(gè)思維誤區(qū),for(){},if(){}之類的用法中,邏輯if()和語句塊{}應(yīng)該是相互獨(dú)立的兩種語法。

相關(guān)文章

最新評(píng)論

黄石市| 滕州市| 麻江县| 白玉县| 平阴县| 涡阳县| 乌拉特中旗| 东山县| 大连市| 环江| 固阳县| 温州市| 广西| 孝感市| 上林县| 利川市| 南漳县| 错那县| 许昌县| 阜新市| 高要市| 枣阳市| 周口市| 桦甸市| 封丘县| 定襄县| 海丰县| 新平| 工布江达县| 兴国县| 昭苏县| 杭州市| 房产| 宜州市| 达孜县| 历史| 宁晋县| 沈阳市| 大田县| 临夏市| 湘西|