龙空技术网

java 核心技术-12版 卷Ⅰ- 3.8.1 块作用域

CC挑灯夜读1谷 10

前言:

此刻小伙伴们对“java中的goto语句”大概比较讲究,大家都想要分析一些“java中的goto语句”的相关内容。那么小编也在网摘上汇集了一些有关“java中的goto语句””的相关知识,希望姐妹们能喜欢,咱们快快来了解一下吧!

3.8 控制流程

与任何程序设计语言一样,Java支持使用条件语句和循环结构来确定控制流程。这里首先讨论条件语句,然后介绍循环语句,最后介绍switch语句,它可以用来检测一个表达式的多个值。

C++ 注释:

Java的控制流程结构与C和C++的控制流程结构基本相同,只有很少几个例外。Java中没有goto 语句,但break 语句可以带标签,可以利用它从嵌套循环中跳出(对于这种情况,C语言可能就要使用goto语句了)。最后,还有一种变形的for 循环,有点类似于C++中基于范围的for 循环和C# 中的 foreach 循环。

在学习控制结构之前,需要了解块(block)的概念

块(即复合语句)由若干条Java语句组成,并用一对大括号括起来。块确定了变量的作用域。一个块可以嵌套在另一个块中。如下:

public static void main(String[] args){	int n; 	{		int k;	} // k is only defined up to here}

但是,不能在嵌套的两个块中声明同名的变量。下面的代码就是错误的,无法编译成功:

public static void main(String[] args){	int n; 	{		int k;		int n; // ERROR, can't redeclare n in inner block	} // k is only defined up to here}

原因也简单:上面的n 位于外部的方法中,作用域是整个方法,所以它在内部依然有效,那么如果在内部又定义一个n,则在块内使用n的时候,就会出现定义混乱,无法确认到底是哪个。就如同在同一个方法中,不能定义2个n。

标签: #java中的goto语句 #java核心技术卷一