String类提供了length()方法,确定字符串的长度
返回字符串中的字符数
* @Description//用户注册,密码长度不能小于6位
* //字符串length()方法
*/
public class Register {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入用户名");
String name=input.next();
System.out.println("请输入注册密码");
String pwd=input.next();
if (pwd.length()<6){
System.out.println("注册密码不能小于6位");
}else {
System.out.println("注册成功");
}
}
}
String类提供了equals()方法,比较存储在两个字符串对象的内容是否完全一致
* @Description//用户登录
* //字符串equals()方法
*/
public class Login{
public static void main(String[] args) {
// Scanner input=new Scanner(System.in);
// System.out.println("请输入用户名");
// String name=input.next();
// System.out.println("请输入注册密码");
// String pwd=input.next();
// //假设数据库中已经存储了用户注册成功的用户名TOM,密码1234567
// if (name.equals("TOM")&&pwd.equals("1234567")){
// System.out.println("登陆成功!");
// }else {
// System.out.println("用户名和密码不匹配,登录失败!");
// }
//以前学习过的比较方法:基本数据类型==值是否相等
// int i=8;
// int j=8;
// System.out.println(i==j);
//面试问题(字符串equals()和==的区别,字符串创建对象问题)
//1.字符串比较的方法:equals()比较两个字符串的内容是否相同:--String类重写过该方法
//==比较两个字符串内存地址是否相等,比较两个字符串是否为同一对象
//2.字符串对象创建问题
//如下代码创建了一个对象
// String s1="hello";
// String s2="hello";
// System.out.println(s1.equals(s2));
// System.out.println(s1==s2);//此时s1和s2都指向字符串池中的"hello"对象 true
//如下代码创建了2个对象
// String s1="hello";//此时s1指向字符串池中的"hello"对象
// String s2=new String("hello");//此时s2指向堆中的"hello"对象
// System.out.println(s1.equals(s2));//true
// System.out.println(s1==s2);//false
//如下代码创建了3个对象
// String s1="hello";//此时s1指向字符串池中的"hello"对象
// String s2=new String("Hello");//此时s2指向堆中的"Hello"对象,但是该行代码创建了两个对象,字符串池Hello,堆里的Hello
// System.out.println(s1.equals(s2));//false
// System.out.println(s1==s2);//false
//如下代码创建了4个对象
String s1=new String("hello");//此时s1指向堆中的"hello"对象,但是该行代码创建了两个对象,字符串池hello,堆里的hello
String s2=new String("Hello");//此时s2指向堆中的"Hello"对象,但是该行代码创建了两个对象,字符串池Hello,堆里的Hello
System.out.println(s1.equals(s2));//false
System.out.println(s1==s2);//false
}
}
使用equalsIgnoreCase()方法
使用toLowerCase()方法
使用toUpperCase()方法
去掉字符串两端空格的方法:trim()
方法一:使用"+"
方法二:使用String类的concat()方法
* @Description//字符串其他方法:
*/
public class StrMethods {
public static void main(String[] args) {
// Scanner input=new Scanner(System.in);
// System.out.println("请输入用户名");
// String name=input.next();
// System.out.println("请输入注册密码");
// String pwd=input.next();
// //假设数据库中已经存储了用户注册成功的用户名TOM,密码1234567
// //要求用户名忽略大小写的三种方法(变大写)
// //if (name.toUpperCase().equals("TOM".toUpperCase())&&pwd.equals("1234567")){
// //等同于(变小写)
// //if (name.toLowerCase().equals("TOM".toLowerCase())&&pwd.equals("1234567")){
// //等同于(忽略大小写)
// if (name.equalsIgnoreCase("TOM")&&pwd.equals("1234567")){
// System.out.println("登陆成功!");
// }else {
// System.out.println("用户名和密码不匹配,登录失败!");
// }
//去掉字符串两端空格的方法:trim()
// String name=" admin ";
// System.out.println(name.trim());
//字符串连接
String s1="hello";
String s2="world!";
System.out.println(s1+s2);//连接
System.out.println(5+4);//加法
System.out.println(5+"4");//连接
System.out.println(s1.concat(s2));//连接
}
}
代码演示
* @Description//会员注册
*/
public class Register {
//验证会员注册信息(用户名不能低于3位,密码不能低于6位,两次输入密码必须相同)
public boolean verify(String name,String pwd1,String pwd2){
boolean flag=false;//用户注册是否成功,成功true,反之false
if (name.length()<3||pwd1.length()<6){
System.out.println("用户名长度不能小于3,密码长度不能小于6!");
}else if (!pwd1.equals(pwd2)){
System.out.println("两次输入的密码不同!");
}else {
System.out.println("注册成功!请牢记用户名和密码!");
flag=true;
}
return flag;
}
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String name,pwd1,pwd2;//用户名、密码、重复密码
boolean flag;//用户注册是否成功
System.out.println("*****欢迎进入注册系统*****");
Register register=new Register();
do {
System.out.println("请输入用户名:");
name=input.next();
System.out.println("请输入注册密码:");
pwd1=input.next();
System.out.println("请再次重复密码:");
pwd2=input.next();
flag=register.verify(name,pwd1,pwd2);
}while (!flag);
}
}