Java

[Java] 연산자

dalooong 2023. 7. 7. 11:29

산술 연산자 (일반 연산, 우선순위 연산, 변수 이용 연산, 증감 연산)

package chap_02;

public class _01_Operator1 {
    public static void main(String[] args) {
        // 산술 연산자
        // 일반 연산
        System.out.println(4 + 2);
        System.out.println(4 - 2);
        System.out.println(4 * 2);
        System.out.println(4 / 2);
        System.out.println(5 / 2);
        System.out.println(2 / 4); //정수형 소수점들은 제외하고 출력됨

        System.out.println(4 % 2); //나머지 연산->4를 2로 나눈 나머지 출력
        System.out.println(5 % 2);

        // 우선순위 연산, 먼저 할 연산이 있을 경우 괄호 사용()
        System.out.println((2 + 2) * 2);
        System.out.println(2 + (2 * 2));

        // 변수를 이용한 연산
        int a = 20;
        int b = 10;
        int c;

        c = a + b;
        System.out.println(c);
        c = a - b;
        System.out.println(c);
        c = a * b;
        System.out.println(c);
        c = a / b;
        System.out.println(c);
        c = a % b;
        System.out.println(c); //나머지 없으므로

        // 증감연산 ++, --
        int val;
        val = 10;
        System.out.println(val); // 10
        System.out.println(++val); //11
        System.out.println(val); //11

        val = 10;
        System.out.println(val); //10
        System.out.println(val++); //10 문장을 실행할 때에는 10이기 때문에 10출력
        System.out.println(val); //11 그뒤에 11 출력

        val = 10;
        System.out.println(val); //10
        System.out.println(--val); //9
        System.out.println(val); //9

        val = 10;
        System.out.println(val); //10
        System.out.println(val--); //10
        System.out.println(val); //9

        //예제) 은행 대기 번호표
        int waiting = 0;
        System.out.println("대기 인원 : " + waiting++); //0
        System.out.println("대기 인원 : " + waiting++); //1
        System.out.println("대기 인원 : " + waiting++); //2
        System.out.println("총 대기 인원 : " + waiting); //총 대기인원 3
    }
}

대입연산

package chap_02;

public class _02_Operator2 {
    public static void main(String[] args) {
        // 대입 연산자
        int num = 10; //num에 10 대입
        num = 10 + 2;
        System.out.println(num); //12

        num = num - 2;
        System.out.println(num); //10

        num = num * 2;
        System.out.println(num); //20

        num = num / 2;
        System.out.println(num); //10

        num = num % 2;
        System.out.println(num); //0

        //복합 대입 연산자
        num = 10;
        num += 2;
        System.out.println(num); //똑같은 변수를 사용할 떄 사용 //12

        num -= 2;
        System.out.println(num); //10

        num *= 2;
        System.out.println(num); //20

        num /= 2;
        System.out.println(num); //10

        num %= 2;
        System.out.println(num); //0
    }
}
  1. 비교연산자
package chap_02;

public class _03_Operator3 {
    public static void main(String[] args) {
        // 비교 연산자(5가 3보다 큰지를 비교하는 것)
        System.out.println(5  > 3); //5는 3보다 크다, 맞으면 true
        System.out.println(5 >= 3); //5가 3보다 크거나 같은지 true
        System.out.println(5 >= 5); //5는 5보다 크거나 같다 true
        System.out.println(5 >= 7); //5가 7보다 크거나 같다 false
        System.out.println(5 < 3); //false
        System.out.println(5 <= 3); //false
        System.out.println(5 == 5); //두 값이 똑같은지? true
        System.out.println(5 == 3); //false
        System.out.println(5 != 5); //5는 5와 같지 않은지 != 같지 않다 false
        System.out.println(5 != 3); //true\\
    }
}

비교 연산자 : ‘ == ’ 같다, ‘ ! =’ 같지 않다

 

논리연산자, 논리부정연산자

package chap_02;

public class _04_Operator4 {
    public static void main(String[] args) {
        //논리 연산자
        boolean 김치찌개 = true;
        boolean 계란말이 = true;
        boolean 제육볶음 = true;
        System.out.println(김치찌개 || 계란말이 || 제육볶음); //김치찌개 or 계란말이 or 제윢볶음, 하나라도 true이면 true
        System.out.println(김치찌개 && 계란말이 && 제육볶음); //김치찌개 and 계란말이 and 제윢볶음, 하나라도 false면 false

        //AND 연산(두개 다 참이면 true)
        System.out.println((5 > 3) && (3 > 1)); // 5가 3보다 크고, 3은 1보다 크다 true
        System.out.println((5 > 3) && (3 < 1)); //false

        //OR 연산(둘중에 하나라도 참이면 true)
        System.out.println((5 > 3) || (3 > 1)); //5가 3보다 크거나, 3이 1보다 크다
        System.out.println((5 > 3) || (3 < 1)); //true
        System.out.println((5 < 3) || (3 < 1)); //false

        //단, 연속 비교는 불가함 1 < 3 < 5 = 오류, (1 < 3) && (3 < 5) 이렇게 적어야함

        //논리부정연산자 (앞에 느낌표 붙이면 반대값이 출력됨)
        System.out.println(!true); //true의 반대값 출력, false
        System.out.println(!false); //true
        System.out.println(!(5 == 5)); //true의 반대 출력
        System.out.println(!(5 == 3)); //true출력
    }
}

 

삼항연산자

package chap_02;

public class _05_Operator5 {
    public static void main(String[] args) {
        // 삼항 연산자
        // 결과 = (조건) ? (참의 경우 결과값) : (겨짓의 경우 결과값)
        int x = 3;
        int y = 5;
        int max = (x > y) ? x : y; //x가 y보다 크면 x 출력
        System.out.println(max);

        int min = (x < y) ? x : y; //x가 y보다 작으면 x출력, 아니면 y출력
        System.out.println(min);

        x = 4;
        y = 3;
        boolean b = (x==y) ? true : false;
        System.out.println(b);

        String s = (x != y) ? "달라요" : "같아요";
        System.out.println(s); 
    }
}

 

Quiz_02

package chap_02;
public class _Quiz_02 {

    public static void main(String[] args) {
    int height = 115;
    String result = (height >= 120) ? ("탑승가능합니다.") : ("탑승 불가능합니다.");
        System.out.println("키가 " + height + "cm 이므로 " + result);
        
    }
}