just do it

논리연산자(logical operator)(&&, ||) 본문

언어&프레임워크/Java

논리연산자(logical operator)(&&, ||)

밍풀 2022. 8. 18. 15:42

비교연산자(comparison operator)는

== 기준 좌항 우항 비교하고 같을시 ture, 다를시 false

 

논리연산자(logical operator)는

-&& (and)기준, 좌항 우항 모두 true불리언일시에만 ture, 둘중하나라도 false거나 둘다 false면 false

-|| (or)기준, 좌항 우항 중 둘중 하나면 true여도 true

 

&&, ||(and, or) 사용해서 아이디 비밀번호 확인 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package programmingg;
 
public class Auth {
 
    public static void main(String[] args) {
     String id = "min";
     String inputid = args[0];
     
     String pass = "1234";
     String pass2 = "4321";//비밀번호가 두개 있어서 둘다 가능하다고 가정
     String inputpass = args[1];//4321넣음
     
     System.out.println("hi");
     
     if(inputid.equals(id)&&( inputpass.equals(pass)||inputpass.equals(pass2)) ) {
         //들어온값 inputid가 id맞고 inputpass가 비번 pass, pass2 둘중 하나 맞은 경우 if값 참
         System.out.println("Master!");//id pass둘다 맞음
     }else {
     System.out.println("who are you?");//id부터 틀림
     }
//hi master 결과 나옴 
  }
 
}
 
cs

 

불리언 변수 선언해서 if안을 좀더 깔끔하게 아이디 비번 확인 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package programmingg;
 
public class Auth {
 
    public static void main(String[] args) {
     String id = "min";
     String inputid = args[0];
     
     String pass = "1234";
     String pass2 = "4321";//비밀번호가 두개 있어서 둘다 가능하다고 가정
     String inputpass = args[1];//4321넣음
     
     System.out.println("hi");
     
     boolean rightpass = inputpass.equals(pass)||inputpass.equals(pass2);
     //조건문에 다넣기 복잡하니까 불리언 변수 따로 만들어줌 
     if(inputid.equals(id)&& rightpass ) {
         //들어온값 inputid가 id맞고 inputpass가 비번 pass, pass2 둘중 하나 맞은 경우 if값 참
         System.out.println("Master!");//id pass둘다 맞음
     }else {
     System.out.println("who are you?");//id부터 틀림
     }
//hi master 결과 나옴 
  }
 
}
 
cs