不使用if语句将小写字符转换为大写字母

时间:2014-03-28 19:04:51

标签: java char case-conversion

如何在不使用if语句的情况下将小写char转换为大写?即不要使用这样的代码:

if(c > 'a' && c < 'z')
{
    c = c-32;
}

4 个答案:

答案 0 :(得分:2)

您可以使用:

char uppercase = Character.toUpperCase(c);

答案 1 :(得分:2)

使用Character.toUpperCase(char)

  

使用UnicodeData文件中的大小写映射信息将字符参数转换为大写。

例如,Character.toUpperCase('a')会返回'A'

所以你可能想要的完整代码是:

c = Character.toUpperCase(c);

答案 2 :(得分:1)

您可以使用ternary operator。对于你的情况,尝试这样的事情:

c = (c >= 'a' && c <= 'z') ? c = c - 32 : c;

答案 3 :(得分:1)

如果您确定您的字符是ASCII字母,那么您可以取消设置使其为小写的位,因为小写和大写拉丁字符之间的差异只是ASCII表中的一位。

您可以这样做:

char upper = c & 0x5F;