`

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

分享到:
评论

相关推荐

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

    在Java编程语言中,语句标签(Statement Label)和语句块(Block)是两种重要的结构,它们在特定场景下有着独特的用途。本篇文章将详细解释这两种概念以及它们的合法使用方式。 首先,语句标签(label)允许我们为...

    010303_【第3章:Java基础程序设计】_判断与循环语句

    在编程世界中,Java是一种广泛使用的面向对象的编程语言,尤其在企业级应用开发中占据主导地位。本章节“第3章:Java基础程序设计”着重讲解了编程中的关键概念——判断与循环语句,这对于编写任何类型的程序来说都...

    java常用语句大全JAVA程式-自动贩卖机SWIJava程序设计报告TCH&CASE

    Java 基础语法与常用语句 - **循环语句**:`for`, `while`, `do...while`,这些语句用于重复执行一段代码直到满足特定条件。 - **分支语句**:`if...else`, `switch...case`,用于根据不同条件执行不同代码块。...

    实验三-条件语句和分支语句

    在这个实验中,我们主要探讨了Java中的三种条件语句和分支语句:`if...else`语句、嵌套`if`语句以及`switch`语句。 1. **`if...else`语句**: `if...else`语句是最基础的条件判断,它基于一个布尔表达式的值来决定...

    java检查sql语法是否正确

    总结来说,Java中检查SQL语法正确性的方法包括直接使用JDBC API的`Statement`或`PreparedStatement`,使用ORM框架的验证功能,以及借助数据库管理工具。选择哪种方法取决于你的具体需求和项目结构。在实际开发中,...

    北大青鸟内部JAVA基础测试题

    "北大青鸟内部JAVA基础测试题" 本测试题目涵盖了 Java 基础知识的多个方面,包括基本数据类型、变量声明、数组、运算符、控制结构、方法、字符串等。下面是对每个问题的详细解释: 1. 在 Java 语言中,基本数据...

    java试题 java笔试题 java面试题

    2. Java程序经编译后会产生什么代码? 答案:B.byte code 3. 下列说法正确的有哪些? 答案:C.constructor 在一个对象被new时执行 4. Which package provides Java with the ability to access databases? 答案...

    Java基础之Java编程基础

    3. Java语句块(block) Java允许使用花括号将多条语句组合在一起形成代码块,以实现更复杂的逻辑控制。语句块不仅可以嵌套使用,还可以定义类和方法的结构。例如,在类定义中,类体是由语句块组成,而在循环或条件...

    java基础教程源代码

    理解它们的范围、存储需求以及使用场景至关重要。 4. **变量与常量**:变量用于存储数据,常量则一旦赋值不能改变。在Java中,可以使用关键字如`int`, `double`等声明变量,用`final`声明常量。 5. **运算符**:...

    java基础试题综合试题

    Java 基础试题涵盖了Java语言的多个核心概念,包括语法、类与对象、方法、标识符、数据类型、运算符、流程控制以及输入输出等。以下是对这些知识点的详细解释: 1. **字节码文件扩展名**:Java源代码(.java文件)...

    java基础笔试题

    ### Java基础笔试题知识点解析 #### 第一组知识点详解 **1. 合法变量名规则** - **知识点概述:** 变量名是程序中标识变量的重要方式之一,Java对变量名有一定的规范要求。 - **详细解释:** - **A. 2variable:*...

    java 检查用户名的合法性

    在开发基于Java的应用程序时,经常需要验证用户输入的信息是否符合特定的要求或格式,其中最常见的一项就是检查用户名的合法性。本文将深入探讨一个具体的示例代码,并从中提取出关于如何在Java中检查用户名合法性的...

    Java的循环语句有for[参考].pdf

    Java中的循环语句是编程中不可或缺的部分,它们允许程序重复执行特定代码块直到满足特定条件。Java提供了三种主要的循环语句:for、while和do-while。 **5.2.1 while语句** while语句是最基础的循环结构。其格式...

    Java基础知识总结 (绝对经典)

    ### Java基础知识总结(绝对经典) #### 一、Java概述 - **起源与发展**:Java语言始于1991年Sun公司的James Gosling等人所开发的Oak语言,原计划用于控制嵌入式设备如有线电视交换盒和个人数字助理(PDA)。1994年...

    基于java中的流程控制语句总结(必看篇)

    第三种格式为if(条件1){语句块1}else if(条件2){语句块2}...else{语句块n+1},执行流程为先判断条件1,如果为真则执行语句块1,否则判断条件2,如果为真则执行语句块2,以此类推,如果所有条件都为假则执行语句块n+1...

    java基础培训

    ### Java基础培训知识点详解 #### 一、选择题解析与知识点概述 本篇文章将基于给定的选择题,详细解析每道题目背后所涉及的核心Java基础知识,并深入探讨相关的编程概念。 ### 1. 变量类型及初始化 **题目**: ...

    Java笔试题:Java基础概念(附答案)

    Java 是一种广泛使用的高级编程语言,它源自C++语言,由Sun Microsystems开发,现在由甲骨文公司维护。Java的设计目标是实现跨平台的可移植性,通过Java虚拟机(JVM)运行编译后的Java字节码。下面将详细讨论Java的...

    java基本概念Java基础笔试机试测试题

    根据提供的文件信息,这里将对其中的笔试题目进行解析,并解释相关的Java基础知识。 ### 题目解析 #### 1. 字符串缓冲区的使用 **题目**: 分析下面的Java程序段,编译运行后的输出结果是()。 ```java public ...

    JAVA笔试题__基础很全有答案.pdf

    14. **do-while循环的使用**:在Java中,do-while循环的结束条件判断是在循环体执行后进行的,因此选项D的continue loop不是Java的合法语句,应该使用continue。 这些题目覆盖了Java的基础知识,包括类、对象、数据...

Global site tag (gtag.js) - Google Analytics