A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢铭 中级黑马   /  2013-8-7 23:49  /  3054 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 谢铭 于 2013-8-10 00:15 编辑

现在还在北京传智播客学习java基础,在学习的过程中碰到了“将小写字母转换成大写字母的问题?”,在这里向懂这个的请教。
我只知道,26个小写字母和26个大写字母在unicode编码表中,都有一个相应的编码代替。
但是如何通进代码的方式进行转换?

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

4 个回复

倒序浏览
如果是字符串类型 可以考虑toUpperCase方法
如果是字符类型 同样也有这个方法
回复 使用道具 举报
本帖最后由 夜空闪亮 于 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, 下载次数: 139)

小写转大写.jpg

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 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());//转大写

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

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

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马