`
wangbobe
  • 浏览: 4551 次
社区版块
存档分类

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

13
12
分享到:
评论
3 楼 if(i!=我){} 2012-08-30  
break can be used inside of a loop or a switch
2 楼 风云无浪 2012-08-26  
确定这是java基础么。。break label我只在反编译的错误代码里见过。break不是只适用于循环语句外么?
1 楼 if(i!=我){} 2012-08-26  
不知所云!

基础没学好的后果!

相关推荐

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

    以前的一个思维误区,for(){},if(){}之类的用法中,逻辑if()和语句块{}应该是相互独立的两种语法

    java检查sql语法是否正确

    NULL 博文链接:https://zhoualine.iteye.com/blog/1190914

    Java开发技术大全(500个源代码).

    accumulationByDoWhile.java 用do~while语句写的累加程序 accumulationByFor.java 用for语句写的累加程序 accumulationByWhile.java 用while语句写的累加程序 boolExample.java 演示boolean变量的程序 ...

    《Java程序设计案例教程》教学课件02Java语言基础.pptx

    模块2 Java语言基础 《Java程序设计案例教程》教学课件02Java语言基础全文共48页,当前为第1页。 学习目标 01 掌握标识符、关键字、分隔符、变量和常量的含义和使用方法。 02 了解Java注释的格式和代码书写风格。 03...

    java8源码-StartFromZero-JavaCore:java编程基础

    有入参,有返回值,且Lambda体包含多条语句:(参数1, 参数2, 参数3, ... 参数N) -> {语句1;语句2; return x;} 参数类型可以不指定,编译器可根据上下文推断 仅包含一个入参,()可以省略 Lambda体仅包含一条语句,...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    面向对象编程的基础 要了解面向对象编程(OOP)的基本概念,需要理解 OOP 的三个主要概念,它们撑起 了整个 OOP 的框架。这三个概念是:封装、继承性和多态性。除此以外,还需了解对象、 类、消息、接口、及抽象等...

    Java经典编程源码基础例程300.zip

    第3章 Java语言基础 15 实例011 输出错误信息与调试信息 16 实例012 从控制台接收输入字符 16 实例013 重定向输出流实现程序日志 17 实例014 自动类型转换与强制类型转换 19 实例015 加密可以这样简单(位运算) 20 ...

    JAVA程序设计(专升本)

    1. ( 单选题 ) 下列关于注释语句的描述中,正确的一项是( )。(本题2.0分) D、 以/**开始,*/结束的是单行注释语句 C、 以/**开始,*/结束的是可以用于生成帮助文档的注释语句 B、 以/*开始,*/结束的是...

    沈阳工程java2期末试题

    4、在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。 A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ;...

    程序设计基础答案

    〖程序设计基础〗练习题1 一、选择题(每题1分,共30分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.以下的选项中能正确表示Java语言中的一...

    java jdk实列宝典 光盘源代码

    批处理,介绍如何一次执行一批sql语句,这些sql语句用插入、更新和删除等相关操作; 提交和回滚transaction.java; 使用PreparedStatement,动态执行sql语句,UsingPreparedStatement.java; 读写二进制数据,Binary...

    JAVA资格认证:SCJP310-055中文

     正确使用包语句和导入语句,包括静态导入。  实现或继承一个或多个接口。  定义、继承抽象类。声明、初始化并使用基本类型、数组、枚举、静态对象、成员变量和局部变量,使用合法的变量标识符。  定义方法和...

    JSTL详细标签库介绍

    <BR>Java使用和C++类似的异常处理<BR>1、处理错误的方法有很多流行方法<BR>2、一般方法是把程序处理代码段分散到系统代码中,在可能发生错误的地方处理错误优点:便于程序员能够条理的看到程序中异常的处理缺点:...

    北航网络教育JAVA语言与面向对象程序设计单选题及答案.doc

    D、No modifier can be used 答案:B java程序基础 Java Application源程序的主类是指包含有( )方法的类。 A.A、main方法 B. B、toString方法 C. C、init方法 D. D、actionPerfromed方法 答案:A java程序结构 ...

    java综合试题(面试题)

    是合法的Java语句。 ( ) 2、在Java里,允许多重继承。 ( ) 3、在Java语言里,do-while语句是先执行循环体,然后再判断的循环条件。 ( ) 4、只有抽象类或接口中才能包含抽象方法。 ( ) ...

    java范例开发大全源代码

    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3  1.2.1 下载JDK 3  1.2.2 安装JDK 4  1.2.3 配置环境 5  1.2.4 测试JDK配置...

    java范例开发大全

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...

Global site tag (gtag.js) - Google Analytics