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

如写这样的一段代码:

复制代码 代码如下:

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()和语句块{}应该是相互独立的两种语法。

时间: 2024-09-01 03:53:27

JAVA基础 语句标签的合法使用,以及{}语句块到底有什么用?_java的相关文章

java基础之标签、按钮和按钮事件简介_java

标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关. 标签 标签(JLabel)是最简单的Swing组件.标签对象的作用是对位于其后的界面组件作说明.可以设置标签的属性,即前景色,背景色.字体等,但不能动态地编辑标签中的文本. 程序关于标签的基本内容有以下几个方面: 1.声明一个标签名: 2.创建一个标签对象: 3.将标签对象加入到某个容器. JLabel类的主要构造方法是: 1.JLabel ():构造一个无显示文字的标签: 2.JLabel (String s):构造一

Java基础-04.总结switch,for,while,do。while跳转语句

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:switch语句(掌握) (1)格式:switch(表达式) {case 值1:语句体1;break;case 值2:语句体2;break;...default:语句体n+1;break;} 格式解释说明:sw

JAVA基础培训(6),For循环语句的使用

在所有的循环中,最常用的就是for了,另外2个 while和do..while我基本不用.所以 我这里就把for循环重点介绍一下. 源代码 package lession6; /** * 老紫竹JAVA基础培训(6),For循环语句的使用.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession6 { /** * for循环有三部分用分号分割<br> * 第一部分是初始的数据<br> * 中

JAVA基础培训(5),IF语句的使用

这一小节,我们看看if语句的用法,最主要是相等的判断.对于数字还有大于小于的 判断. package lession5; /** * 老紫竹JAVA基础培训(5),IF语句的使用.<br> * * @author 老紫竹 JAVA世纪网(java2000.net) * */ public class Lession5 { public static void main(String[] args) { // ---------------------------------------- //

java基础:合法转换与自动装箱、拆箱

问题描述 java基础:合法转换与自动装箱.拆箱 Short y = 100; int z = y; 这两句代码编译正确,但为什么呢?是y先拆箱成short,然后合法转换成int吗? short y1 = 100; Integer z1 = y1; 而这两句代码编译报错,如果按照上面的逻辑,可以y1先合法转换int,然后自动装箱成Integer呀? 解决方案 涉及到隐式转换. 对非引用类型赋值的时候,对基本数据类型会进行自动拆箱,然后可以隐式转换为大类型: 如第一种. 而引用类型则是先装箱再赋值

Java基础-03.总结运算符、键盘录入、if语句

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 1:运算符(掌握)(1)算术运算符A:+,-,*,/,%,++,--B:+的用法a:加法b:正号c:字符串连接符C:/和%的区别数据做除法操作的时候,/取得是商,%取得是余数5/3=15%3=2-5%3=-2;-5

Java基础知识二十九

Java 基础语法 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. 方法:方法就是行为,一个类可以有很多方法.逻辑运算.数据修改以及所有动作都是在方法中完成的. 实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定. 如果你想学

Java基础之003-Java语法

Java基础之003-Java语法                                        35岁学习Java 1Java语言基础组成 1.1关键字 1.2标识符 A.     在程序中自定义的一些名称. B.     由26个英文字母大小写,数字:0-9 符号:_ $ 组成 C.     定义合法标识符规则: 1)     数字不可以开头. 2)     不可以使用关键字. D.     Java中严格区分大小写. E.     注意:在起名字的时,为了提高阅读性,要尽量

Java编程那些事儿38—break和continue语句

5.5 break和continue语句 break和continue语句是和循环语句紧密相关的两种语句.其中break关键字的意思是中断.打断,continue关键字的意思是继续.使用这两个关键字可以调节循环的执行. 5.5.1break语句 break语句在前面的switch语句中已经介绍过,功能的话是中断switch语句的执行,在循环语句中,break语句的作用也是中断循环语句,也就是结束循环语句的执行. break语句可以用在三种循环语句的内部,功能完全相同.下面以while语句为例来说