目录
1:String概述
2.String注意点
3.创建String对象的二种方法
4.字符串的比较
4.1:==号比的是什么?
4.1.1:基本数据类型(比较的是数据值)
4.1.2:引用数据类型(比较的是地址)
注:new是在堆里面开辟一个空间,int a=10中a记录的是串池的地址值。
4.2:比较
5.字符串的练习
5.1:用户登录
5.2:遍历字符串
1:String概述
java.lang.String类代表字符串,java程序中的所以字符串文字都是此类的对象(eg:"abc")。
2.String注意点
字符串的内容不会发生改变,它的对象在创建后不能被改变。
3.创建String对象的二种方法
1.直接赋值:
String name="随便写";
2;new关键字
package Demo;public class first {public static void main(String[] args) {//直接赋值String name="随便写";System.out.println(name);//随便写//使用new方法来获取一个字符串对象//空参构造:可以获取一个空白的字符串对象String s2=new String();System.out.println("@"+s2+"!");//@!//传递一个字符串,根据传递的字符串内容创建一个新的字符串对象String s3=new String("abc");System.out.println(s3);//abc//传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象//需求:我要修改字符串的内容。char[] chs={'a','b','c','d'};String s4=new String(chs);System.out.println(chs);//abcd//根据一个字节数组,根据字符数组的内容再创建一个新的字符串对象//我们一般把字节信息进行转换,转换字符串,此时就要用到这个构造了。byte[] bytes={97,98,99,100};String s5=new String(bytes);System.out.println(s5);//abcd}}
4.字符串的比较
4.1:==号比的是什么?
4.1.1:基本数据类型(比较的是数据值)
package Demo;public class second {public static void main(String[] args) {int a=10;int b=20;System.out.println(a==b);//false}
}
4.1.2:引用数据类型(比较的是地址)
String s1=new String("abc");String s2=new String("abc");System.out.println(s1==s2);//false
注:new是在堆里面开辟一个空间,int a=10中a记录的是串池的地址值。
4.2:比较
4.2.1:boolean equals方法(比较字符串) 完全一样才是true,否则为false。
4.2.2:boolean equalsIgnoreCase(要比较字符串) 忽略大小写的比较。
package Demo;public class second {public static void main(String[] args) {String s1=new String("abc");String s2="Abc";System.out.println(s1==s2);//falseboolean result=s1.equals(s2);System.out.println(result);//falseboolean result1=s1.equalsIgnoreCase("abc");System.out.println(result1);//true}
}
5.字符串的练习
5.1:用户登录
要求:已经知道正确的用户名和密码,请用程序实现模拟登录。总共用三次机会,登录以后,给出相应的提示(设置的账号被锁定,请联系客服)。
package Demo;import java.util.Scanner;public class 登录设置 {public static void main(String[] args) {String rightUsername="zhangsan";String rightPassword="123456";for(int i=0;i<3;i++) {Scanner sc = new Scanner(System.in);System.out.println("请输入用户名:");String username = sc.next();System.out.println("请输入密码:");String password = sc.next();if (username.equals(rightUsername) && password.equals(rightPassword)) {System.out.println("用户登录成功");break;} else {if(i==2) {System.out.println("账号"+rightUsername+"被锁定,请联系客服");}else{System.out.println("用户登录失败,用户名或密码有误,你还剩下" + (2 - i) + "次机会");}}}}
}
5.2:遍历字符串
注:public char charAt(int index):根据索引返回字符
package Demo;
import java.util.Scanner;
public class four {public static void main(String[] args) {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);}}
}//请输入一个字符串:saca
输出:
s
a
c
a