字符串的比较
- boolean equals方法(要比较的字符串) 完全一样结果才是true,否则为false
String s1 = new String("abc");
String s2 = "abc";
System.out.println(s1 == s2); //false
boolean result1 = s1.equals(s2);
System.out.println(result1); //true
- boolean equalslgnoreCase(要比较的字符串) 忽大小写的比较
String s1 = new String("abc");
String s2 = "ABC";
boolean result2 = s1.equalsiIgnoreCase(s2);
System.out.println(result2); //true
遍历字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
for(int i = 0;i<str.length;i++){
char c = str.charAt(i);
System.out.println(c);
}
案例一、统计字符次数
Scanner sc =new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
int bigCount = 0;
int smallCount = 0;
int numberCount = 0;
for(int i =0;i<str.length();i++){
char c =str.chatAt(i);
if(c>='a' && c<='z'){
smallCount++;
}else if(c>='A' && c<='Z'){
bigCount++;
}else if(c>='0' && c<='9'){
numberCount++;
}
}
System.out.println("小写字母有"+smallCount);
System.out.println("大写字母有"+bigCount);
System.out.println("数字有"+numberCount);
案例二、拼接字符串
Public static String arrToString(int[] arr){
if(arr == null){
return "";
}
if(arr.length() == 0){
return "[]";
}
String result ="[";
for(int i =0;i<arr.length();i++){
if(i==arr.length() -1){
result = result + arr[i]
}else{
result=result + arr[i] + ", ";
}
}
result = result +"]";
return result;
}
字符串反转
Public static String reverser(String str){
String result = ""
for(int i =str.length()-1;i>=0;i--){
char c = charAt(i);
result = result + c;
}
return result;
}
金额转换
public static String getCapitalNumber(int number){
String[] arr ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[number];
}
public static String moneyConvert(int money){
String moneyStr = "";
if(money >=0 && money <=9999999){
break;
}else{
System.out.println("金额无效");
}
while(true){
int ge = money * 10;
String capitalNumber =getCapitalNumber(ge);
moneyStr = capitalNumber + moneyStr;
money = money /10;
if(money == 0){
break;
}
}
int count = 7-moneyStr.length();
for(int i =0;i<count;i++){
moneyStr = "零" + moneyStr;
}
String [] arr ={"佰","拾","万","仟","佰","拾","元"};
String result ="";
for(int i=0;i<moneyStr.length();i++){
char c = moneyStr.charAt(i);
result = result + c +arr[i];
}
}
String Builder
可以高效的拼接字符串,还可以将容器内的内容反转
//1.创建对象
StringBuilder sb = new StringBuilder();
//2.添加元素
sb.append(1);
sb.append(2.3);
//3.反转
sb.reverse();
//4.获取长度
sb.length();
//最后把StringBuilder 变回 String
String str = sb.toString();
对称字符串
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
StringBuilder sb = new StringBuilder();
sb.append(str);
sb.reverse();
String result = sb.toString();
if(str.equals(result)){
System.out.println("对称");
}else{
System.out.println("不对称");
}
}
StringJoiner
可以高效,方便的拼接字符串,在拼接的时候,可以指定间隔符号,开始符号,结束符号
public static void main(String[] args){
StringJoiner sj = new StringJoiner(", ","[","]");
sj.add("aaa");
sj.add("bbb");
sj.add("ccc");
}