if判断为什么控制台运行时不管我输入正确或不正确的字符串,都会跳过代码,求解惑!!

下面是所有的代码!

    String kh1="1111";
    String mm1="1111";
    double yue1=10000;
    
    String kh2="2222";
    String mm2="2222";
    double yue2=20000;
    
    String kh3="3333";
    String mm3="3333";
    double yue3=30000;
    
    int linshi=3;
    int ls=3;
    
    System.out.println("欢迎使用银行模拟机!");
    
    /* 账号登录界面*/
    
    
    for(int j=0;linshi>j;){    
        if(ls==0){
            System.out.println("由于三次输入错误,您的银行卡已被冻结!\n请联系银行办理解除冻结!");
            break;
        }else{
            for(int i=0;iSystem.out.println("请输入账号:");
                String jskh=in.next();
                System.out.println("请输入密码:");
                String jsmm=in.next();
                if(jskh==kh1&&jsmm==mm1||jskh==kh2&&jsmm==mm2||jskh==kh3&&jsmm==mm3){
                    System.out.println("输入正确!");
                    System.out.println("请选择需要的操作:\n1.取款\n2.存款\n3.退出");
                    break;
                }else{
                    System.out.println("账号或密码错误,您还有"+(ls-1)+"次机会!");
                    ls--;
                }
            }     
        }
    }
}

代码可以正常运行,但是if判断就只运行else的下半段,刚学没多久,求解惑!

字符串相等,要用equals
改为
if(jskh.equals(kh1)&&jsmm.equals(mm1)||jskh.equals(kh2)&&jsmm.equals(mm2)||jskh.equals(kh3)&&jsmm.equals(mm3))

这是跳过的代码
System.out.println("输入正确!");
System.out.println("请选择需要的操作:\n1.取款\n2.存款\n3.退出");


if((jskh==kh1&&jsmm==mm1)||(jskh==kh2&&jsmm==mm2)||(jskh==kh3&&jsmm==mm3)){
                    System.out.println("输入正确!");
                    System.out.println("请选择需要的操作:\n1.取款\n2.存款\n3.退出");
                    break;
                }else{
                    System.out.println("账号或密码错误,您还有"+(ls-1)+"次机会!");
                    ls--;
                }

改成这样试试