JAVA

[Java] 리터럴(Literal), 연산자

SangRok Jung 2022. 5. 30. 14:53
반응형

 

리터럴 (Literal)


Operand(피연산자) 를 규칙에 따라 연산하기 위한 명령어

변수에 넣는 데이터 값

 

 

- 문자 리터럴

작은 따옴표로 묶은 하나의 텍스트.

 

- 문자열 리터럴

큰 따옴표로 묶은 한글자 이상의 텍스트.

 

- 논리 리터럴

true와 false로 처리한다.

boolean type

 

 

 

 

Primitive type (원시형)


int, float, long, double

Type byte char short int float long double
Byte 1 2 2 4 4 8 8

 

 

 

 

 

 

 

 

연산자


- 부호 연산자

정수 또는 실수 앞에 붙일 수 있으며 변수 값의 부호를 유지하거나 바꾸기 위해 사용한다.

+ : 변수 값의 부호를 유지한다.

- : 양수는 음수로 음수는 양수로 바꾼다.

*부호 연산자의 산출 타입은 int 타입이 된다.

 

 

- 논리 부정 연산자

! : 피연산자가 true면 false 값을 산출, false면 true값을 산출한다.

 

 

 

- 비트 반전 연산자

~ : 정수 타입의 피연산자에게만 사용되며 피연산자들 2진수로 표현했을 때 0을 1로 1을 0으로 반전시킨다.

*비트 반전 연산자는 int 타입이 된다.

 

 

 

 

- 산술 연산자

피연산자들의 타입이 동일하지 않을 경우 피연산자들의 타입을 일치 시킨후 연산을 수행 시킨다.

 

 

 

 

- 문자열 연결 연산자

+ : 문자열을 서로 결합하는 연산자이다.

*왼쪽에서 오른쪽으로 연산이 진행됨으로 주의가 필요하다.

 

 

 

 

 

- 비교 연산자

boolean 타입인 true/false를 산출한다. 대소 연산자는 boolean 타입을 제외한 기본 타입에 사용할 수 있고 동등 연산자는 모든 타입에 사용될수 있다. 조건문 반복문에서 주로 이용되며 실행 흐름을 제어 할 때 사용한다.

 

 

 

 

 

 

 

- 논리 연산자

논리 연산자의 피연산자는 boolean 타입만 사용 할 수 있다.

&& (논리곱) : 피연산자가 모두 true일 경우에만 연산한다.

|| (논리합) : 피연산자 중 하나만 true 여도 연산한다.

^ (베타적 논리합) : 피연산자가 하나는 true이고 다른 하나가 false일 경우 연산한다.

! (논리 부정) : 피연산자의 논리값을 바꿈.

 

 

 

 

 

 

 

 

- 비트 연산자

비트 연산자는 데이터를 비트 단위(0, 1)로 연산한다. 실수 타입인 float과 double은 비트 연산을 할 수 없다.

&, |, ^, ~ 의 종류가 있고 &, |, ^ 연산자는 피연산자가 boolean 타입인 경우 일반 논리 연산자이고, 피연산자가 정수 타입일 경우에는 비트 논리 연산자로 사용된다.

* 비트 연산자는 피연산자를 int타입으로 자동 변환하여 연산을 수행하기 때문에 byte, short, char타입은 int 타입이 된다.

 

 

 

 

 

 

- 비트 이동 연산자

비트 이동 연산자는 정수 데이터의 비트를 좌측 또는 우측으로 밀어서 이동 시키는 연산을 수행한다.

a<<b : 정수a의 각 비트를 b만큼 왼쪽으로 이동 시킨다. (빈자리는 0으로 채워진다.)

b>>a : 정수a의 각 비트를 b만큼 오른쪽으로 이동 시킨다. (빈자리는 정수 a의 MSB와 같은 값으로 채워진다.)

a>>>b : 정수a의 각 비트를 b만큼 오른쪽으로 이동 시킨다. (빈자리는 0으로 채워진다.)

 

 

 

 

 

 

- 대입 연산자

오른쪽 피연산자의 값을 좌측 피연산자인 변수에 저장한다. 오른쪽 피연산자는 리터럴 및 변수, 그리고 다른 연산식이 올 수 있다.

변수 = 피연산자 : 우측 피연산자의 값을 변수에 저장한다.

* 대입 연산자는 모든 연산자들 중에서 가장 낮은 연산자 순위를 가지고 있다. 연산의 진행방향이 오른쪽에서 왼쪽으로 진행된다.

 

 

 

 

 

 

 

Short-Circuit Evaluation (Lazy Evalution)


논리 연산에서 연산의 효율을 높이기 위해 불필요한 연산을 생략하는 Mechanism(동작 방식)

 

반응형