Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 조건에 맞게 수열 변경하기 3
- 프로그래머스 자동커밋
- cocoapods 설치 오류
- 프로그래머스 최댓값 만들기(2)
- 프로그래머스 암호 해독
- 프로그래머스 n번째 원소까지
- 프로그래머스
- Til
- Error installing cocoapods
- 배열 만들기1
- array
- 프로그래머스 n의 배수 고르기
- Break
- 연산자
- 객체지향
- 스페인어
- swift
- 스파르타코딩캠프
- 프로그래머스 문자열 붙여서 출력하기
- 프로그래머스 조건에 맞게 수열 변경하기 3
- 문자열 붙여서 출력하기
- 프로그래머스 배열 만들기1
- 프로그래머스 주사위 게임1
- continue
- 스파르타 코딩클럽 내일배움캠프
- 프로그래머스 문자열 정렬하기 (1)
- 문자열 정렬하기 (1)
- 주사위 게임1
- n번째 원소까지
- ruby설치
Archives
- Today
- Total
dev._.note
[JAVA] 연산자(Operator) 본문
연산자(Operator) 란?
연산자(Operator)는 주어진 변수나 리터럴에 대해 연산을 수행하기 위한 것이다. 연산자에 의해 처리되는 대상을 피연산자(Operator)라고 한다.
연산자는 대입 연산자, 산술 연산자, 비트 연산자, 비교(관계) 연산자, 논리 연산자 등으로 분류할 수 있다.
연산자의 종류와 우선순위
단항연산자
증감연산자(++, --)
** 단독사용시 : 증감연산자를 단독으로 사용할때는 전위/후위 모두 같은 연산 결과를 가짐
예시)
a++ / ++a → 결과같음.
b-- / --b → 결과 같음.
--------------------------------------------------------------------------------------
** 다른 연산의 일부로 포함시 :
▪ 전위연산 : 자신의 연산을 우선 실행 후 다음 연산
예시)
int a = 10;
b = ++a;
System.out.println(a + ", " + b);
→ 결과 : 11, 11
▪ 후위연산 : 인접한 연산을 먼저 실행후 자신의 연산 실행
예시)
int a = 10;
b = a++; → 인접한 연산을 마치고 증감 (b에 a값을 먼저 대입 후 a값증가(++))
System.out.println(a + ", " + b);
→ 결과 : 11, 10
논리 부정 연산자(!)
논리값을 부정하여 반대 값으로 변경. 제어문을 활용할 때 많이 쓰임
true 를 false 로 false 를 true 로 변경하기 때문에 boolean 타입에만 사용가능
boolean a = true;
b =! a;
예제 1
public class Example {
public static void main(String[] args) {
boolean play = true;
System.out.println(play); // true
play = !play;
System.out.println(play); // false // !를 쓰면 반대로 부정
play = !play;
System.out.println(play); // true // !를 또 쓰면 false를 부정 true
}
}
예제 2
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
a++; // a = 11
b = (--a) + b; // a 9 + b 20 = 29
c = (a++) + (--b); // a 11 + b 28 = 39
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
결과 : 11, 29, 39
이항연산자
산술연산자( * , / , % )
*: 곱하기
/ : 나누기의 몫
% : 나누기의 나머지 값
예시)
int a = 10, b = 20, c = 0;`
c = a * b;
c = a / b; // 젯수가 0이면 에러
c = a % b;
%와 /의 차이
%는 좌항에서 우항을 나누고 남은 값 예) 5 / 2 = 2 에서 남은 값 1
산술연산자( + , - )
기본 수학에서 사용 더하기 빼기와 동일하고 연산의 우선순위도 동일
예시)
int a = 10, b = 20, c = 0;
c = a + b;
c = a - b;
비교연산자( > , < , >= , <= )
a > b ( a가 b보다 크다 )
a < b ( b가 a보다 크다 )
a >= b ( a가 b보다 크거다 같다 )
a <= b ( b가 a보다 크거나 같다 )
표현 :
if(a < b){ } (만약에 a가 b보다 작다면 실행)
a >= b ? a++ : b--;
for(int a = 0; a <= b; a++){ }
비교연산자( == , != )
제어문에서 데이터를 비교(조건식)할때 자주 쓰임 결과값은 논리값(true, false)
a == b : a와 b가 같으면 true
표현 :
if(a == b){ }
a == b ? a++ : b--;
-------------------------------------------------------------------------------
a != b : a와 b가 다르면 true
표현 :
if(a != b){ }
a != b ? a++ : b--;
논리연산자( && , || )
논리값 두 개를 비교하는 연산자로 제어문에서 많이 사용.
a && b → a, b 모두 true 일 때 true
a가 true 면 b도 검사
a가 false 면 b는 검사안함
-----------------------------------------------------
a || b → a, b 하나라도 true이면 true
a가 true 면 b는 검사안함
a가 false 면 b도 검사
삼항연산자
조건식을 이용하여 결과값에 따라 연산을 처리하는 방식
[ 조건식 ? true일때 실행코드 : false일때 실행코드 ]
예시) a = a < b ? a++ : a--;
이중 삼항 연산자도 가능
예시) a < b ? a-- : (b==0 ? a++ : b--);
비트연산자
자기자신과 연산한 결과를 자기자신에게 다시 대입
A += 10 : A = A + 10 이랑 같은 의미
A -= 10 : A = A – 10 이랑 같은 의미
A *= 10 : A = A * 10 이랑 같은 의미
A /= 10 : A = A / 10 이란 같은 의미
A %= 10 : A = A % 10 이란 같은 의미
증감연산이랑 비슷해 보이지만 증감(++,--)는 1씩 증가하지만
대입연산자는 원하는 값을 증가시키고 그 변수에 저장할 수 있다.
'Dev > JAVA' 카테고리의 다른 글
[JAVA] 배열(Array) (0) | 2023.02.19 |
---|---|
[JAVA] 제어문 (0) | 2023.02.18 |
[JAVA] 출력 메소드(Print Method) (0) | 2023.02.06 |
[JAVA] 상수 (Constant) (0) | 2023.02.06 |
[JAVA] 변수(Variable) (0) | 2023.02.06 |