/*
* 字符串变量和字符串常量 1、字符串变量相加,先开空间再拼接 2、字符串常量相加,先拼接,再找常量池,有就返回,没有再开空间
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s = "Hello";// 字符串变量
String s1 = "World";// 字符串变量
String s2 = "Hello" + "World"; // 字符串常量
String s3 = s + s1;// 字符串常量
String s4 = "HelloWorld";
String s5 = "helloworld";
System.out.println(s2 == s3); // false
System.out.println(s2 == s4); // true
System.out.println(s3 == s4); // false
/*
* == 和 equals的区别 ==比较的是地址值 equals比较的是内容
*/
System.out.println(s2.equals(s4));// 比较字符串的 内容是否相同
System.out.println(s4.equalsIgnoreCase(s5));// 比较字符串的 内容是否相同(不考虑大小写)
// 遍历获取字符串中的每一个字符
System.out.println(Arrays.toString(s4.toCharArray()));
for(int i=0;i<s4.length();i++){
System.out.print(s4.charAt(i));
}
System.out.println("--------------");
String s6 = "HelloWor,ld12,3ab,CDHelloWo,rld";
// 统计一个字符串中的每一个大写和小写字母和数字出现的次数(不考虑其他符号)
//char c[] = s6.toCharArray();
for (int i = 0; i < s6.length(); i++) {
int count = 0;
for(int k=0;k<s6.length();k++){
if(s6.charAt(i) == s6.charAt(k)){
count++;
}
}
//判断出现的字符是否是最后一次出现,如果不是就不输出,如果是就输出
if(s6.indexOf(s6.charAt(i),i) == s6.lastIndexOf(s6.charAt(i)) ){
System.out.println(s6.charAt(i)+"出现了"+count+"次");
}
}
// 把如下字符串中的小写字母转为大写 String s = "AbcdFGh";
String s7 = "AbcdFGh";
System.out.println(s7.toUpperCase());
// 把字符串中的首字母转成大写
String s8 = "abcdAbcdFGh";
String str = s8.substring(0, 1).toUpperCase().concat(s8.substring(1));
char a[] = str.toCharArray();
System.out.println(Arrays.toString(a));
// 反转数组
char[] car = { 'a', 'c', 'r', 'l','1','2', 'k', 'v', 'f' };
System.out.println(Arrays.toString(car));
if (car.length % 2 == 0) {
for (int i = 0; i < car.length / 2; i++) {
char temp = car[i];
car[i] = car[car.length - i - 1];
car[car.length - i - 1] = temp;
}
} else {
for (int i = 0; i < (car.length - 1) / 2; i++) {
char temp = car[i];
car[i] = car[car.length - i - 1];
car[car.length - i - 1] = temp;
}
}
System.out.println(Arrays.toString(car));
System.out.println("-------------------------------------");
char [] car1 = new char[car.length];
int index = 0;
for(int i=car.length-1;i>=0;i--){
car1[index++] = car[i];
}
System.out.println(Arrays.toString(car1));
System.out.println("-------------------------------------");
String str1 = Arrays.toString(car).toString();
StringBuffer ab = new StringBuffer(str1);
StringBuffer str2 = ab.reverse();
System.out.println(str2);
System.out.println("-------------------------------------");
String s9 = "HelloWorld123abCDHelloWorld";
// 统计一个字符串中的每一个大写和小写字母和数字出现的次数(不考虑其他符号)
for(int i=0;i<s9.length();i++){
int count = 0;
for(int j=0;j<s9.length();j++){
if(s9.charAt(i) == s9.charAt(j)){
count++;
}
}
if(s9.indexOf(s9.charAt(i),i) == s9.lastIndexOf(s9.charAt(i))){
System.out.println(s9.charAt(i)+":出现了"+count+"次");
}
}
//把数组拼接一个字符串
char [] cha = {'a','s','d','f','g'};
StringBuffer sb = new StringBuffer();
//方法一
sb.append(cha);
/*方法二
* for(int i=0;i<cha.length;i++){
sb.append(cha[i]);
}*/
System.out.println(sb);
//把字符串反转
String str11 = "qwertyuiop";
StringBuffer strb = new StringBuffer();
for(int i=str11.length()-1;i>=0;i--){
strb.append(str11.charAt(i));
}
System.out.println(strb);
//判断一个字符串是否是对称字符串 aba就为对称字符串
String str12 = "qwertyuioppoiuytrewq";
boolean flag = true;
for(int i=0;i<str12.length()/2;i++){
if(str12.charAt(i) != str12.charAt(str12.length()-i-1)){
flag = false;
}
}
System.out.println(flag);
if(flag == true){
System.out.println("是对称字符串");
}else if(flag == false){
System.out.println("不是对称字符串");
}
}
}