그래도 다행인게 블로그에 하나하나 차근차근 정리해가면서
내 머릿속에서도 복습도 되고 정리가 되는 느낌이라 다행이다⭐️ 2편에서 이어지는 내용입니다 ⭐️
안봤으면 보고 와줘요
- 프로그램에서 연산을 수행하기 위해서 사용되는 특수기호들이다.
종류가 다양하게 있는데 아래에서 하나씩 설명하겠다.
- 변수에 숫자나 문자열 등의 자료를 입력하거나 연산 결과를 다른 변수에 할당한다.
- 더하기(+), 빼기(-), 곱하기(*), 나눗셈의 몫(/), 나머지 (%)
- 10 나누기 3을 계산할 때, 수학에서는 몫이 3, 나머지가 1 이라고 계산이 된다.
- Java에서는 10 / 3 🟰 나눗셈의 몫만을 취해서 결과값은 "3" 이 출력됨.
- 10 % 3 🟰 나눗셈의 나머지만을 취해서 결과값은 "1" 이 출력됨.- 모든 수는 0으로 나눌 수 없다
- 변수에 대한 연산 결과를 다시 자기 자신에게 적용하는 경우 사용
- 다시 자기 자신에게 대입하고자 하는 경우의 약식 표현이다.
찾아보니 연산자는 피연산자 수에 따라 단항/이항/삼항으로 나눠진다고 한다
int x = 100;
x = x +5;
// 이걸 약식으로 표현하면 아래와 같이 된다
int x = 100;
x += 5;
단항 연산자는 모든 사칙 연산자에 표현 가능하다.
+=, -+, *=, /=, %= 등등
- 특정 변수에 저장되어 있는 값을 1씩 증가, 감소 시킬 경우 사용
- 단항 연산자로 표현할 수 있는 식에서 계산 대상 값이 1인 경우,
덧셈과 뺄샘에 대해서는 다시 한번 축약할 수 있다.
// 덧셈의 경우
x = x + 1;
x += 1;
x++;
++x;
// 뺄셈의 경우
x = x - 1
x -= 1;
x--;
--x;
- 증감 연산자는 그 자체가 다른 연산식의 피연산자로 사용될 수 있다.
이 때, 증감 연산자의 표시 위치에 따라 결과가 서로 다르게 적용된다.
- x++의 경우
증감연산자가 뒤에 표시되는 경우 현재의 x 값을 먼저 수식에 적용,
그 이후 x에 대한 1 증가 처리를 한다.
int a = 100;
int x = 1;
int y = a + x++; // 100 + 1
System.out.println(y); // y:101, x :2
System.out.println(x);
// x의 값인 1을 먼저 수식 y에 대입하고, 그 이후 x값을 1 증가시켜 2로 출력함.
- ++x의 경우
증감연산자가 앞에 표시된 경우
먼저 현재 x의 값을 1증가 시킨 후, 그 결과를 수식에 적용한다.
int a = 100;
int x = 1;
int y = a + ++x;
System.out.println(y); // y:102, x : 2
// x의 값인 1을 먼저 1 증가 시킨 후 수식 y에 대입
- 두 개의 변수값 간의 관계를 비교하여
참(true)이나 거짓(false)의 결과를 반환한다.- 주어진 값이 참인지 거짓인지 판별 가능하므로,
연산 결과는 boolean 값으로 생성된다.
의미 | 부호 |
---|---|
같다 | == |
다르다 | != |
초과 | > |
이상 | >= |
미만 | < |
이하 | <= |
Table 예쁘게 만드는 법 아시는 분 알려주세요 제발
int x = 100;
int y = 1;
boolean r= x 비교연산자 y;
// boolean 을 사용했으니 결과는 true 나 false 둘 중 하나로 나온다.
- 좌변과 우변을 논리 연산하고
참일때는 true, 거짓일때는 false 값을 반환한다.- 두개 이상의 비교 연산자의 결과나 boolean 값에 대해
추가로 "AND"나 "OR"연산을 수행하여 결과를 얻는다.
- AND의 의미를 갖는 &&
"&&" 연산자 두 개의 boolean값을 비교하여
모두 true인 경우에만 결과값이 true
- OR의 의미를 갖는 ||
|| 연산자는 두 개의 boolean값을 비교하여
둘중 하나라도 true인 경우 결과값 true이다.
int a = 10;
int b = 20;
boolean x = a < b || a != b; // -> true
boolean y = a == b && a >= b ; // -> false
boolean z = !(a < b || a != b); // -> false
System.out.println(x);
System.out.println(y);
System.out.println(z);
// !true -> false
// !false -> true
- 변수의 자료형이 변환되는 것을 의미
- 특정 자료형의 값을 다른 자료형의 변수에 대입 가능
- 암묵적 형변환과 명시적 형변환의 두 종류가 있다.
- 암묵적 형변환은 서로 다른 자료형을 연산 혹은 대입 하는 경우,
java 컴파일러가 자료형을 통일한다. (알아서 해줌)- 이 과정에서 일어나는 형변환을 암묵적 형변환이라고 한다.
int a = 100; // 정수형
float b = a; // 정수형을 실수형에 대입
- 암묵적 형변환은 어떤 변수가 더 큰 범위의 변수로 대입 가능함을 의미.
- 데이터의 손실을 감수하더라도, 강제로 형변환 시키는 형태
자료형 b = (변환할 자료형)a;
double a = 3.14d;
int b = (int)a; // 3
// 실수형을 정수형으로 변환하는 경우, 소숫점 이하 자리는 버려짐
// 👆 데이터의 손실을 감수하고 강제로 형 변환 시킨 좋은 예 👆