当前位置: 首页 > news >正文

凤城市网站建设河源市网站建设公司

凤城市网站建设,河源市网站建设公司,天河区住房和建设水务局网站,可以做推广东西的网站说明:goto 在一些编程语言(如C语言)中,是用来表示跳转的,即代码执行到此处跳转到对应位置继续执行。 举例 举个例子,如下,是一个双层嵌套循环。现在我需要代码在内层循环符合某条件时跳出双层…

说明:goto 在一些编程语言(如C语言)中,是用来表示跳转的,即代码执行到此处跳转到对应位置继续执行。

举例

举个例子,如下,是一个双层嵌套循环。现在我需要代码在内层循环符合某条件时跳出双层循环,即跳出整个双层循环。

    public static void main(String[] args) {int[][] array = new int[10][10];// 放入一个特殊值,作keyarray[7][7] = 1000;// 依序赋值for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {if (array[i][j] == 0) {array[i][j] = i * array.length + j + 1;}}}// 寻找特殊值for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {if (array[i][j] == 1000) {System.out.println("got it!");break;}System.out.print(array[i][j] + " ");}System.out.println();}}

执行,可以看到,break 只能跳出内循环,外循环没有跳过。但按照代码描述,找出特殊值后,代码没有继续执行下去的必要。

在这里插入图片描述

解决

上面这种场景博主在项目中遇到过,可以有两种解决思路。第一种就是引入变量,设置一个开关,内循环符合条件后,修改开关,外循环判断,如下:

    public static void main(String[] args) {int[][] array = new int[10][10];// 放入一个特殊值,作keyarray[7][7] = 1000;// 依序赋值for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {if (array[i][j] == 0) {array[i][j] = i * array.length + j + 1;}}}// 定义一个开关boolean flag = true;// 寻找特殊值for (int i = 0; i < array.length; i++) {if (flag) {for (int j = 0; j < array[i].length; j++) {if (array[i][j] == 1000) {System.out.println("got it!");// 符合条件,设置开关flag = false;break;}System.out.print(array[i][j] + " ");}}System.out.println();}}

执行如下,能达到目的

在这里插入图片描述

第二种方式,就是使用类似 goto 的方式,可定义代码 break 跳出到某处,如下:

    public static void main(String[] args) {int[][] array = new int[10][10];// 放入一个特殊值,作keyarray[7][7] = 1000;// 依序赋值for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {if (array[i][j] == 0) {array[i][j] = i * array.length + j + 1;}}}// 寻找特殊值// 打一个标签out:for (int i = 0; i < array.length; i++) {for (int j = 0; j < array[i].length; j++) {if (array[i][j] == 1000) {System.out.println("got it!");// 跳出到out标签break out;}System.out.print(array[i][j] + " ");}System.out.println();}}

效果一样,但显然上面这种更优雅(zhuang b)一点

在这里插入图片描述

另外

在Java语言中,禁止C语言那种随意跳转代码执行的语法规则,但仍保留了 goto 关键字(没有特殊用法),同时支持上面这种可跳出多层循环(不仅双层循环)的语法。如果你的代码中有上述跳出多层嵌套循环的逻辑,这不失为一种选择。

个人认为Java把 goto 砍掉是对的,随意跳转代码执行提高了程序员阅读代码的难度,因为它破坏了代码 从上到下,顺序执行 的逻辑。

http://www.dtcms.com/a/467521.html

相关文章:

  • WPS 文字制作电子贺卡
  • 2025 家长电脑控制监控软件 JCJC 1.0 发布
  • 代运营公司十大排名拼多多seo是什么意思
  • 高碑店网站网站建设手机全部网站
  • vr功能网站建设wordpress 分块首页
  • 力扣面试经典150题day2,第三题(lc26),第四题(lc80)
  • 深圳做网站(官网)瓜果类网站建设方案
  • 福建设计招聘网站网站 建设 计划书
  • 学校网站建设讯息天津快速建站模板
  • 网站模板 帝国 phpcms百度的网站关键词被篡改
  • 做网站用win2008系统网站开发公司建网站
  • 怎样在建立公司网站微网站方案报价
  • Petrel三维地质建模01
  • 图片网站怎么做优化比较流行的网站建设技术有哪些
  • 【sqlite】一条简单插入的页面变化
  • 网站开发人员的水平wordpress tag伪静态规则
  • 浙江住建局官方网站网店推广费用多少钱
  • 如何做网站的后台友情链接交换条件
  • Spring 原理
  • openharmony之预置应用配置与安装命令
  • Python生产环境构建
  • 北京网站建设w亿玛酷1专注关于加强公司网站建设的通知
  • 珠海网站制作渠道电商推广和网络推广的策略
  • 旅游网站建设案例分析镇江公交优化
  • 用everything实现从主机下载资源
  • 网站开发与维护好找工作吗wordpress分类目录添加图片
  • 深入了解 IDS/IPS/IDP:概念、问题与应对策略
  • 珠海企业建站西宁软件网站建设
  • 什么网站可以做动画报名系统网站开发
  • 杭州富阳建设局网站女孩子做室内设计累吗