java笔试字符串转换:大写变小写小写变大写数字不变

字符串转换在笔试中经常遇到

/**
 *
 * @author zb
 *转换字符串,大写变小写,小写变大写,数字不变,其他变为*
 */
public class Transfer{
  public static void main(String\[\] args){
      String str = "ABC123abcfadfjbJBHJHJDsa";
      StringBuffer sb = new StringBuffer();
      int i;
//    char ch;
      for(i = 0; i <= str.length()-1;i ++){//遍历字符串
          char ch;
          //通过str.charAt(i)遍历出字符串中每个字符
          if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z'){//判断字符是否在a-z之间(小写)
              ch = (char) (str.charAt(i)-32);               //如果为小写则转换为相应大写,赋值给ch
          }else if(str.charAt(i) >= 'A' && str.charAt(i) <= 'Z'){//判断字符是否在A-Z之间(大写)
              ch = (char) (str.charAt(i)+32);               //如果为大写则转换为相应小写,赋值给ch
          }else if(str.charAt(i)>='0'&&str.charAt(i)<='9'){//判断字符是否在0-9之间(数字)
                ch = str.charAt(i);                         //如果为数字,将原数字赋值给ch
          }else {
                ch = '*';                                   //如果为其他则转为*号
          }
          sb.append(ch);                                    //将字符追加到sb序列
        }
      String trStr = sb.toString();                         //将StringBuffer转换为String类型
      System.out.println(sb.toString());
  }
}