[혼공자][week1] Day4 연산자,, 난 못산자

Ida·2025년 1월 14일
0

혼공자

목록 보기
4/20

공부를 미루지 말자.
더 간결한 코딩하기

03-1 연산자와 연산식

연산식
x + y

연산자: +
피연산자: x, y

1. 연산자의 종류

  • 연산식은 반드시 하나의 값만 출력
  • 연산식의 값은 result 변수에 저장

int result = x + y;
boolean result = (x + y) > 5;

2. 방향과 우선순위

  • 단항 > 이항 > 삼함
  • 산술 > 비교 > 논리 > 대입
  • 단항, 부호, 대입 연산자의 연산의 방향은 오른쪽에서 왼쪽
  • 복잡한 연산식에서 괄호()로 우선순위 정하기
[연산자 우선순위] (DESC)

(단항)
증감, 부호, 논리
	++, --, +, -, !

(이항)
산술
	*, /, %
	+, -
비교
	<, >, <=, >=, instanceof
    ==, !=

(삼항)
논리
	&
    ^
    |
    &&
    ||  
조건
	?:
    
대입
	=, +=, -=, *=, /=, %=

03-2 연산자 종류

1. 단항 연산자

부호 연산자(+, -), 증감 연산자(++, --), 논리 부정 연산자(!)

부호연산자

  • 결과값은 int타입, int타입 변수에 저장해야 함.
// 잘못된 코딩
byte b = 100;
byte result = -b;		// 컴파일 에러


// 올바른 코딩
byte b = 100;
int result = -b;

부호연산자 (손코딩)

부호연산자

2. 증감연산자

변수 값을 1증가(++) or 1감소(--) 시키는 연산자

int x = 1;
int y = 1;

int result1 = ++x + 10;
int result2 = y++ + 10;

result1 = 12: 변수 x값 1증가 후 산술 연산
result2 = 11: 산술 연산 진행 후 변수 y값 1 증가

증감 연산자 (손코딩)

증감연산자

3. 논리 부정 연산자

!

  • true -> false, false -> true로 변경 boolean 타입에서만 사용

손코딩

논리부정연산자

4. 이항 연산자

산술 연산자, 문자열 결합 연산자, 비교 연산자, 논리 연산자, 대입 연산자 등

산술연산자 (손코딩)

산술연산자

  • char 타입(정수타입) 산술 연산 가능. 단, int타입으로 변환되어 결과도 int
char c2 = 'A';
char c3 = c2 + 1;

컴파일 에러 발생. 1이 int 타입이기 때문에 c2가 int 타입으로 변환되어 계산됨. 컴파일 에러 발생. int 타입 변수에 저장해야 올바른 코딩임.

char 산술 연산

문자 결합 연산자

+

손코딩

문자결합연산자

비교 연산자

대소, 동등을 비교해 true or false 산출

손코딩

비교연산자1

  • double과 float을 비교하면 false 산출.
  • 0.1f은 0.1의 근사값으로 표현되기 때문에 더 큰 값이 되어버림.
  • 피연산자 모두 float 타입으로 변환하거나 정수로 변환해서 비교해야 됨.

비교연산자2

논리 연산자

&&, &, ||, |, ^, !

  • &&, &
    AND, 피연산자 모두 true면 결과는 true
  • ||, |
    OR, 피연산자 중 하나라도 true면 결과는 true
  • ^
    XOR, 피연산자 중 하나는 true, 다른 하나는 false이면 결과는 true
  • !
    NOT, 피연산자의 논리값을 바꿈. true면 false, false면 true

손코딩

논리 연산자

대입 연산자

  • 오른쪽 피연산자의 값을 왼쪽 피연산자인 변수에 저장
  • 연산 진행 방향은 오른쪽에서 왼쪽

손코딩

대입 연산자

5. 삼항 연산자

?:

  • ? 앞의 조건식에 따라 콜론 앞뒤의 피연산자 선택
    조건식 ? 조건식이 true일때 : 조건식이 false일때;
int score = 95;
char grade = (score > 90) ? 'A' : 'B';

score=95로 조건식에서 true, grade에 저장되는 연산 결과는 'A'

  • 삼항 연산자 이용하면 if문을 효율적으로 작성 가능

손코딩

삼항연산자

확인문제

9번

  • 내 답안
    03-2 9번
  • 답안지
    답안지
profile
나는 이다이다.

0개의 댓글

관련 채용 정보