연산자

민범·2023년 12월 10일

Java -기본-

목록 보기
5/18

📌 연산자의 시작

  • +, -, *, /와 같이 계산을 수행하는 기호를 연산자라 한다.
  • 실무에서 자주 쓰는 기준으로 설명한다.

📌 산술 연산자

  • + (더하기): x + y 꼴에서 xy의 덥셈이다.
  • - (빼기): x - y 꼴에서 xy의 뺄셈이다.
  • * (곱하기): x * y 꼴에서 xy의 곱이다.
  • / (나누기): x / y 꼴에서 xy로 나눈 몫이다.
  • % (나머지): x % y 꼴에서 xy로 나눈 나머지이다.
  • 예)
    int a = 5;
    int b = 2;
a+b = 7;
a-b = 3;
a*b = 10;
a/b = 2;
a%b = 1;
  • 자바에서 같은 int형끼리 계산하면 결과도 같은 int형을 사용하기 때문에 a/b는 몫이 2 나머지가 1이기때문에 소수점을 이하를 포함하지 않는 int형의 결과값이 나온다.

주의! 0으로 나누기

  • 5/0과 같이 숫자는 0으로 나눌수 없다.(수학에서 허용치 않음) 이경우 프로그램에 오류가 발생한다!

📌증감 연산자

  • ++--로 표현되며, 이들은 변수의 값을 1만큼 증가시키거나 감소시킨다.
  • EX)
int a = 3;
a++; // a = a+1과 같으므로 4
a--; // a = a-1과 같으므로 3

📌전위, 후위 증감 연산자

  • 증감 연산자는 피연산자 앞에 두거나 뒤에 둘 수 있으며, 연산자의 위치에 따라 연산이 수행되는 시점이 달라진다.
  • ++a: 증감 연산자를 피연산자 앞에 둘 수 있다고 해서 전위 증감 연산자라고 한다. 변수를 사용하기전에 증감을 하고 변수를 사용한다.
  • a++: 증감 연산자를 피연산자 뒤에 둘 수 있다고 해서 후위 연산자라 한다. 변수를 사용하고 증감을 한다.
  • EX)
int a = 1;
int b = 0;
b = ++a; //a의 값을 먼저 증가시키고, 그 결과를 b에 대입
a = 1;
b = 0;
b = a++; // a의 현재 값을 b에 먼저 대입하고, 그 후 a의 값을 증가시킨다.

📌비교 연산자

  • 두 값을 비교하는데 사용한다. 주로 조건문과 함께 사용한다.
  • 관계 미만(<): (좌 → 우) x < y 꼴에서 x가 y 미만인가에 대한 여부이다.
  • 관계 초과(>): (좌 → 우) x > y 꼴에서 x가 y 초과인가에 대한 여부이다.
  • 관계 이하(<=): (좌 → 우) x <= y 꼴에서 x가 y 이하인가에 대한 여부이다.
  • 관계 이상(>=): (좌 → 우) x >= y 꼴에서 x가 y 이상인가에 대한 여부이다.
  • 관계 동등(==): (좌 → 우) x == y 꼴에서 x와 y의 (스택) 값이 같은가에 대한 여부이다.
  • 관계 부등(!=): (좌 → 우) x != y 꼴에서 x와 y의 (스택) 값이 다른가에 대한 여부이다.(!는 반대라는 뜻이다)
  • 비교 연산자를 사용하면 참(true)또는 거짓(false)라는 결과값이 나온다.
  • 여기서 주의해야 할점은 ===은 다르다는 점이다.
  • =: 대입연산자 변수에 값을 대입한다.
  • ==: 동등한지 확인하는 비교 연산자
  • EX)
int a = 2;
int b = 3;
a == b; //false 같지 않다.
a != b; //true 값이 다르기때문
a > b; //false a는 b보다 크지 않다
a < b; //true a는 b보다 작다
a >= b; //false a는 b보다 크거나 같지 않다.
a <= b; //true a는 b보다 작거나 같다.

📌 문자열 비교

  • 문자열이 같은지 비교할려면 ==이 아닌 .equals()메서드를 사용한다.
String str1 = "문자열1`";
String str2 = "문자열2`";
boolean result1 = str1.equals(str2);//false 문자열 변수 비교
boolean result2 = str1.equals("문자열1")//true 문자열 변수, 리터럴 비교

📌 논리 연산자

  • 논리 연산자는 boolean형인 true,false를 비교하는데 사용한다.
  • &&(그리고): 두 피연산자가 모두 참이면 참을 반환, 둘중 하나라도 거짓이면 거짓 반환
  • ||(또는): 두 피연산자 중 하나라도 참이면 참을 반환, 둘다 거짓이면 거짓을 반환
  • !(부정):피연산자의 논리적 부정을 반환, 즉, 참이면 거짓을, 거짓이면 참을 반환
System.out.print(true && false); //false
System.out.print(true || false); //true
System.out.print(!true); //false
int a = 15;
boolean result = a > 10 && a< 20; // (a>10)(true) && (a<20)(true)
result = true;

📌 축약(복합) 대입 연산자

  • 산술 연산자와 대입 연산자를 한번에 축약해서 사용할 수 있는데, 이것을 축약(복합) 대입 연산자라 한다.
  • += -> i = i+3 -> i +=3
  • -= -> i = i-3 -> i -=3
  • *= -> i = i*3 -> i *=3
  • /= -> i = i/3 -> i /=3
  • %= -> i = i%3 -> i %=3
  • 연산과 대입을 한번에 축약해서 처리한다.
profile
웹 백엔드 개발자를 지향하고 있습니다.

0개의 댓글