新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  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   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
下面的语句会编译报错或者打印什么? System.out.print("baidu site :"); https://www.baidu.com; System.out.println(" format");很多人会说:会编译出错,中间那行是什么鬼?...【详细内容】
2019-09-11   Java  点击:(0)  评论:(0)  加入收藏
定义变量需要用关键字 &#39;var&#39; var iNum = 123; var sTr = &#39;asd&#39;; //同时定义多个变量可以用","隔开,公用一个&lsquo;var&rsquo;关键字 var iNum = 45,sTr=&#3...【详细内容】
2019-09-11   Java  点击:(0)  评论:(0)  加入收藏
随机数我们应该不陌生,业务中我们用它来生成验证码,或者对重复性要求不高的id,甚至我们还用它在年会上搞抽奖。今天我们来探讨一下这个东西。如果使用不当会引发一系列问题。...【详细内容】
2019-09-11   Java  点击:(0)  评论:(0)  加入收藏
关闭HDFS的权限检查设置完成重启HDFS集群查看文件 编辑后的文件 启动HDFS集群 创建maven项目,配置pom文件(核心配置代码) 1、 创建一个目录创建运行类,编写测试方法我们在集群中...【详细内容】
2019-09-11   Java  点击:(0)  评论:(0)  加入收藏
下面的这断代码大家应该再熟悉不过了,线程休眠需要捕获或者抛出线程中断异常,也就是你在睡觉的时候突然有个人冲进来把你吵醒了。...【详细内容】
2019-09-10   Java  点击:(5)  评论:(0)  加入收藏
异常处理是Java 开发中的一个重要部分。它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。Java提供了几个异常处理特性,以t...【详细内容】
2019-09-10   Java  点击:(6)  评论:(0)  加入收藏
要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运行时识别对象和类的信息,主要有两种方式:一种是传统的RTTI(Run-Time Type Identification),它假定我们在编译时已...【详细内容】
2019-09-10   Java  点击:(5)  评论:(0)  加入收藏
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什...【详细内容】
2019-09-09   Java  点击:(5)  评论:(0)  加入收藏
在开发Elasticsearch的应用过程中,需要读取索引相关的JSON Settings、Mappings设置,将JSON文档存放到项目的resources 目录,然后读取并调用Elasticsearch API 执行。 POM依赖<d...【详细内容】
2019-09-09   Java  点击:(4)  评论:(0)  加入收藏
之前在实现熔断降级组件时,需要实现一个接口的超时中断,意思是,业务在使用熔断降级功能时,在平台上设置了一个超时时间,如果在请求进入熔断器开始计时,并且接口在超时时间内没有响...【详细内容】
2019-09-09   Java  点击:(5)  评论:(0)  加入收藏
1.为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响1.1.使用内部类...【详细内容】
2019-09-09   Java  点击:(2)  评论:(0)  加入收藏
和往常一样,jsPDF是一个开源的客户端的PDF解决方案,在之前的文章中已经介绍过几个Web端和PDF相关的库,jsPDF同样是一个不错的客户端PDF引 SDK,你可以通过jsPDF在客户端完成相关操作,它包含了非常丰富的API,帮助你完成一系列...【详细内容】
2019-09-09   Java  点击:(2)  评论:(0)  加入收藏
主要包括下面这些:数据类型、判断方法、执行上下文、变量对象、活动对象原型、原型链作用域、作用域链闭包、垃圾回收机制、this指向、类和模块、继承、函数式编程、同步异步...【详细内容】
2019-09-09   Java  点击:(4)  评论:(0)  加入收藏
这篇文章关于什么?Javascript作为浏览器脚本语言,已经逐渐变得无处不在,它让你对事件驱动模型有了基本理解,以及它与request-response模型的典型语言,如Ruby,Python和Java的区别,我...【详细内容】
2019-09-06   Java  点击:(9)  评论:(0)  加入收藏
NIO编程一直是Java知识体系中的一个重点。前几年的时间面试的门槛是了解NIO,现在就不一样了,最起码也要精通NIO,因此学习javaNIO编程是非常有必要的。这篇文章就开始对NIO进...【详细内容】
2019-09-05   Java  点击:(11)  评论:(0)  加入收藏
此文适合零基础、初学者阅读。相信零基础的你看完,将对web前端有一个深刻的认识,对你的学习会有很大帮助。1、JavaScript 定义: javaScript的简写形式就是JS,是由Netscape公司开...【详细内容】
2019-09-04   Java  点击:(9)  评论:(0)  加入收藏
java中的进制也算是面试中经常会遇到的一个知识点,不管是计算问题,还是涉及到的基础知识。因此这篇文章对其进行一个整理。主要参考了慕课网上的视频,特在此说明。不管是你初学...【详细内容】
2019-09-04   Java  点击:(4)  评论:(0)  加入收藏
Java 和 C++ 都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于 C++ 为了照顾大量的 C 语言使用者,而兼容了 C ,使得自身仅仅成为了带类的 C 语言...【详细内容】
2019-09-04   Java  点击:(6)  评论:(0)  加入收藏
分布式数据库中间件 ShardingSphere 将 Sea t a 分布式事务能力进行整合,旨在打造一致性更强的分布式 数据库中间件 。 背景数据库领域,分布式事务的实现主要包含:两阶段的 XA...【详细内容】
2019-09-02   Java  点击:(12)  评论:(0)  加入收藏
前言各行各业都有基本功,例如医生,需要知道人体各个器官、各个系统的作用,知道细胞的作用、细菌和真菌的区别、病毒是怎么形成的,还得知道各种药的作用,如何对症下药等。在程序员...【详细内容】
2019-09-02   Java  点击:(6)  评论:(0)  加入收藏
推荐资讯
相关文章
栏目更新
栏目热门