자바의 연산자에 대해서 공부하는 시간을 가졌다.
많은 연산자 중 파이썬이나 C랑 조금씩 달랐던 개념에 대해서만 정리를 했다.
대입 연산자와 산술 연산자
대입 연산자는 단순하게 변수에 값을 저장할 때 사용하는 연산자이다. 좌측과 우측의 자료형이 동일할 때 대입 연산자 사용이 가능하다. 다른 현 간에 대입 연산자를 사용하려면 "형 변환"에 대해서 공부가 필요하다.
//대입 연산자
int a = 7;
System.out.println("\"int a = 10;\"을 수행한 후 a : " + a);
산술 연산자의 종류에는 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산자가 있다. 아래 예제 코드와 주석을 참고하면 이해가 쉬울 것이다.
//덧셈 연산자
int b = 13;
System.out.print("\"a + b\"를 출력하면 : ");
System.out.println(a + b);
String c = "13";
System.out.print("\"a + c\"를 출력하면 : ");
System.out.println(a + c);
//같은 덧셈 연산자여도 결과가 다르게 출력됨.
//뺄셈 연산자
System.out.print("\"a - b\"를 출력하면 : ");
System.out.println(a - b);
//곱셈 연산자
System.out.print("\"a * b\"를 출력하면 : ");
System.out.println(a * b);
//나눗셈 연산자 - 몫을 반환하는 연산자 라고 생각
System.out.print("\"a / b\"를 출력하면 : ");
System.out.println(a / b);
//나머지 연산자
System.out.print("\"a % b\"를 출력하면 : ");
System.out.println(a % b);
논리 연산자
논리 연산자는 비교 연산자를 통해 나오는 결과(true/false)에 대한 논리 조합이며, AND, OR, NOT 세 가지를 사용할 수 있다. AND는 "&&", OR는 "||", NOT은 "!"연산자를 통해 사용한다.
*비교 연산자는 타 언어와 동일하기 때문에 따로 정리를 하지 않았다!
//논리연산자
//AND연산
System.out.println(true && true);
System.out.println(true && false);
//OR연산
System.out.println(false || false);
System.out.println(true && false);
//NOT연산
System.out.println(!true);
System.out.println(!false);
파이썬에서는 논리 연산자를 수행할 때 알파벳 그대로 "and", "or", "not"으로 표기했었는데 오랜만에 써 보니까 새로운 느낌이었다. 다른 사람들도 충분히 헷갈릴 수 있다고 생각해서 한번 정리해봤다.
비트 연산자
알고리즘 문제를 풀다 보면 가~끔 비트 연산자가 필요할 때가 있다. 아래 코드를 실행시켜보면서 사용법을 숙지해두는 것을 추천한다.
//비트연산자
//<< 왼쪽 시프트연산자
System.out.println(Integer.toBinaryString(0b11011111<<2));
//>> 오른쪽 시프트연산자
System.out.println(Integer.toBinaryString(0b11011111111111111111111111111111>>1));
//>>> 논리 오른쪽 시프트연산자
System.out.println(Integer.toBinaryString(0b11011111111111111111111111111111>>>1));
*구름 edu의 "바로 실행해보면서 배우는 JAVA (자바)"을 수강 후 정리한 내용입니다.
소스코드는 깃허브 저장소를 참고! (Java언어 외 다양항 프로그래밍 예제도 볼 수 있다.)
'Computer_Language > Java' 카테고리의 다른 글
[Java] 6. 자바의 함수(메소드)와 오버로딩 (0) | 2019.12.23 |
---|---|
[Java] 5. 자바의 반복문 (0) | 2019.12.20 |
[Java] 4. 자바의 조건문과 선택문 (0) | 2019.12.19 |
[Java] 2. 자바의 기본형 자료형 (0) | 2019.12.19 |
[Java] 1. 자바에 대한 기본적인 지식 (0) | 2019.12.19 |