`
whao189
  • 浏览: 124856 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于java中toLowerCase 中的 scan:{}

阅读更多
今天随便看了一下JDK源码 ,很偶然的漂到了,String 的 toLowerCase

看到一段 代码:

scan: {
	    for (firstUpper = 0 ; firstUpper < count; ) {
		char c = value[offset+firstUpper];
		if ((c >= Character.MIN_HIGH_SURROGATE) &&
		    (c <= Character.MAX_HIGH_SURROGATE)) {
		    int supplChar = codePointAt(firstUpper);
		    if (supplChar != Character.toLowerCase(supplChar)) {
		        break scan;
		    }
		    firstUpper += Character.charCount(supplChar);
		} else {
		    if (c != Character.toLowerCase(c)) {
		        break scan;
		    }
		    firstUpper++;
		}
	    }
	    return this;
	}


真是奇怪,想了想不知道该怎么理解这段代码,难道 他就是 传说中的goto ?

百度了一下果然如此,但是goto不是很早就被摒弃了么?(由于可读性 之类的问题)

那么为何java大师们还在 源码中 这样定义呢? 有木有一个合理的解释啊?
分享到:
评论
2 楼 a191154823 2013-11-26  
scan 是个标签,用于便于结束循环嵌套
1 楼 a455642158 2012-08-06  
难道这里面有用goto这些字眼……各种java基础书不都是写了 用break 和 continue代替了goto 这个你都不知道?

相关推荐

    Java中的输入汉字拼音首字母即自动显示数据库中相应内容

    在Java编程中,实现输入汉字拼音首字母自动显示出数据库中相应内容的功能,是常见的文本框自动补全(AutoComplete)技术的一种应用场景。这种技术通常用于提高用户输入的效率和准确性,常见于搜索引擎、输入法软件...

    java中英文字符串处理.

    3. **比较字符串**:Java提供了多种比较字符串的方法。`equals()`用于比较两个字符串的内容是否相同,而`compareTo()`则基于Unicode值进行比较,返回值为0表示相等,正数表示当前字符串大于另一个,负数表示小于。 ...

    Java源码对用户名进行比较排序.rar

    在Java编程语言中,对用户名进行比较排序是一个常见的任务,特别是在开发用户管理系统或者任何涉及到用户数据展示的应用中。这个任务通常涉及到字符串的比较和排序,Java提供了强大的工具来实现这一功能。下面我们将...

    Java实现文件下载并解决中文文件名乱码

    ### Java实现文件下载并解决中文文件名乱码 在日常的Web开发中,经常会遇到需要让...通过以上步骤和注意事项,我们可以有效地实现Java中文件的下载功能,并且解决了中文文件名可能带来的乱码问题,提高了用户体验。

    中文名称转英文拼音

    2. **String类**:Java中的`String`类是处理文本的基础,提供了许多方法用于操作字符串,如`toLowerCase()`用于转换为小写,`replace()`用于替换字符,但它们无法直接将中文转换为拼音。 3. **Pinyin4j库**:在Java...

    java中字符串的操作汇总

    ### Java中字符串的操作汇总 在Java编程语言中,字符串(`String`)是极其重要的一个概念,被广泛应用于各种场景之中。为了更好地理解和运用Java语言,掌握字符串的各种操作方法至关重要。下面将详细介绍Java中字符...

    Java语言程序设计:JAVA_8_常用实用类.ppt

    Java语言中的String类是处理字符序列的核心类,它在java.lang包中,是所有Java程序的基础。String类被声明为final,这意味着它不能被继承,提供了对字符串操作的高度封装和安全保证。 ### 1. 构造字符串对象 **...

    java中驼峰与下划线的写法互转

    【Java中驼峰与下划线的转换】在Java编程中,经常需要处理不同命名规范之间的转换,尤其是在数据库与实体类交互的时候。数据库字段通常采用下划线分隔的命名方式,例如`user_name`,而Java实体类的属性则多采用驼峰...

    JAVA中常用类的常用方法.pdf

    JAVA中常用类的常用方法主要涵盖了java语言中基础类库的关键类以及它们提供的主要方法。以下是针对文档内容的详细解释: 1. java.lang.Object类 Object类是Java中所有类的超类,它提供了多种方法,这些方法在Java中...

    用JAVA语言统计文本文件中字母出现的频率

    在Java编程中,统计文本文件中字母出现的频率是一项常见的任务,这可以帮助我们理解文本的特性,例如在语言模型或信息检索系统中。这个任务的关键是读取文件内容,转换为字符数组,然后进行计数。以下是实现这个功能...

    Java面试题,10万字208道Java经典面试题总结(附答案)

    Java是世界上最流行的编程语言之一,尤其在企业级应用和互联网开发中占据主导地位。因此,对Java的理解和掌握,特别是面试中的常见问题,是每个Java开发者必须熟练掌握的。以下是一些Java面试中常见的知识点: 1. ...

    java大作业用数组进行队列排序

    在Java编程中,大作业通常涉及实际应用中的问题解决,这次的任务是利用数组实现一个队列排序,并且能够动态地插入新的元素。这个任务主要涵盖了两个核心知识点:数组的使用和排序算法。下面将详细解释这两个方面。 ...

    java in 24 hours

    ##### 第3小时:Java之旅 - **Oracle简介**:介绍Java的起源及其与Oracle的关系。 - **Java简史**:回顾Java的发展历程。 - **Java的应用场景**:探讨Java在不同领域的实际应用案例,如Food Network、NASA等。 - **...

    java 获取桌面路径

    以下是一些关于如何在Java中获取桌面路径的重要知识点: 1. **Java Desktop API**: Java提供了一个名为`java.awt.Desktop`的类,它包含了一些方法来与用户的桌面环境进行交互。虽然这个类不能直接返回桌面路径,但...

    Java中字符串.pdf

    在Java编程语言中,字符串是一个至关重要的概念,它是由一个或多个字符组成的序列。字符串在内存中被视为不可变对象,即一旦创建,其内容就不能更改。Java标准库中的`java.lang`包提供了两个主要的字符串类:`String...

    面试题:Java String类常见操作和用法

    Java String类是Java编程语言中的核心类,它用于表示和操作字符串。由于字符串在编程中极为常见,理解和熟练掌握String类的用法至关重要。在面试中,Java String类的操作和用法经常成为考察的重点。 首先,Java ...

    JAVA源码:输入星期几的首个字母,输出是星期几

    ### JAVA源码:根据星期首字母输出完整星期 #### 知识点概览 1. **基础输入输出操作** - 使用`Scanner`类进行控制台输入。 2. **字符串处理** - 字符串转换为小写。 - 获取字符串中的特定字符。 3. **流程控制**...

    介绍java中String类的方法

    Java中的String类是编程中非常基础且重要的一个类,它代表不可变的字符序列,即一旦创建,其内容就不能更改。下面我们将详细讨论String类的一些主要特性、实例化方式以及常用方法。 1. **String类的实例创建**: -...

    java实现英文文档分词

    读取的内容被存储在file变量中,最后使用toLowerCase()方法将所有的英文字母变成小写,以便统一处理。 二、 分词 在该实验中,使用java的StringTokenizer类来实现文档的分词。StringTokenizer类可以根据指定的分界...

Global site tag (gtag.js) - Google Analytics