国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

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

2019-11-26 16:19:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
如寫(xiě)這樣的一段代碼:
復(fù)制代碼 代碼如下:

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

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

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

在“:”位置出現(xiàn)了異常“Syntax error on token ":", { expected after this token”。
即是說(shuō),當(dāng)代碼無(wú)法單行存在的時(shí)候(int i在方法體內(nèi)部必須有明確的實(shí)例化/賦值位置),label17需要用語(yǔ)句塊標(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;}

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

label13: int x = 0;

很明顯,在標(biāo)簽后有個(gè)默認(rèn)的單行語(yǔ)句塊,這個(gè)x在以后的任何位置都無(wú)法被使用到,錯(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(){}之類(lèi)的用法中,邏輯if()和語(yǔ)句塊{}應(yīng)該是相互獨(dú)立的兩種語(yǔ)法。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 土默特左旗| 陈巴尔虎旗| 泗阳县| 博乐市| 随州市| 惠来县| 柘荣县| 连平县| 繁峙县| 个旧市| 灵宝市| 浮梁县| 东明县| 滁州市| 郯城县| 达尔| 合水县| 临泽县| 左贡县| 原阳县| 抚松县| 永州市| 海城市| 呈贡县| 永清县| 繁昌县| 通城县| 栾川县| 沧州市| 东阳市| 肇源县| 鄂托克前旗| 马公市| 马鞍山市| 广水市| 敦煌市| 吉安市| 马龙县| 姚安县| 阿勒泰市| 来安县|