1 串池和堆内存的区别
public class helloworld {
public static void main(String[] args) {
String s1="abc";//记录的是串池里面的地址
String s2="abc";
String s3=new String("abc");
String s4=new String("abc");//记录的是堆里面的地址
String s5=new String("ABc");
System.out.println(s1==s2);
System.out.println(s2==s3);
System.out.println(s3==s4);
System.out.println(s1.equals(s2));
System.out.println(s1.equals(s4));
System.out.println(s1.equalsIgnoreCase(s5));//忽略大小写
Scanner scanner=new Scanner(System.in);
String s=scanner.next();
System.out.println(s==s1);
//比较字符串里的内容,需要用String里面的方法
}
}
String s=scanner.next();在Java中,通过scanner.next()获取的字符串会被存储在堆内存中而不是常量池中。
2 2-i的妙用
public class Stringdemo2 {
public static void main(String[] args) {
String rightusername="张三";
String rightpwd="sgj123";
for (int i=0;i<3;i++) {
Scanner scanner=new Scanner(System.in);
String username= scanner.next();
String pwd=scanner.next();
if(username.equals(rightusername)&&pwd.equals(rightpwd)) {
System.out.println("登录成功");
break;
}
else
System.out.println("登录失败"+"您还有"+(2-i)+"次机会");
}
}
3 注意ASCII
public class stringdemo3 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个字符串");
String str=scanner.next();
int bignumber=0,smallnumber=0,number=0;
for(int i=0;i<str.length();i++)
{
if(str.charAt(i)>='0'&&str.charAt(i)<='9')//注意引号
{
number++;
}
if(str.charAt(i)>'a'&&str.charAt(i)<'z')
smallnumber++;
if(str.charAt(i)>'A'&&str.charAt(i)<'Z')
bignumber++;
}
System.out.println(number);
}
}
String类型中的0代表十进制下的48
4String的常见函数、
public class Stringdemo6 { public static void main(String[] args) { String str="123456789"; System.out.println(str.substring(7)); System.out.println(str.substring(0,3)); } }
public class Stringdemo7 {
public static void main(String[] args) {
String talk="CNM,CNM,你玩的真好,以后不要玩了,TMD";
String[] arr={"TMD","CNM","SB","MLGB"};
for (int i=0;i<arr.length;i++)
{
talk=talk.replace(arr[i],"***");
}
System.out.println(talk);
}
}
public class Stringdemo8 {
public static void main(String[] args) {
StringBuilder sb=new StringBuilder("");
sb.append(1);
sb.append(6.9);
sb.reverse();
System.out.println(sb);
}
}
public class Stringdemo9 {
public static void main(String[] args) {
StringJoiner joiner=new StringJoiner("---");
StringJoiner sb=new StringJoiner("-","[","]");
joiner.add("abc").add("efg");
System.out.println(joiner.add("aaa"));
System.out.println(sb.add("aaa").add("bbb").add("ccc"));
}
}
public class Stringdemo9 {
public static void main(String[] args) {
StringJoiner joiner=new StringJoiner("---");
StringJoiner sb=new StringJoiner("-","[","]");
joiner.add("abc").add("efg");
System.out.println(joiner.add("aaa"));
System.out.println(sb.add("aaa").add("bbb").add("ccc"));
}
}