연산자
연산자란 하나의 값 또는 여러 개의 값을 피연산자로 하여 새로운 값을 만들어내는 기호를 의미한다
산술연산자
- 사칙연산에 사용되는 연산자(+, -, *, /)와 나머지 연산자(%)가 존재
- 나눗셈 연산자와 나머지 연산자를 사용할 떄는 우항에 0이 위치할 수 없음
- 나눗셈 연산자를 사용할 때, 좌항과 우항이 모두 int형이면 그 결과도 int형으로 소수점 이하 값은 버려짐
- 나눗셈 연산자를 사용할 때, 좌항이나 우항 중 실수 타입의 값이 있다면 실수 타입이 아닌 값도 실수 타입으로 자동 형변환되며 결과적으로 소수점이 버려지지 않은 결과값으로 반환
연산자 | 기능 | 예시(int) | 결과값 |
---|---|---|---|
+ (덧셈 연산자) | 두 항의 값을 더한 값을 반환한다 | 7 + 4 | 11 |
- (뺼셈 연산자) | 좌항의 값에서 우항의 값을 뺀 값을 반환한다 | 7 - 4 | 3 |
* (곱셈 연산자) | 두 항의 값을 곱한 값을 반환한다 | 7 * 4 | 28 |
/ (나눗셈 연산자) | 좌항을 우항으로 나눈 값을 반환한다 | 7 / 4 | 1 |
% (나머지 연산자) | 좌항을 우항으로 나눈 값의 나머지를 반환한다 | 7 % 4 | 3 |
증감연산자
증감연산자는 전위형과 후위형으로 구분된다
// 전위형 증감연산자 : 증감 연산을 먼저 수행한 후, 그 결과값을 적용
int value1 = 1;
int prefix = ++value1;
// 후위형 증감연산자 : 기존의 값을 먼저 적용시킨 후, 증감 연산을 수행
int value2 = 1;
int postfix = value2++;
복합 대입 연산자
대입 연산자와 산술 연산자를 조합하여 활용할 수 있다
// value1 ~ 5의 값을 모두 10이라고 가정
value1 += 3; // value1 -> 13
value2 -= 3; // value2 -> 7
value3 *= 3; // value3 -> 30
value4 /= 3; // value4 -> 3
value5 %= 3; // value5 -> 1
비교 연산자
boolean 타입으로 평가될 수 있는 조건식에 사용된다
- 대소 비교 연산자
- 대소 비교 연산자는 boolean을 제외한 나머지 기본 타입에 모두 사용 가능
대소 비교 연산자 | 결과 |
---|---|
5 > 3 | true |
5 <= 3 | true |
3 > 2 | true |
2 >= 3 | false |
- 등가 비교 연산자
- 모든 타입에 사용할 수 있는 연산자로 두 항의 값이 동등한지의 여부를 판단할 때 사용
- 기본 타입과 참조 타입 간에는 등가 비교 연산자 사용 불가
등가 비교 연산자 | 결과 |
---|---|
5 == 3 | false |
5 == 5 | true |
3 != 2 | true |
3 != 3 | false |
- 논리 연산자
- 논리 연산자는 AND 연산자(&&), OR 연산자(||), NOT 연산자(!)를 포함하며 모두 boolean 타입으로 반환
- AND 연산자(&&)
- 피연산자 두 개가 모두 true일 때 true를 반환
- 피연산자 두 개 중 하나라도 true가 아니면 false를 반환
- OR 연산자(||)
- 피연산자 두 개 중 단 하나라도 true면 true를 반환
- 피연산자가 모두 false인 경우에만 false를 반환
- NOT 연산자(!)
- true와 false를 반대로 바꾸는 연산자
연산자 우선순위
- 괄호 / 대괄호
(), [] - 부정 / 증감 연산자
!, ~, ++, - - 곱셈 / 나눗셈 연산자
*, /, % - 대소 비교 연산자
<, <=, >, >= - AND 연산자
&& - OR 연산자
|| - 조건 연산자
?: - 대입 / 할당 연산자
=, +=, -=, /=, %=
콘솔 입출력(I/O)
프로그래밍을 하면서 변수가 담긴 값을 확인해야할 때 콘솔에 출력할 수 있다
- 출력하기 : System.out.print()
// 소괄호 안의 내용을 출력하고 줄바꿈을 하지 않음
System.out.print("Hello Mason");
System.out.print("Mason" + "Lee");
System.out.print(3 + 8);
System.out.print(2022 + "Year");
- 출력하고 줄 바꾸기 : System.out.println()
// 소괄호 안의 내용을 출력하고 줄바꿈
System.out.println("Hello Mason");
System.out.println("Mason" + "Lee");
System.out.println(3 + 8);
System.out.println(2022 + "Year");
- 형식대로 출력하기 : System.out.printf()
// 소괄호 안의 지시자 형식에 맞춰 내용을 출력
System.out.printf("%s%n", "Hello Mason");
System.out.printf("%s%n", "Mason" + "Lee");
System.out.printf("&d&n", 3 + 8);
System.out.printf("올해는 %s 입니다.", 2022 + "Year");
System.out.printf("제 이름은 %s%s입니다.", "Mason", "Lee");
지시자 | 출력 포맷 |
---|---|
%d | 불리언 |
%b | 10진수 |
%o | 8진수 |
%x, %X | 16진수 |
%c | 문자 |
%s | 문자열 |
%n | 줄바꿈 |
'Java' 카테고리의 다른 글
Java 객체지향 프로그래밍 기초 - 1 (0) | 2023.04.16 |
---|---|
Java 기초 - 5 (0) | 2023.04.16 |
Java 기초 - 4 (0) | 2023.04.16 |
Java 기초 - 2 (0) | 2023.04.16 |
Java 기초 - 1 (0) | 2023.04.16 |