java中如何进行大小写字母转换?
java提供了upper和lower方法来进行字母大小写的转换,实例如下:
//把一个字符串中的大写转为小写,小写转换为大写:思路1
public static String exChange(String str){
StringBuffer sb = new StringBuffer();
if(str!=null){
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
if(Character.isUpperCase(c)){
sb.append(Character.toLowerCase(c));
}else if(Character.isLowerCase(c)){
sb.append(Character.toUpperCase(c));
}
}
}
return sb.toString();
}
//把一个字符串中的大写转为小写,小写转换为大写:思路2
public static String exChange2(String str){
for(int i=0;i<str.length();i++){
//如果是小写
if(str.substring(i, i+1).equals(str.substring(i, i+1).toLowerCase())){
str.substring(i, i+1).toUpperCase();
}else{
str.substring(i, i+1).toLowerCase();
}
}
return str;
}
1.创建工程,或使用已有工程,在工程下创建包,包内新建一个类,我命名为Cases类,大家根据自己喜好随便命名,但请保持类名与文件名一致。
2.先确定单个字符,小写字母a与大写字母A之间的数值大小System.out.println((int)('z')-(int)('Z'));样一个语句就搞定了 。
3.思路是,字符串变字符数组,大转小,字符值加32,小转大,字符值减32 。大写字母范围是:65-90,小写字母范围是:97-122。
4.同理,大转小这么写:char[] queue = str.toCharArray();for (int index = 0; index < queue.length; index++) {if (((int) queue[index] > 64) && ((int) queue[index] < 91)) {queue[index] = (char) ((int) queue[index] + 32);}System.out.println("Lower: " + String.valueOf(queue));
5.写一个测试主函数看看结果:System.out.println("originalstring:"+ORIGINAL_STRING);printLowerCase(ORIGINAL_STRING);printUpperCase(ORIGINAL_STRING);即可。
java提供了upper和lower方法来进行字母大小写的转换。
实例如下:
public static String exChange(String str){
StringBuffer sb = new StringBuffer();
if(str!=null){
for(int i=0;i<str.length();i++){
char c = str.charAt(i);
if(Character.isUpperCase(c)){
sb.append(Character.toLowerCase(c));
}else if(Character.isLowerCase(c)){
sb.append(Character.toUpperCase(c));
}
}
}
return sb.toString();
}
Apache的commons-lang包中有很多我们常用的方法.比如IO操作的中的拷贝整个目录,判断一个字符是不是符合Email的格式,判断一个字符是不是数字型.....如果需要改变,那么应该使用StringBuffer。