본문 바로가기
진행중인 학습/자바의 정석_학습

자바의 정석_기초편 CHAPTER 3 中 [15 ~ 19] (230802)

by 트레비봄 2023. 8. 2.
728x90
자바의 정석_기초편 CHAPTER 3 中 [15 ~ 19] (230802)

3-15 .논리 연산자.

논리연산자는 ' && ' 과 ' || ' 가 있다.

' && ' (AND 결합) : 피연산자 양쪽 모두 true 이어야 true 를 결과로 얻는다.

' || ' (OR 결합) : 피연산자 중 어느 한 쪽이 true 이면, true를 결과로 얻는다.

x y x || y x && y
true true true true
true false true false
false true true false
false false false false

 

3-16. 논리 부정 연산자 ' ! '

-> 피연산자가 true 이면 false, false 라면 true 로 결과를 반환한다.

그냥 쉽게 말해 반대로 바뀌는 것..

 

어떤 값에 논리 부정 연산자를 반복적으로 적용하면, 참과 거짓이 차례대로 반복된다.

토글 버튼 형식처럼 논리적으로 구현 가능하다.

3-17. 조건 연산자.

조건식, 식1, 식2 모두 세 개의 피연산자를 필요로 하는 삼항 연산자.

삼항 연산자는 조건 연산자 하나 뿐이다.

형태는 이렇다.

조건식 ? 식1 : 식2

result = ( x > y ) ? x : y; // 괄호 생략 가능하다.

설명하자면 조건식에 대한 결과가 true 다. >> 식1. , 결과가 false 다 >> 식2.

3-18. 대입 연산자

대입 연산자변수와 같은 저장공간에 값 또는 수식의 연산결과를 저장하는데 사용된다.

이 연산자는 우측 피연산자의 값(식이면 평가값)을 왼쪽 피연산자에 저장한다.

그리고 그 저장된 값을 연산결과로 반환한다.

연산자들 중에서 가장 낮은 우선순위를 가지고 있기에 식에서 제일 나중에 수행, 연산 진행 방향이 우측에서 좌측이기에

예로 ' x = y = 3; ' 에서 ' y = 3 ' 이 먼저 수행, 그 다음에 ' x = y ' 가 수행된다.

 

lvaule (left value), rvalue (right value) : 말 그대로 좌측 값, 우측 값.

int i = 0;
3 = i + 3;
i + 3 = i;

2번줄. 에러가 발생한다. lvalue 가 값을 저장할 수 있는 공간이 아니기에.
3번줄도 에러. lvalue의 연산결과가 리터럴 (i+3 -> 0+3 -> 3)

final int MAX = 3; 
변수 앞에 키워드 final 을 붙이면 상수가 된다.
MAX = 10; 
에러발생. 상수(MAX)에 새로운 값을 저장할 수 없다.

이렇게 ' final ' 이라는 키워드를 붙이면 상수가 된다. 상수는 한번 저장된 값은 바꿀 수 없다.

3-19. 복합 대입 연산자.

대입 연산자는 다른 연산자(op) 와 결합하여 ' op= ' 와 같은 방식으로 사용 가능.

예로 ' i = i + 3 '은 ' i += 3' 처럼 표현 가능. 그리고 결합된 두 연산자는 반드시 공백없이 붙여 써야한다!!

 

230802 학습.

 

ps. 금요일에는 챕터 4를 한번에 다 해야겠다. 

진도를 보니까 객체지향 파트에서 시간을 많이 쓸 듯해서 좀 몰아서 해야할 듯??..

728x90