JAVA基础 语句标签的合法使用以及{}语句块到底有什么用?

迷恋卡夫卡

迷恋卡夫卡

2016-02-19 11:43

今天图老师小编给大家展示的是JAVA基础 语句标签的合法使用以及{}语句块到底有什么用?,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!
如写这样的一段代码:
代码如下:

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

如果这段代码是存在于类定义区域,那么我们知道它是个普通的语句块,用于初始化类属性的内容,它会在类实例化的时候被调用,里面可以执行一些方法。
在很多实例里,它会用于单例等模式,之前加上一个static,来为复杂的类初始化内容,可以避免一些由于加载顺序引起的运行期异常。
但是,如果这段代码出现在方法里呢?
它基本一点意义都没有。在我自己从前的想法里,它就是个把代码括起来的格式,没有其他。
今天写了一点和“语句标签”相关的代码:
代码如下:

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

在“:”位置出现了异常“Syntax error on token ":", { expected after this token”。
即是说,当代码无法单行存在的时候(int i在方法体内部必须有明确的实例化赋值位置),label17需要用语句块标明。
正确的格式是:
代码如下:

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;}

再来看个错误的用法:
代码如下:

label13: int x = 0;

很明显,在标签后有个默认的单行语句块,这个x在以后的任何位置都无法被使用到,错误。提示如下:
Multiple markers at this line
- x cannot be resolved to a variable
- Syntax error on token "int", delete this token
正确的格式有两种:
代码如下:

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

于是推想,以前的一个思维误区,for(){},if(){}之类的用法中,逻辑if()和语句块{}应该是相互独立的两种语法。
展开更多 50%)
分享

猜你喜欢

JAVA基础 语句标签的合法使用以及{}语句块到底有什么用?

编程语言 网络编程
JAVA基础 语句标签的合法使用以及{}语句块到底有什么用?

Java语法基础之for语句练习

编程语言 网络编程
Java语法基础之for语句练习

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

鲁大师有什么用以及如何使用鲁大师

电脑网络
鲁大师有什么用以及如何使用鲁大师

鲁大师2024CPU速度测试到底有什么用

电脑网络
鲁大师2024CPU速度测试到底有什么用

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java switch语句使用注意的四大细节

编程语言 网络编程
java switch语句使用注意的四大细节

使用break与continue语句和for与continue语句

编程语言 网络编程
使用break与continue语句和for与continue语句

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

SWT(JFace)体验之圆环状(戒指型)

SWT(JFace)体验之圆环状(戒指型)

log4j详细的常用配置说明介绍

log4j详细的常用配置说明介绍
下拉加载更多内容 ↓