新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 程序开发 > 语言 > JAVA

Java 编程语言中很少被人了解的特性-statement label

时间:2019-09-11 09:23:45  来源:  作者:

下面的语句会编译报错或者打印什么?

		System.out.print("baidu site :");
		https://www.baidu.com;
		System.out.println(" format");

很多人会说:会编译出错,中间那行是什么鬼?

其实,不会报错,会打印出:

baidu site : format

如果改成这样的语句,是不是就不会觉得编译报错了?

		System.out.print("baidu site :");
		https :
			//www.baidu.com;
		System.out.println(" format");

像不像switch语句中的case

int q = (n+7)/8;
switch (n%8) {
 case 0: do { foo(); // Great C hack, Tom,
 case 7: foo(); // but it's not valid here.
 case 6: foo();
 case 5: foo();
 case 4: foo();
 case 3: foo();
 case 2: foo();
 case 1: foo();
 } while (--q > 0);
}

上面的语句,":" 是statement label 翻译成标号语句。

其语法如下:

LabeledStatement:
 Identifier : Statement
LabeledStatementNoShortIf:
 Identifier : StatementNoShortIf

与c和c++不同,JAVA中没有goto语句;标号语句用于出现在标号语句内任何地方的break或者continue语句之上。

再来一个标句语句作为结尾的练习吧

class Test {
 char[] value;
 int offset, count;
 int indexOf(TestString str, int fromIndex) {
 char[] v1 = value, v2 = str.value;
 int max = offset + (count - str.count);
 int start = offset + ((fromIndex < 0) ? 0 : fromIndex);
 i:
 for (int i = start; i <= max; i++) {
 int n = str.count, j = i, k = str.offset;
 while (n-- != 0) {
 if (v1[j++] != v2[k++])
 continue i;
 } 
 return i - offset;
 }
 return -1;
 }
}

参考资料

【1】https://docs.oracle.com/javase/specs/jls/se12/html/jls-14.html#jls-14.7



Tags:Java   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
说到 I/O,想必大家都不会陌生, I/O 英语全称:Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。...【详细内容】
2019-12-27   Java  点击:(1)  评论:(0)  加入收藏
soul网关发布2.1.0版本 (做Java界最好的API-Gateway) 这是soul网关开源以来的最大的一次更新,收集了很多社区反馈的问题,进行了更新. 之前的文档不是很完善,使用成本较高,这里先...【详细内容】
2019-12-27   Java  点击:(7)  评论:(0)  加入收藏
我们通过为自行车商店构建示例应用程序来学习如何使用 JPA。-- Stephon Brown(作者) 对应用开发者来说, Java 持久化 API(Java Persistence API)(JPA)是一项重要的 java 功能,需...【详细内容】
2019-12-27   Java  点击:(1)  评论:(0)  加入收藏
介绍Centos系统上安装Jenkins部署Spring Boot项目流程,并通过github Webhooks通知Jenkins代码更新信息并自动重新部署项目。准备环境 JDK1.8 yum install java-1.8.0-openjd...【详细内容】
2019-12-27   Java  点击:(2)  评论:(0)  加入收藏
前期准备工作1.云服务器2.备案的域名3.本地调试需要修改hosts文件,将域名映射到127.0.0.1申请QQ互联,并成为开发者申请QQ互联创建应用时需要备案域名,所以建议提前准备备案域名...【详细内容】
2019-12-26   Java  点击:(3)  评论:(0)  加入收藏
一、为什么要用线程池 降低资源消耗。通过重复利用已创建的线程降低线程创建、销毁线程造成的消耗。 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。...【详细内容】
2019-12-26   Java  点击:(1)  评论:(0)  加入收藏
Java 创建于 1995 年,目前有 134861 个网站使用 Java,如 ESPN、SnapDeal、阿里巴巴等。在其 24 年的发展历程中,Java 已经证明了自己是用于自定义软件开发的高级通用编程语言。...【详细内容】
2019-12-25   Java  点击:(4)  评论:(0)  加入收藏
01. JUnit第一个要说的当然是JUnit了,JUnit毕竟是Java圈目前最知名及常用的测试框架。JUnit之所以能够成为Java圈中最热门的测试库,是因为对于很多项目而言,单元测试是非常重要...【详细内容】
2019-12-25   Java  点击:(2)  评论:(0)  加入收藏
实际应用中,目标字符串的生成可能需要多个数据的拼接。  由于应用频繁,几乎是所有编程语言都必须掌握的操作,当然每种语言具有各自特点。  本文将通过代码实例详细介绍...【详细内容】
2019-12-25   Java  点击:(4)  评论:(0)  加入收藏
对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。...【详细内容】
2019-12-25   Java  点击:(3)  评论:(0)  加入收藏
日常工作中,不管你是写Unit Test,还是采用TDD的编程方式进行开发,都会遇到断言。而断言的风格常见的会有Assert、BDD风格,对于这些常见的断言风格你怎么选择呢?01 Assert风格JUni...【详细内容】
2019-12-25   Java  点击:(2)  评论:(0)  加入收藏
对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终...【详细内容】
2019-12-24   Java  点击:(7)  评论:(0)  加入收藏
2003 年,保罗&middot;格雷厄姆(Paul Graham) 曾撰文提到,他的公司决定使用 Lisp。在该文章中他将 Lisp 描绘成计算机语言界的法语,它独特、深邃,能够表达难以描述的事物。如果 Li...【详细内容】
2019-12-23   Java  点击:(5)  评论:(0)  加入收藏
为什么要在 Java 分布式应用程序中使用缓存?在提高应用程序速度和性能上,每一毫秒都很重要。根据谷歌的一项研究,假如一个网站在3秒钟或更短时间内没有加载成功,会有 53% 的手机用户会离开。...【详细内容】
2019-12-23   Java  点击:(1)  评论:(0)  加入收藏
本文将介绍 HotSpot 中的 String Pool,字符串常量池。相对是一篇比较简单的文章,大家花几分钟就看完了。在 Java 世界中,构造一个 Java 对象是一个相对比较重的活,而且还需要垃...【详细内容】
2019-12-23   Java  点击:(4)  评论:(0)  加入收藏
JavaScript 的节流和防抖已经是老生畅谈的问题了,对于前端行业技术大牛来讲不过是小菜一碟,而对于绝大多数前端小白或初级工程师,绝对是必备的知识,值得学习。接下来小郭就带大...【详细内容】
2019-12-23   Java  点击:(6)  评论:(0)  加入收藏
算法是一种艺术,给人感觉很不好接近,但是一旦你和ta熟络了,你就能发现这门艺术的内在是多么美妙且多变。对于前端来说,算法也许不是最重要的,在日常工作中,几乎很少用到。所以很多...【详细内容】
2019-12-23   Java  点击:(4)  评论:(0)  加入收藏
一、跨域问题的来源浏览器跨域处理原由:浏览器安全防护的“同源政策”影响。关于什么是“同源政策”,可以看这边文章,讲解比较详细易懂https://blog.csdn.net/dreamcatcher1...【详细内容】
2019-12-20   Java  点击:(10)  评论:(0)  加入收藏
在前端的 JavaScript 开发中,发现开发者对于错误异常的处理普遍都比较简单粗暴,如果应用程序中缺少有效的错误处理和容错机制,代码的健壮性就无从谈起。本文整理出了一些常...【详细内容】
2019-12-19   Java  点击:(9)  评论:(0)  加入收藏
cpu是时分(time division)的,操作系统里有很多线程,每个线程的运行时间由cpu决定,cpu会分给每个线程一个时间片,时间片是一个很短的时间长度,如果在时间片内,线程一直占有,则是100%...【详细内容】
2019-12-19   Java  点击:(10)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条