연산자
: 수식과 결합하여 필요한 연산 동작을 수행하도록 하는 기호
할당 연산자
기호 : =
의미 : 우변의 값을 계산하여 좌변의 변수에 할당
* 좌변에는 반드시 변수만 와야한다.
int kk, tt, pp; // 정수형 변수 선언
kk = 456785; // kk 에 값 할당
tt = pp = kk ; // kk 에 저장된 값을 pp와 tt에 할당
산술 연산자
: 산술 연산을 수행하기 위한 연산자
기호 : +, -, *, /, % 등 을 이용하여 사칙연산
int x = 100, y = 200;
int addValue = x + y;
int subtractValue = x - y;
int multiValue = x * y;
int divValue = x / y;
int modValue = x % y;
-> 각각의 연산 결과를 변수에 저장
단항 연산자
: 오퍼랜드를 하나만 취하는 연산자
부호 연산자
-a (오퍼랜드의 값의 부호를 반대로 취함)
증가 및 감소 연산자
++a, a++, --a, a-- (값을 1만큼 증가시키거나 감소시킨다.)
전위형과 후위형
++a : 전위형 (a 값을 1만큼 증가한 다음 증가한 값을 사용)
a-- : 후위형 (a 값을 사용한 다음 1만큼 증가)
사용목적
산술 연산자보다 실행 속도가 빨라서 좋은 성능을 위해 사용됨.
int x = 100;
System.out.printf("x의 현재 값 = %d\n", (++x)); // 전위 증가 연산자인 경우
x = 200; // x를 200으로 초기화
System.out.printf("x의 현재 값 = %d\n", (x++)); // 후위 증가 연산자인 경우
-> 전위 증가 연산자인 경우에는 1이 더해진 후에 x가 사용되고, 후위 증가 연산자인 경우 x가 쓰인 후에 1이 더해진다.
관계 연산자
: 두 수치의 대소 비교나 문자형 자료의 대소(ASCII 코드 순서) 비교에 사용
결과는 ture, false 로 나타난다
관계 연산자 종류
a == b (a와 b가 같다)
a != b (a와 b가 같지않다)
a > b (a가 b보다 크다)
a < b (a가 b보다 작다)
a >= b (a가 b보다 크거나 같다)
a <= b (a가 b보다 작거나 같다)
a instanceof b (a 객체가 b 클래스의 인스턴스이다)
System.out.printf("%d > %d = %b\n",x,y,(x>y)); // false
System.out.printf("%d >= %d = %b\n",x,y,(x>=y)); // false
System.out.printf("%d < %d = %b\n",x,y,(x<y)); // true
System.out.printf("%d <= %d = %b\n",x,y,(x<=y)); // true
System.out.printf("%d == %d = %b\n",x,y,(x==y)); // false
System.out.printf("%d != %d = %b\n",x,y,(x!=y)); // true
논리 연산자
: 논리 형 자료의 연산을 하기 위한 연산자
논리 연산자 종류
&& (두 값 모두 참이면 참 and)
|| (두 값 중 하나의 값이라도 참이면 참 or)
! (참이면 거짓, 거짓이면 참 not)
int x = 30, y = 100, z = 10;
boolean resultA, resultB, resultC;
resultA = (x>y) && (y>z);
resultB = (x>y) || (y>z);
resultC = !(x>y) && (y>z);
조건 연산자
조건 ? 수식1 : 수식2 (조건이 참이면 수식1을 결과로, 거짓이면 수식2를 결과로)
int x = 100, y = 200;
int max = (x>y) ? x : y; // x가 y보다 크면 max를 x로, 아니면 max를 y로 저장
System.out.println(max); // 200
복합 할당 연산자
: 자바언어에서 변수의 값이 일정한 차이 또는 비율로 변화할 때 간편하게 사용하는 연산자
복합 대입 연산자 종류
x += y (x+y 의 값을 x 변수에 대입)
x -= y (x-y 의 값을 x 변수에 대입)
x *= y (x*y 의 값을 x 변수에 대입)
x /= y (x/y 의 값을 x 변수에 대입)
x %= y (x%y 의 값을 x 변수에 대입)
int x = 100;
x += 10;
System.out.println(x); // 110
x = 100;
x -= 10;
System.out.println(x); // 90
x = 100;
x *= 10;
System.out.println(x); // 1000
x = 100;
x /= 10;
System.out.println(x); // 10
x = 100;
x %= 10;
System.out.println(x); // 0
'JAVA > 기초공부' 카테고리의 다른 글
[JAVA 기초] 클래스 정의 및 객체 생성 (1) | 2024.09.25 |
---|---|
[JAVA기초] 객체와 클래스의 개념 (4) | 2024.09.25 |
[JAVA 기초] 기본 자료형 정리 - 정수형, 실수형, 논리형, 오버플로 (4) | 2024.09.16 |
[JAVA기초] 자바 프로그램의 구조 (1) | 2024.09.12 |
[JAVA기초] 자바언어 개요 (5) | 2024.09.12 |