假如写这样的一段代码:
如果这段代码是存在于类定义区域,那么我们知道它是个普通的语句块,用于初始化类属性的内容,它会在类实例化的时候被调用,里面可以执行一些方法。
在很多实例里,它会用于单例等模式,之前加上一个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;}
再来看个错误的用法:
很明显,在标签后有个默认的单行语句块,这个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编程语言中,语句标签(Statement Label)和语句块(Block)是两种重要的结构,它们在特定场景下有着独特的用途。本篇文章将详细解释这两种概念以及它们的合法使用方式。 首先,语句标签(label)允许我们为...
在编程世界中,Java是一种广泛使用的面向对象的编程语言,尤其在企业级应用开发中占据主导地位。本章节“第3章:Java基础程序设计”着重讲解了编程中的关键概念——判断与循环语句,这对于编写任何类型的程序来说都...
Java 基础语法与常用语句 - **循环语句**:`for`, `while`, `do...while`,这些语句用于重复执行一段代码直到满足特定条件。 - **分支语句**:`if...else`, `switch...case`,用于根据不同条件执行不同代码块。...
在这个实验中,我们主要探讨了Java中的三种条件语句和分支语句:`if...else`语句、嵌套`if`语句以及`switch`语句。 1. **`if...else`语句**: `if...else`语句是最基础的条件判断,它基于一个布尔表达式的值来决定...
总结来说,Java中检查SQL语法正确性的方法包括直接使用JDBC API的`Statement`或`PreparedStatement`,使用ORM框架的验证功能,以及借助数据库管理工具。选择哪种方法取决于你的具体需求和项目结构。在实际开发中,...
"北大青鸟内部JAVA基础测试题" 本测试题目涵盖了 Java 基础知识的多个方面,包括基本数据类型、变量声明、数组、运算符、控制结构、方法、字符串等。下面是对每个问题的详细解释: 1. 在 Java 语言中,基本数据...
2. Java程序经编译后会产生什么代码? 答案:B.byte code 3. 下列说法正确的有哪些? 答案:C.constructor 在一个对象被new时执行 4. Which package provides Java with the ability to access databases? 答案...
3. Java语句块(block) Java允许使用花括号将多条语句组合在一起形成代码块,以实现更复杂的逻辑控制。语句块不仅可以嵌套使用,还可以定义类和方法的结构。例如,在类定义中,类体是由语句块组成,而在循环或条件...
理解它们的范围、存储需求以及使用场景至关重要。 4. **变量与常量**:变量用于存储数据,常量则一旦赋值不能改变。在Java中,可以使用关键字如`int`, `double`等声明变量,用`final`声明常量。 5. **运算符**:...
Java 基础试题涵盖了Java语言的多个核心概念,包括语法、类与对象、方法、标识符、数据类型、运算符、流程控制以及输入输出等。以下是对这些知识点的详细解释: 1. **字节码文件扩展名**:Java源代码(.java文件)...
### Java基础笔试题知识点解析 #### 第一组知识点详解 **1. 合法变量名规则** - **知识点概述:** 变量名是程序中标识变量的重要方式之一,Java对变量名有一定的规范要求。 - **详细解释:** - **A. 2variable:*...
在开发基于Java的应用程序时,经常需要验证用户输入的信息是否符合特定的要求或格式,其中最常见的一项就是检查用户名的合法性。本文将深入探讨一个具体的示例代码,并从中提取出关于如何在Java中检查用户名合法性的...
Java中的循环语句是编程中不可或缺的部分,它们允许程序重复执行特定代码块直到满足特定条件。Java提供了三种主要的循环语句:for、while和do-while。 **5.2.1 while语句** while语句是最基础的循环结构。其格式...
### Java基础知识总结(绝对经典) #### 一、Java概述 - **起源与发展**:Java语言始于1991年Sun公司的James Gosling等人所开发的Oak语言,原计划用于控制嵌入式设备如有线电视交换盒和个人数字助理(PDA)。1994年...
第三种格式为if(条件1){语句块1}else if(条件2){语句块2}...else{语句块n+1},执行流程为先判断条件1,如果为真则执行语句块1,否则判断条件2,如果为真则执行语句块2,以此类推,如果所有条件都为假则执行语句块n+1...
### Java基础培训知识点详解 #### 一、选择题解析与知识点概述 本篇文章将基于给定的选择题,详细解析每道题目背后所涉及的核心Java基础知识,并深入探讨相关的编程概念。 ### 1. 变量类型及初始化 **题目**: ...
Java 是一种广泛使用的高级编程语言,它源自C++语言,由Sun Microsystems开发,现在由甲骨文公司维护。Java的设计目标是实现跨平台的可移植性,通过Java虚拟机(JVM)运行编译后的Java字节码。下面将详细讨论Java的...
根据提供的文件信息,这里将对其中的笔试题目进行解析,并解释相关的Java基础知识。 ### 题目解析 #### 1. 字符串缓冲区的使用 **题目**: 分析下面的Java程序段,编译运行后的输出结果是()。 ```java public ...
14. **do-while循环的使用**:在Java中,do-while循环的结束条件判断是在循环体执行后进行的,因此选项D的continue loop不是Java的合法语句,应该使用continue。 这些题目覆盖了Java的基础知识,包括类、对象、数据...