논리연산자
System.out.println((5 > 3) || (1 > 3));
괄호 안에 있는 두 연산자를 논리연산자를 이용해 비교할 수 있다.
boolean flag = true;
System.out.println(!flag);
선언된 불리언 변수 앞에 ! ( NOT ) 을 붙여서 결과를 바꿀 수 있다.
System.out.println(!(5 == 5));
괄호 안에 있는 연산 앞에 ! ( NOT ) 을 붙여서 결과를 바꿀 수 있다.
대입연산자
아래 두 식의 차이점은 val 선언 시에 b 앞에 -- 가 붙나 뒤에 -- 가 붙나 이다.
int a = 10;
int b = 10;
int val = ++a + b--; // 21
위는 val 선언 시에 a 가 11, b 가 10 으로 결과가 21 이 된다.
21로 나오고 나서 b 가 1 감소된 9로 바뀐다.
int a = 10;
int b = 10;
int val = ++a + --b; // 20
위는 val 선언 시에 a 11, b 9 로 먼저 바뀌고 연산이 들어간다.
결과로 20 이 나온다.
기타연산자
(1) 형변환 연산자
int intNumber = 93 + (int) 98.8; // 93+98
double doubleNumber = (double) 93 + 98.8;
(2) 삼항연산자
int x = 1;
int y = 2;
String s = ( x != y ) ? "오답" : "정답";
x 와 y 의 비교연산자를 보고 맞으면 : 왼쪽 값이 변수 s , 아니면 : 오른쪽 값이 변수 s 안에 들어간다.
연산자 우선순위
비트연산
컴퓨터의 가장 작은 단위인 Bit이기 때문에 연산중에서 Bit 연산이 제일 빠름
<<(왼쪽으로 자릿수옮기기), >>(오른쪽으로 자릿수옮기기)
// 비트 연산
// 참고, 3의 이진수값은 11(2) 입니다. 12의 이진수값은 1100(2) 입니다.
// (2) 표기는 이 숫자가 이진수값이라는 표식 입니다.
System.out.println(3 << 2);
// 3의 이진수값인 11(2) 에서 왼쪽으로 2번 옮겨져서 1100(2) 인 12값이 됩니다.
System.out.println(3 >> 1);
// 3의 이진수값인 11(2) 에서 오른쪽으로 1번 옮겨져서 1(2) 인 1 값이 됩니다.
'컴퓨터 프로그래밍 > Java' 카테고리의 다른 글
[Java] 배열 (2) | 2024.07.24 |
---|---|
[Java] 조건문, 반복문 ( 새로 알게된 내용 정리 ) (0) | 2024.07.23 |
[Java] 레시피를 입력, 출력하는 프로그램을 만들어보며 복습하기 ( + ArrList 사용해보기, 입력버퍼 비우기) (1) | 2024.07.23 |
[Java] 변수 ( 새로 알게된 내용 정리 ) (6) | 2024.07.22 |
[Java] 시작 기본 예시 코드 분석해보기 (0) | 2024.07.22 |