【Java】return,break、continue、标签、的基本使用

目录

return

break & continue & 标签 & goto

break 使用标签

break & continue 使用标签范围


 

return

用于方法的返回退出:

  1. 有类型返回值:必须显示 return 语句返回。
  2. void 无类型返回值:可以显示的 return 返回退出方法,默认有隐式的 return 语句,所以可以不写。

在 语言中,函数里就要用 ( return 0; ) 进行返回退出的作用。
Java 中也是如此,如下方法中末尾并没有显示的 return 语句,但是有隐式的 return 语句:

public static void main(String[] args) {
    System.out.println("Hello World");
    // 隐式 return 语句
}

这是 Java 编译器在编译 .Java 文件时,就会加进去的。

break & continue & 标签 & goto

break continue 都是用于程序的流程控制的: 

  • break:默认退出当前所在循环(一层循环)。
  • continue:默认从当前所在循环继续执行,只能用在循环语句中。
  • 标签:在 Java 中标签及用于定位,也可以理解为为语句起名字,如(myFor : for ( ; ; ) {})标签命名方式 = name + : 号,标签的定义一般用于嵌套循环中。因为 break 和 continue 关键字不指定 “谁” 只能控制当前代码块标签提供给 break continue 指定作用在哪个标签上。
  • goto:在编程界中饱受争议的关键字,在高级程序设计语言中现在是被保留的关键字,在汇编语言中还是被使用的,编程语言一开始就有 goto 了,因为 goto 在程序代码中可以随意跳转,如果大量使用,会导致程序难以阅读和维护(goto 在汇编中乃还是解决问题的关键)。所以在高级程序设计语言中 goto 关键字被保留,从而使用 break continue 进行替代,并加以限制。

break 使用标签

如下代码中,寻找数组中前两个相同的数并进行运算后返回。

System.out.println(findDuplicate(new int[] {3, 1, 3, 2, 4, 2}));

public static int findDuplicate(int[] nums) {
	int result = -1;
	int length = nums.length;
	for (int x = 0; x < length; x++) {
		int num = nums[x];
		for (int y = x + 1; y < length; y++) {
			if (nums[y] == num) {
				result = num;
				break;
			}
		}
	}
	return result * result;
}

输出:

上述代码中,双层for循环,查找到重复数字后【3】,break 只能退出一层for循环,之后便继续执行循环,导致把整个 for 都遍历完,找到重复数字【2】

4

更改代码:为第一层循环加上标签名

标签命名方式 = name + : 号 ,标签名可随意起,但是要遵循 Java 命名规范

public static int findDuplicate(int[] nums) {
	int result = -1;
	int length = nums.length;
	to:for (int x = 0; x < length; x++) {
		int num = nums[x];
		for (int y = x + 1; y < length; y++) {
			if (nums[y] == num) {
				result = num;
				break to;
			}
		}
	}
	return result;
}

输出:

9

其它代码块命名标签演示:

code:{
	break code;
}

if1:if (true) {
	break if1;
}
		
for1:for (;;) {
	break for1;
}
		
while1:while (true) {
	break while1;
}
		
do1:do {
	break do1;
} while(true);
		
switch1:switch (0) {
	default:
		break switch1;
}
		
//还能起多个标签名,当然这样并没有什么意义
code0:code1:code2:code3:{
	break code0;
	//break code1;
	//break code2;
	//break code3;
}

break & continue 使用标签范围

TAG_MY: break TAG_MY;

OUTER_TAG:
{
    INNER_TAG:
    {
        START_TAG:
        for (;;) {
                CT_TAG:
                for (int i = 0; i < 10; i++) {
                    continue START_TAG;
                    // continue OUTER_TAG; // 编译失败
                }
        }
    }
}
  • break:能对块级标签和 ; 分号结束语句作用域上的标签起作用。
  • continue:只能对迭代作用域上的标签起作用。

 

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java中,breakcontinuereturn是控制流程的关键字,用于改变程序的执行顺序或跳出循环。下面我将分别解释它们的用途和用法。 - break关键字用于在循环中提前终止循环或跳出特定的代码块。在给定的第一个引用中,我们可以看到break的应用。在第一个for循环的内部,当i等于0时,使用break语句终止了第一个for循环,并跳到了标有first的位置。同样地,在第二个for循环中,当j等于0时,使用break语句终止了第二个for循环。这是break的常见用法,用于跳出循环并继续执行后续的代码。 - continue关键字也用于在循环中控制流程,但与break不同,它会跳过当前迭代并继续到下一次迭代。给定的第三个引用展示了continue的应用。在嵌套的两个for循环中,当x等于2时,使用continue语句跳过当前迭代,并进入下一次迭代。这意味着在这种情况下,内部循环中的语句不会执行,而外部循环会继续执行。 - return关键字用于从方法中返回值,并终止方法的执行。在给定的第二个引用中,我们可以看到return的应用。在testFinally4方法中,无论try块中的代码是否出现异常,finally块中的语句都会执行。在这种情况下,finally块中的return语句将覆盖try块中的return语句,并返回"return in finally"作为方法的返回值。 综上所述,在Java中,break用于终止循环或跳出特定代码块continue用于跳过当前迭代并继续到下一次迭代,而return用于从方法中返回值并终止方法的执行。这些关键字在控制流程和代码执行方面起着重要的作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚妄狼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值