字符串:
1、
在字符串的比较时,用equals进行比较,一般不用==进行比较
因为在基本数据类型用==进行比较时,比较的是该数据类型的值例如:
int a = 0,b=0;
比较a==b的话,结果会return true;
2、
而在引用数据类型进行比较时例如字符串,这时候==比较的是地址值,而在字符串赋值中
如果两个字符串值相同但他们的地址不相同,使用==时则会返回false;
而使用equals比较时,则会直接比较字符串的值,要两字符串完全相同才会返回true。
同样在比较字符串只比相同数据,不在意大小写的话,可以使用equalsignoreCase进行比较,例如在验证码输入的情况就能使用该方法进行比较。
以下为一个模拟用户登录的一个例子,用户总共能登录三次,在登录三次错误以后提示退出重新登录,在登录错误或成功都有相应的提示。
import java.util.Scanner;
public class UsersTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Users u =new Users("Lei","123456789");
int count = 0;
for (int i = 0; i < 3; i++) {
System.out.println("请输入用户名和密码:");
String name = sc.next();
String p = sc.next();
if(name.equals(u.name)){
if(p.equals(u.password)){
System.out.println("登录成功");
break;
}
else{
count ++;
System.out.println("密码错误,请重新登录");
}
}
else{
System.out.println("用户名错误,请重新登录");
}
}
if(count == 3){
System.out.println("请退出重新登录");
}
}
}
功能测试结果如下:
1.登录成功:
2.用户名错误
3.密码错误
4.三次错误退出程序