본문 바로가기
JAVA/JAVA복습(멘토씨리즈 자바)

[JAVA복습] 03. 연산자

by ssunooo 2024. 7. 15.

 

1. 핵심 정리

 

연산자란?

수학적의미로 연산에 사용되는 기호

피연산자 : 연산되는 값, 자바에서는 연산되는 데이터

 

 

연산자 구분

연산자구분  종류 연산자 기능
단항 부호 +, -, *, /, % 사칙연산, 나머지 계산
증감 ++, -- 음수, 양수 부호
논리 ! 논리 부정
이항 논리 &, |, &&, || 논리곱, 논리합
문자열 + 문자열 연결
대입 =, +=, -=, *=, /=, %= 우변의 값을 좌변에 대입
비교 ==, !=, <, >, >=, <=, instanceof 값 비교
삼항 조건식 조건식 ? A : B 조건식 결과에 따라 A, B 선택

※ 논리 부정 연산자를 사용하더라도 그 사용한 곳에서만 적용될뿐 진짜 변수값이 반대로 바뀌어 저장되는 것은 아님

 

 

연산자 우선순위

우선순위 종류 연산자 연산 방향
높음














낮음
최우선 연산자 괄호((),[]) 다양
다항 연산자 증감(++, --), 부호(+, -), 비트(~), 논리(!) 단항
산술 연산자 산술(*, /, %) 이항
산술(+, -)
쉬프트(>>, <<, >>>)
비교 연산자 비교(<, >, <=, >=, instanceof) 이항
비교(==, !=)
논리 연산자 비트 논리(&, ^, |), 논리(&&, ||) 단항/이항
삼항 연산자 조건(?, :) 삼항
대입 연산자 대입(=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>=) 이항
콤마 연산자 콤마(,)  

 


 

2. 응용 문제

 

Q1. 다음 문장이 맞으면 O표, 틀리면 X표 하세요.

  1. 피연산자의 개수에 따라 연산자를 단항/이항/삼항으로 구분합니다.(O)
  2. 연산자는 우선 순위가 존재합니다.(O)
  3. 연산의 결과로 하나 이상의 값이 출력될 수 있습니다.(X)
  4. 논리 연산의 결과는 boolean으로 출력됩니다.(O)

 

Q2. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?


1
2
3
4
5
6
7
8
9
10
11
12
package section03;
 
public class PRACTICE_03_02 {
    public static void main(String[] args) {
        int x=613;
        
        System.out.println(++x);
        System.out.println(++x);
        System.out.println(x++);
        System.out.println(--x);
    }
}
cs

A2. Console)

614

615

615

615


 

Q3. 2개의 피연산자를 부호로 비교하여 그 부호 관계가 true인지 false인지 판별하는 연산자로 비교 연산자라고도 불리는

      연산자는 무엇입니까?

  1. 부호 연산자
  2. 증감 연산자
  3. 관계 연산자
  4. 대입 연산자

 

A3. 3


 

Q4. 다음과 같은 결과가 나오도록 코드를 수정해 보세요.


1
2
3
4
5
6
7
8
9
10
11
package section03;
 
public class PRACTICE_03_04 {
    public static void main(String[] args) {
        int a=300;
        int b=150;
        
        System.out.println(b/a);
    }
}
 
cs

Console)

0.5


A4.

int a=300;  , int b=150;  를 double로 바꾸면 몫이 0.5, 즉 실수로 나올 수 있다.

1
2
3
4
5
6
7
8
9
10
11
package section03;
 
public class PRACTICE_03_04 {
    public static void main(String[] args) {
        double a=300;
        double b=150;
        
        System.out.println(b/a);
    }
}
 
cs

 


 

Q5. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?


1
2
3
4
5
6
7
8
9
10
package section03;
 
public class PRACTICE_02_05 {
    public static void main(String[] args) {
        String a=(7>9)? "apple" : "banana";
        a+="juice";
        
        System.out.println(a);
    }
}
cs

A5. Console)

bananajuice

 

 

2024.07.15