首页 > 编程语言 >Java大写字母转换成小写字母(转载)

Java大写字母转换成小写字母(转载)

时间:2022-12-19 10:46:30浏览次数:56  
标签:Java 小写字母 32 Character 大写字母 ASCII 对应

问题:把一个小写字母转对应的大写字母,有几种办法?

解题思路1:
使用语言自带的API

public Character toLowerCase(Character s) {
        return Character.toLowerCase(s);
        //return Character.toUpperCase(s);
    }

解题思路2:

大写字母 A~Z 的 ASCII 码范围为 [65, 90]
小写字母 a~z 的 ASCII 码范围为 [97, 122]
如果ch的 ASCII 码在 [65, 90] 的范围内, 那么我们将它的 ASCII 码增加 32 , 即可得到对应的小写字母
32 对应的二进制表示为 [00100000]
[65, 96] 对应的二进制表示为 [(01000001), (01011010)], 在 [65, 96] 这个区间的所有数表示 32 的那个二进制都是 0 (即对应上述标红的三个数字位置)
65 + 32 = 01000001 + 00100000 = 01100001
而二进制中的 0 + 1 在按位或运算中可以得到 1
因此可以对 ch 的 ASCII 码与 32 做按位或运算,替代 ch 与 32 的加法运算

特别是当我们不知道当前字符是大小还是小写的时候,使用位运算异或32可以减少一次if/else判断

因为小写字母的二进制表示在32的那个位都是0,所有小写字母与32异或,对应位就会变成1,整个数字就会变成对应大写字母

而反过来,所有大写字母的二进制表示在32的那个位都是1,与32异或,对应位就会变成0,整个数字就会变成对应小写字母

//lower to upper or upper to lower
public Character transform(char s){

  return (char)s^32;
}

 


原文链接:https://blog.csdn.net/LX__dream/article/details/124050422

标签:Java,小写字母,32,Character,大写字母,ASCII,对应
From: https://www.cnblogs.com/wangbin2188/p/16991607.html

相关文章

  • 教你用JavaScript实现推荐滑块
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个推荐滑块。推荐滑块展示内容,每隔3秒自动变换。案例演示运行程序后......
  • java之增强for和迭代器精选
    前言:未来这个词听上去就是美好,可是你别忘了呀,每一个我们所期待的美好未来,都必须有一个努力的现在!!!我们上一篇聊到了java之集合,这一篇我们聊一下增强for和迭代器,针对于以下......
  • 教你用JavaScript实现表情评级
    案例介绍欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个表情评价程序。用户打星进行评价,表情会根据具体星星数量发生变化......
  • 【Java复健指南14】异常处理
    【异常处理】Java语言中,将程序执行中发生的不正常情况称为“异常”(开发过程中的语法错误和逻辑错误不是异常)分类执行过程中所发生的异常事件可分为两大类:1)Error(错......
  • Java面试题
    Java基础Java语言具有哪些特点?1.Java为纯面向对象语言。(所有的静态内容(static关键修饰的变量和方法)不属于任何对象?JVM在创建对象的时候,实际上会创建两个对象:一个......
  • JavaScript冒泡排序+Vue可视化冒泡动画
    冒泡排序(BubbleSort)算是前端最简单的算法,也是最经典的排序算法了。网上JavaScript版本的冒泡排序很多,今天用Vue实现一个动态的可视化冒泡排序。01、JavaScript冒泡排序......
  • Ubuntu 安装配置 Java 环境
    下载Java官网https://www.oracle.com/java/technologies/downloads/https://www.oracle.com/cn/java/technologies/downloads/国内镜像http://www.codebaoku.com/jd......
  • 饮料换购【第六届蓝桥杯省赛C++A/C组,第六届蓝桥杯省赛JAVAB组】
    饮料换购乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶......
  • 【Java面试指北】反射(1) 初识反射
    如果你被问到:什么是反射?为什么需要反射、以及反射的应用?你会如何回答呢?本篇会带大家初识反射,了解反射概念和基本应用。反射的原理以及深入源码的探究将会在后面几篇介绍。......
  • 买不到的数目【第四届蓝桥杯省赛C++A组,第四届蓝桥杯省赛JAVAC组】
    买不到的数目小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是......