黑马程序员技术交流社区

标题: 将小写字母转换成大写字母的问题? [打印本页]

作者: 谢铭    时间: 2013-8-7 23:49
标题: 将小写字母转换成大写字母的问题?
本帖最后由 谢铭 于 2013-8-10 00:15 编辑

现在还在北京传智播客学习java基础,在学习的过程中碰到了“将小写字母转换成大写字母的问题?”,在这里向懂这个的请教。
我只知道,26个小写字母和26个大写字母在unicode编码表中,都有一个相应的编码代替。
但是如何通进代码的方式进行转换?
作者: 白堇翎    时间: 2013-8-7 23:56
如果是字符串类型 可以考虑toUpperCase方法
如果是字符类型 同样也有这个方法
作者: 夜空闪亮    时间: 2013-8-8 00:51
本帖最后由 夜空闪亮 于 2013-8-8 00:52 编辑

小写字母和大写字母间的转换不需要参照unicode编码表,参照ASCII码表就可以完成转化,在ASCII码表中,对应的大写字母跟小写字母之间相差32,如大写A的ASCII码表对应的数字是65,小写a是97,所以可以通过‘A’+32或者‘a’-32进行大小写之间的互相转换。具体代码如下:
  1. class CharDemo
  2. {
  3.         /*
  4.         大小写字母之间的转化。
  5.         */
  6.         public static void main(String[] args)
  7.         {
  8.                 char ch = 'a';
  9.                 for(int i = 0;i<26;i++ )
  10.                         System.out.print((char)('a'-32+i)+"\t");
  11.                 System.out.println();
  12.         }
  13. }
复制代码
运行程序结果如图:

小写转大写.jpg (11.21 KB, 下载次数: 143)

小写转大写.jpg

作者: 吴光新    时间: 2013-8-8 07:02
本帖最后由 Jiewin 于 2013-8-8 07:04 编辑

System.out.println("aaa".toUpperCase());//转大写
System.out.println("AAA".toLowerCase());//转小写

"aaa"或者"AAA"可以用一个对象来表示,如
String a = "aaa";
System.out.println(a.toUpperCase());//转大写

作者: EYE_SEE_YOU    时间: 2013-8-8 07:39
char字符是用unicode编码表示的
而ascii编码在unicode编码中同样适用
因为unicode编码的前128位就是ascii编码
十六进制的\u0061
就是十进制的97,也是字符a
十六进制的\u0041
就是十进制的65,也是字符A
你可以直接看出这大小写相差32
所以在我的解释下
再加上楼上“夜空闪亮”的回答
你就知道怎样用代码的运算
来实现字母大小写的转换了






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2