`

Java效率很高的大小写转换

 
阅读更多

 

package test;

import org.junit.Test;

public class TestDemo {

	public static final char ofLow = 1<<5;
	public static final char ofUp = (char)(Character.MAX_VALUE-(1<<5));
	public static final char upMinVal = 'A';
	public static final char upMaxVal = 'Z';
	public static final char lowMinVal = 'a';
	public static final char lowMaxVal = 'z';
	
	public char toLow(char ch) {
		return (char)(ch|ofLow);
	}
	
	public char toUp(char ch) {
		return (char)(ch&ofUp);
	}
	
	public String toUpStr(String str){
		char[] charArray = str.toCharArray();
		for (int i=0;i<charArray.length;i++){
			char temp = charArray[i];
			if (temp>=lowMinVal&&temp<=lowMaxVal){
				charArray[i] = toUp(temp);
			}
		}
		return new String(charArray,0,charArray.length);
	}
	
	public String toLowStr(String str){
		char[] charArray = str.toCharArray();
		for (int i=0;i<charArray.length;i++){
			char temp = charArray[i];
			if (temp>=upMinVal&&temp<=upMaxVal){
				charArray[i] = toLow(temp);
			}
		}
		return new String(charArray,0,charArray.length);
	}
	
	@Test
	public void test (){
		System.out.println(toUpStr("djdldj45..dldjldjddkjljkSHSHJSHJ"));
		System.out.println(toLowStr("djdl23..djdldjldjddkjljkSHSHJSHJ"));
	}

}

 查看ASKii码表,发现A(01000001)与a(01100001)的二进制码的第五位有区别,第五位是1那么就是小写,是0就是大写,根据这个规律使用“按位与”,“按位或”就可以实现转换。我们知道“与”,“或”,“非”是针对二进制的操作要比“加”,“减”运算要快速,所以这段代码应该是最快的大小写转换。

 

分享到:
评论

相关推荐

    人民币大小写转换java完美版(媲美商用版)

    本示例中的"人民币大小写转换java完美版"就是一个典型的实例,它解决了在Java编程中将数字金额转换为大写的汉字金额,这对于银行系统、财务软件或上机作业来说是至关重要的功能。下面我们将深入探讨这个主题,讲解...

    效率很高的java jdbc类

    本篇将详细解释这个“效率很高的java jdbc类”的核心概念和实现。 首先,`DBConnection.java`很可能包含了一个自定义的数据库连接管理类。在JDBC中,`java.sql.Connection`接口是数据库连接的代表,用于建立与...

    按位区分大小写

    在进行按位操作时,如果我们不希望大小写影响结果,通常会先将字符转换到相同的大小写形式,然后再操作。但“按位区分大小写”的操作则保留了这种差异。 例如,如果我们有一个字符串包含大写字母,并且我们想要通过...

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    Java聊天小程序源码

    这款源码的发布,为开发者提供了学习和研究Java即时通讯技术的一个实例,对于想要深入理解网络编程、多线程以及并发处理的开发者来说,具有很高的参考价值。 1. **Java基础知识**: - **Java语法**:源码中会涉及...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java转C++,专用工具类

    而C++则是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程和泛型编程的语言。C++对底层硬件的控制更直接,因此在性能优化和系统级编程方面具有优势。 实现Java到C++的...

    大整数任意进制转换(2-62进制)

    在这样的系统中,除了0和1,还可以使用26个字母(A-Z,区分大小写)来表示数字,这样就能表达从0到61的所有数字。这种表示方法在某些特定应用中很有用,比如在URL短链接服务中,用较少的字符表示更大的数值。 实现...

    JAVA程序设计判断题题库81道

    Java语言是区分大小写的,变量、类名和方法名都需要遵循大小写规则。 在数据类型方面,Java的数据类型有固定长度,这使得不同平台上的代码行为一致。String类是Java中的一个重要类,用于处理字符串,但String对象...

    java小练习及答案

    这个"java小练习及答案"资源显然是为了帮助初学者巩固Java编程基础,通过实践来提高编程技能。以下是对这些练习可能涉及的知识点的详细解释: 1. **基本语法**:Java的基础语法包括变量声明、数据类型(如整型、...

    用java写的PNG编码与解码小程序

    PNG(Portable Network Graphics)是一种无损压缩的位图格式,广泛用于互联网上的图像展示,因为它提供了高质量的图像表现和透明度支持。Java作为一种跨平台的编程语言,具有丰富的图形处理库,可以用来实现PNG图像...

    java 的 word 转pdf的小demo

    总的来说,这个"java 的 word 转pdf的小demo"提供了一个基本的转换框架,对于初学者来说是很好的起点。通过深入研究和实践,你可以掌握更多的细节和技巧,从而构建出更强大、更健壮的文件转换解决方案。

    java大学试题

    Java是世界上最流行的编程语言之一,尤其在大学教育中占据着核心地位。这些“java大学试题”涵盖了广泛的Java...对于准备面试的考生,这些试题同样具有很高的参考价值,因为它们反映了实际工作场景中可能遇到的问题。

    java开源包6

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包9

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    Java 笔记 价值高

    首先,Java语言是大小写敏感的,这意味着`MyVariable`和`myvariable`会被视为两个不同的变量。此外,Java提供了三种注释方式:单行注释`//`,多行注释`/* */`,以及Javadoc注释`/** */`,后者主要用于生成API文档。 ...

    Java并发编程与高并发解决方案-学习笔记

    ### Java并发编程与高并发解决方案知识点总结 #### 一、并发与高并发基本概念 ##### 1.1 并发 - **定义**: 指一个程序在同一时刻拥有两个或更多的线程,这些线程可以在单核或多核处理器上运行。 - **单核处理器上...

    java开源包101

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

    java开源包4

    Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...

Global site tag (gtag.js) - Google Analytics