Java 中有 goto 关键字,但这个关键字没有任何作用,换句话说,我们不能使用 goto 来进行跳转到某行。实际上,结构化程序设计完全不需要 goto 语句即可完成各种流程,而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。
Java 中同样可以定义标签,使用标识符加冒号 (:) 的形式,如“mylabel:”。不过既然 Java 中的 goto 没有实质性的作用,标签的设计当然就不是为了 goto。
Java 中的标签是为循环设计的,是为了在多重循环中方便的使用 break 和 coutinue 而设计的。正是由于这个原因,Java 的标签只能定义在三种循环 (for() {}, do{} while(), while() {}) 的开始位置,否则编译器会报告说找不到标签。稍后的例子即可更直观的说明。
在循环前面加上标签,就好像给循环起了个名字。而后在循环中使用 break 或者 continue 语句的时候,就可以带上这个标签做为参数,指明跳出 (break) 或者继续 (continue) 哪一个循环,如“break mylabel;”、“continue mylabel;”。
/** *//** *//** *//**
* 演示查找过程,使用带标签的 break 和 continue 语句。
*/
public void search() ......{
//loop1:
// 若在此处定义标签,由于不是其后紧跟循环语句,所以会被勿略掉。
// 被忽略掉的标签,如果在 break 或者 continue 语句中用到,编译时不能通过。
// 如果没有在 break 或者 continue 中用到则编译可以成功。
System.out.println("--- Begin Searching ---");
loop1: for (int i = 0; i < row; i++) ......{
for (int j = 0; j < col; j++) ......{
if (data[i][j] > lookfor) ......{
System.out.println("--- JUMP ---");
continue loop1; // 想想此处用 break,结果会有什么变化
}
if (data[i][j] == lookfor) ......{
System.out.println("FOUND: data[" + i + "][" + j + "] = "
+ lookfor);
break loop1; // 想想此处用 return,结果会有什么变化
}
System.out
.println("data[" + i + "][" + j + "] = " + data[i][j]);
}
System.out.println("--- LOOP2END ---");
}
System.out.println("--- End Searching ---");
}来源:考试大-Java认证
分享到:
相关推荐
但是,Java提供了其他方法来实现类似于goto的跳转操作,主要是通过使用标签。 二、Java中的标签 -------------- 标签是Java语言中的一种特殊的语句,用于标记某个位置,以便在后续的代码中可以跳转到该位置。标签...
在 Java 中,goto 语句是一个保留的关键字,但不允许使用。然而,我们可以使用标签语句来实现类似的功能。例如: ``` 1: statement1; 2: statement_label_for_section2: 3: statement2; 4: goto statement_label_for...
这种标签机制避免了使用`goto`语句导致的代码混乱,同时也提供了更清晰、更可控的循环控制。在处理复杂嵌套循环或需要特殊跳转逻辑的场景下,使用循环标签可以提高代码的可读性和可维护性。不过,应该谨慎使用,以...
Java语言设计时摒弃了`goto`关键字,因此在Java中没有`goto`。这一决定主要是为了提高代码的可读性和可维护性,避免无尽的跳转导致的混乱。 #### 53、&和&&的区别 `&`是位运算符,用于进行按位与操作,也可以作为...
在其他一些编程语言中,如 C 和 C++,"goto" 关键字被用来无条件地跳转到程序的另一个标签处,但在 Java 中,这样的控制流可以通过 break、continue 和 return 来实现,尽管它们的语义和使用场景与 "goto" 不同。...
4. Java没有goto语句:Java语言的设计者决定不包含goto语句,因为goto是一个非结构化的跳转语句,使用不当会导致程序的可读性和可维护性降低。 5. &和&&的区别:&是按位与操作符,对操作数的二进制位进行逻辑与操作...
Java语言中没有goto语句,但有break和continue来控制循环跳转。 - &和&&的区别在于,&是按位与运算符,而&&是逻辑与运算符。后者具有短路特性,即如果第一个操作数已经能确定整个表达式的结果,则不会计算第二个...
2. **Java中没有goto**:Java语言中没有goto关键字,它倡导的是结构化编程,强调代码的可读性和可维护性,通过if、while、for、switch等控制流语句来实现程序流程的跳转。 3. **&和&&的区别**:&是位运算符,用于...
Java 语言的设计者希望鼓励程序员使用结构化编程,避免无条件跳转带来的问题。 4. **说说&和&&的区别** & 是位运算符,用于进行按位与操作,而 && 是逻辑运算符,用于逻辑与操作。在布尔表达式中,& 会计算两边的...
40. Goto(保留字):跳转,指的是跳转到某个指定的位置或标签。 41. Heap(n.):堆,指的是某个程序或系统的内存分配或管理。 42. Implements(关键字):实现,指的是某个类或接口的实现关系。 43. Import...
goto也是Java的一个保留字,用于表示跳转标签,尽管Java不支持使用goto语句。 10. Java的注释和编码规范 文档中提到了/***/和//两种注释的使用方法。注释是代码的说明书,有助于他人理解程序的目的和实现方式。编码...
- `goto`关键字用于跳转到程序中的任意位置,但在现代编程语言中不鼓励使用,因为它可能使代码变得难以理解和维护。 3. **逻辑运算符的区别** - **知识点**: - `&`和`&&`都可以作为逻辑与运算符,但`&&`具有...
2. 利用插件的跳转功能:如 `YouCompleteMe` 的 `g:ycm_goto_buffer_command` 和 `JavaComplete2` 的 `:JavaDeclaration`,可以快速跳转到定义。 3. 更新索引:如果你添加或修改了 Java 类,记得更新插件的索引,以...
2. **goto关键字**:Java中没有goto关键字。Java的设计原则之一是避免无尽的跳转,因此采用了结构化编程的概念。 3. **&和&&的区别**:&是位运算符,用于按位进行AND操作;而&&是逻辑运算符,只有当左侧表达式为真...
开发人员应避免依赖于`goto`,转而使用控制流语句(如`break`、`continue`和`return`)来实现类似的跳转功能。 4. 跳出多重嵌套循环的方法 要跳出多重嵌套循环,可以使用`break`语句配合标签,或者通过改变外层...
- Java没有goto语句,它不支持无条件跳转。 - &和&&都是逻辑与操作符,但&是逻辑与操作符,无论左右操作数是什么条件都会被求值,而&&是逻辑与操作符,当左边的操作数为false时,右边的操作数将不会被求值。 - ...
Java中没有goto语句,它被认为是一种不安全的跳转。 3. &和&&的区别在于,&是逻辑与运算符,两边的表达式都会执行;而&&是短路与运算符,如果第一个表达式为false,则不会执行第二个表达式。 4. 在Java中跳出多重...
2. Java没有`goto`关键字,它被设计为避免无尽的跳转和复杂的控制流。 3. `&`是逻辑与运算符,无论两边条件如何都会执行,而`&&`是短路与,如果左边表达式为假,右边的表达式将不会被执行。 4. 要跳出多重嵌套循环,...
- Java不支持`goto`关键字,这是为了代码的可读性和避免无尽的跳转导致的混乱。 2. 运算符和逻辑控制: - `&`是位运算符,它会比较两个操作数的每一位,而`&&`是逻辑与运算符,只有当两边的操作数都为真时,结果...