JAVA, JSP

java - 논리연산자, 대입연산자, 삼항연산자

suji0730 2024. 7. 18. 12:43

 

1) && Logical AND 논리연산자 : 둘 다 일치해야 true

public static void signOperatorSample14(){
    int score = 52;
    if(100 >=score && 95 <= score) {
        System.out.println("A+");
    }else if(90 <= score && 94 >= score) {
        System.out.println("A");
    }else if(80 <= score && 89 >= score) {
        System.out.println("C");
    }else if(70 <= score && 79 >= score) {
        System.out.println("D");
    }else {
        System.out.println("F");
    }
}

 

 

2) || Logical OR 논리연산자 : 둘 중 하나만 일치해도 true

public static void signOperatorSample15(){
    int score = 92;
    if(95 <= score) {
        System.out.println("A+");
    }else if(90 <= score || 94 >= score) {
        System.out.println("A");
    }else if(80 <= score || 89 >= score) {
        System.out.println("C");
    }else if(70 <= score || 79 >= score) {
        System.out.println("D");
    }else {
        System.out.println("F");
    }
}

 

 

3) ! Logical NOT 논리 연산자 : 참을 거짓으로 만들고, 반대로 거짓을 참으로 만듦

public static void signOperatorSample17(){
    int num = 6;
    boolean result = ((num%2 ==0));
    System.out.println(result);

    if(!result) {
        System.out.println("6은 2의 배수가 아닙니다.");
    }else if(result) {
        System.out.println("6은 2의 배수가 맞습니다.");
    }
}

 

 

4) 복합대입연산자 += 메서드

public static void signOperatorSample18() {
    int num = 0;
    num -= 2;
    num += 3;
    System.out.println(num);

    String text = "";
    text = "안녕하세요?";
    text += "반갑습니다.";
    System.out.println(text);
}

 

 

5) 삼항연산자 메서드

public static void signOperatorSample19() {
    String text = "참참참";
    String result = (text.equals("참참참"))? "데이터가 일치합니다" : "데이터가 일치하지 않습니다";
    System.out.println(result);
}

 

 

☆ 예제

Main 클래스로부터 operator 패키지 내부에 작성된 샘플 메서드를 호출
샘플 메서드 호출 시 두 수를 인자(매개변수)로 입력받아 연필을 30명의 학생들에게 똑같은 개수로 나누어 줄 때 인당 몇 개를 가질 수 있는지, 그리고 남는 연필은 몇 개인지에 대한 코드를 작성 후  Main 클래스로 실행 결과를 text 변수에 담아 리턴하여 출력하시오.

 

OperatorEdu.java

public static String signOperatorSample20(int pencils, int students) {

    String text = null;

    text = "인당 가질 수 있는 개수 : ";
    text += (pencils / students);
    text += " 남은 연필 개수 : ";
    text += (pencils % students);

    return text;
}

 

Main.java

String text = OperatorEdu.signOperatorSample20(534, 30);
System.out.println(text);

 

 

☆ 예제2

scanner 클래스를 활용하여 문자열 타입으로 각 150, 324의 데이터를 입력받고 int 형으로 캐스팅 후 삼항 연산자를 활용하여 324의 값이 150보다 크다면 1, 아니면 0을 출력하는 코드를 작성하시오.

public static void signOperatorSample21() {
    Scanner scanner = new Scanner(System.in);

    System.out.println("----데이터 입력----");
    int a = Integer.parseInt(scanner.nextLine());
    System.out.println("첫번째 데이터 : " + a);
    int b = Integer.parseInt(scanner.nextLine());
    System.out.println("두번째 데이터 : " + b);

    int result = (b > a)? 1 : 0;
    System.out.println(result);

}

 

 

 

Main.java

OperatorEdu.signOperatorSample14();
OperatorEdu.signOperatorSample15();
OperatorEdu.signOperatorSample17();
OperatorEdu.signOperatorSample18();
OperatorEdu.signOperatorSample19();

String text = OperatorEdu.signOperatorSample20(534, 30);
System.out.println(text);

OperatorEdu.signOperatorSample21();

 

 

 

 

--결과--