![](https://i-blog.csdnimg.cn/blog_migrate/5b2bfe723c0995d0ddf2a1d9a6c10b1e.png)
boolean equals(Object obj):比较字符串的内容是否相同 区分大小写
String s1 = "zzf"; //判断字符串是否包含小字符串
String s2="zzf";
System.out.println(s2.equals(s1));
String s3 = "我爱你";
String s4 ="我爱你";
System.out.println(s3.equals(s4));
String s5 = "争锋";
String s6 ="争锋";
System.out.println(s5.equals(s6));
}
private static void Demo2() {
String s1 ="Zzf"; //判断字符串是否相同,不区分大小写
String s2 ="zzf";
System.out.println(s2.equalsIgnoreCase(s1));
}
private static void Demo3() {
String s1 = "zzfffz"; //判断字符串是否相同 区分大小写
String s2 ="zfz";
System.out.println(s1.contains(s2));
}
private static void Demo4() {
String s1 = "我爱你"; //判断字符串开头是否是S2
String s2 ="我";
System.out.println(s1.startsWith(s2));
}
private static void Demo5() {
String s1 ="我爱你"; //判断字符串结尾是否是S2
String s2 ="你";
System.out.println(s1.endsWith(s2));
}
![](https://i-blog.csdnimg.cn/blog_migrate/31d446b932815cade1fb04ac42558545.png)
private static void Demo1() {
int[] arr = {11,22,33};
System.out.println(arr.length); //数组中的属性
String s1 = "好困,好累,好想睡";
//length()是一个方法获取每一个字符的个数
System.out.println(s1.length());
}
private static void Demo2() {
String s1 ="好困,想吃肉";
char c =s1.charAt(1); //索引从0开始 注意字符串的索引越界异常 几乎有索引都会有可能出现索引越界异常
System.out.println(c); //返回困
}
private static void Demo3() {
String s1 ="woairou";
int index =s1.indexOf('r'); //也是索引
System.out.println(index); //返回4 如何不存在返回-1
}
private static void Demo4() {
String s1 = "woaichirou";
String s2 =s1.substring(2); //从指定位置开始截取字符
System.out.println(s2); //返回aichirou
}
private static void Demo5() {
String s1 ="woxiangchiKFC";
//通过字符获取每个字符的索引
for(int i =0;i<s1.length();i++) {
System.out.print(s1.charAt(i));
}
}
String类的构造方法
private static void Demo7() { //将字节数组的一部分转成字符串
byte[] arr = {97,98,99,100,101,102};
String s1 = new String(arr,2,3); //从索引2开始转换3个
System.out.println(s1); //99,100,101
}
小小题目
private static void Demo1() {
String s1 ="abc";
String s2 ="abc";
//常量池中没有这个字符串对象就创建一个,如果有就直接调用
//所以 s1 == s2 返回true
System.out.println(s1 == s2); //true
System.out.println(s1.equals(s2)); //true
}
private static void Demo2() {
//创建几个对象
String s1 = new String("abc");
//创建了两个对象,堆空间一个,常量池一个
}
![](https://i-blog.csdnimg.cn/blog_migrate/18ef7af00897ab8441a75d8674857751.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b564339696ab1cd71de4d4b10b84513c.png)
private static void Demo3() {
//判断定义为String类型的S1和S2是否相等
String s1 = new String("abc"); //记录的是堆内存对象的地址值
String s2 ="abc"; //记录的是常量池对象的地址值
System.out.println(s1 == s2); //false
System.out.println(s1.equals(s2)); //true
}
private static void Demo4() {
String s1 ="a"+"b"+"c";
String s2 ="abc";
//因为Java中有常量优化机制在编译时就变成了abc
System.out.println(s1 == s2); //true
System.out.println(s1.equals(s2)); //true
}
private static void Demo5() {
//因为S3需要 StringBuffer来将S1与c相加
//然后StrIngBuffer将值赋给toString
String s1 ="ab";
String s2 ="abc"; //常量池对象的地址值
String s3 =s1 + "c"; //栈空间toString对象的地址值
System.out.println(s3 == s2); //false
System.out.println(s3.equals(s2)); //true
}
![](https://i-blog.csdnimg.cn/blog_migrate/c77bd4bf877f2130fead0a51f3d1ad72.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df5e166bed72a390e95a87c4d588bfed.png)
模拟一个用户的简单登陆
private static void Demo1() {
Scanner sc = new Scanner(System.in); //创建键盘录入对象
for(int i =0;i <3;i++) {
System.out.println("请输入用户名:");
String userName = sc.nextLine(); //将键盘录入的用户名存储到userNam中
System.out.println("请输入密码");
String password = sc.nextLine(); //将键盘录入的密码存到password中
//如果是字符串常量与字符串常量作比较
//通常都是字符串常量调用方法,将变量当初参数传递,防止空指针异常
if("admin".equals(userName) && "admin".equals(password)) {
//如果用户名与密码都正确就登陆成功
System.out.println("欢迎"+userName+"登陆");
break; //跳出循环
}else {
if(i == 2) {
System.out.println("登陆次数已用尽");
}else {
System.err.println("录入错误,您还有"+(2-i)+"机会");
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6ba6b7e46d18ffff9d2357e8978ffb2d.png)
按要求把第一个字母大写其余小写
//链式编程:只要保证每次调用完方法返回的是对象就可以继续调用
private static void Demo2() {
String s1 = "woxiangchirou,WOXIangshuijiao";
//字符索引 //转换大写 //链接字符,字符索引,字符小写
String s2 =s1.substring(0, 1).toUpperCase().concat(s1.substring(1).toLowerCase());
System.out.println(s2);
}
private static void Demo4() {
String s1 = "abc";
String s2 = s1.replace('a', 'n'); //将A变成N
System.out.println(s2);
}