1. 연산자의 종류
연산자는 필요로 하는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분된다.
*예시
단항 연산자는 피연산자가 하나인 연산자이다. 부호연산자(+, -), 증감 연산자 (++, --)
논리 부정 연산자(!)가 이에 해당한다.
이항 연산자는 피연산자가 2개인 연산자를 뜻하며, 여기에는 산술 연산자, 문자열 결합 연산자, 비교 연산자, 논리 연산자, 대입 연산자 등이 있다.
산술 연산자
산술 연산자는 단순 계산을 하는 연산자들이다. 단, 소수점 이하의 값을 얻으려면
타입을 double 또는 float으로 지정해줘야 한다.
문자열 결합 연산자
문자열 결합 연산자는 두 문자열을 서로 연결시켜주는 역할을 한다.
*예시
String str1 = "JAVA";
String str2 = str1 + "공부";
// 출력결과 JAVA공부
비교 연산자
내가 생각했을 때 가장 중요하고 익숙해져야하는 연산자라고 생각한다. 숫자 관련 로직을 짜야할 때 반드시 사용했던 것 같다. 두 값이 같은지 검사하거나, 어느 한쪽이 크고 작은지를 검사하기 때문에 breake 조건을 걸거나 for문이 끝나는 조건을 걸기 용이하다.
*아래는 이중 for문과 비교 연산자를 이용해서 만든 구구단 예시이다.
public static void main(String[] args) {
int i = 0;
int k = 0;
for (i = 2; i<=9; i++){
for (k = 1; k<=9; k++){
System.out.printf("%d X %d = %d\n", i, k,i*k);
}
}
// 출력 결과
2 X 1 = 2
2 X 2 = 4
.
.
.
.
.
9 X 9 = 81
내 머릿속에서 정리를 해봤을 때 논리 곱은 "~이면서 ~ 이다"로 읽고 논리 합은 "또는"으로 읽으면 헷갈리지 않고 편하게 로직을 짤 수 있었던 것 같다.
대입 연산자
대입 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자 변수에 저장한다.
우리가 코딩하면서 초반에 접한 변수 선언에도 쓰인다.
복합 대입 연산자
(+=,-+.....^=) 등이 있는데 단순히 생각해서 오른쪽에 있는 피연산자를 왼쪽 피연산자에 산술해 저장하다는 뜻이다.
삼항 연산자는 3개의 피연산자를 필요로 하는 연산자이다. 삼항 연산자는 ? 앞에 조건에 따라 참 거짓을 판단해서 결과값이 다르기 때문에 조건 연산식이라고 부르기도 한다.
삼항 연산식 사용법
*예시
int score = 90;
char = grade = (score > 90) ? 'A' : 'B';
// 연산 결과
B
score 변수가 90보다 크지 않기 때문에 B가 나온다.
삼항 연산자는 대부분의 상황에서 if문으로 대체가 가능하기 때문에 사용할 일이 그렇게 많지는 않을 것 같다. 단순한 조건식이 필요할 때에 if문 대신에 사용하면 코드 길이가 줄어드는 장점이 있을 것이다.