연산자의 종류와 우선 순위
> 논리 부정 연산자 (단항연산자에 해당한다): !
논리 값을 부정하여 반대 값으로 변경이 가능하다 / 제어문을 활용할 때 많이 쓴다
- 논리적: Logical / 논리 (회로)의(형용사)
- 부정: Negation / 부정, 부인; 취소(명사)
boolean bool1 = true;
boolean bool2 = !bool1;
System.out.println(bool2); //false
ex): 예시를 한번 들어보자 난 내가 좋아하는 사람과 싫어하는 사람을 구분짓고 싶다면 (서울살면서,능력있고,정이 많은친구)를 원한다고 하자 이와 반대로 정반대의 사람을 바로 찾고싶다면 그 앞에 느낌표 ! 를 추가하여 !(서울살면서,능력있고,정이 많은친구)가 아니게 되는거다
>증감 연산자 (단항연산자에 해당한다): ++ --
피연산자의 값에 1을 더하거나 빼는 연산자 위치에 따라 출력 값이 다르게 나타난다
전위 연산: 먼저 연산 후 다른 연산 실행
후위 연산: 다른 연산 우선 실행 후 연산
- 증가: increase
- 감소: decrease
//전위 연산
int a = 10;
int b = ++a;
System.out.println(a + ", " + b); //11, 11
//후위 연산
int a = 10;
int b = a++;
System.out.println(a + ", " + b); //11, 10
public void method3() {
int num1 = 20;
int result1 = num1++ * 3;
System.out.println("result1 : " + result1); // 60
System.out.println("num2 : " + num1); // 21
int num2 = 20;
int result2 = ++num2 * 3;
System.out.println("result1 : " + result2); // 63
System.out.println("num2 : " + num2); // 21
}
}
>>산술 연산자: + , -, *, /, %
연산 방법과 우선 순위가 일반 수학과 동일하다
- 산술: Arithmetic
int num1 = 8, num2 = 4;
System.out.println("+ 연산자에 의한 결과 : "+ (num1 + num2));//+ 연산자에 의한 결과 : 12
System.out.println("- 연산자에 의한 결과 : "+ (num1 - num2));//- 연산자에 의한 결과 : 4
System.out.println("* 연산자에 의한 결과 : "+ (num1 * num2));//* 연산자에 의한 결과 : 32
System.out.println("/ 연산자에 의한 결과 : "+ (num1 / num2));/// 연산자에 의한 결과 : 2
System.out.println("% 연산자에 의한 결과 : "+ (num1 % num2));//% 연산자에 의한 결과 : 0
>>비교연산자: ==, !=, [>, >=, <=, <]
데이터가 같은지, 다른지 비교할 때 쓰이며,
비교 결과 값으로 항상 논리 값(true, false)이 나옴
피연산자로 모든 자료형(기본형, 참조형) 사용 가능
a == b : a와 b가 같으면 true
a != b : a와 b가 다르면 true
[두 피연산자의 값의 크기 비교 기본형 boolean, 참조형을 제외하고 나머지 자료형에 모두 사용 가능]
- 비교: Comparison
if(a == b) {}
int result = a == b ? a++ : b--;
if(a != b) {}
int result = a != b ? a++ : b--;
삼항 연산자는 밑에 따로 설명을 하도록 하겠다
> >= <= < 연산자 예시
if(a < b) {}
int result = a > b ? a++ : b--;
for(int a = 0; a <= b; a++) {}
while(a >= b) {}
논리연산자: &&, ||
논리 값 두 개를 비교하는 연산자
&& : 두 피연산자가 모두 true일 때 true 반환 (AND)
|| : 두 피연산자 중 하나만 true여도 true 반환 (OR)
// 입력한 정수 값이 1~100사이의 숫자인지 확인
Scanner sc =new Scanner(System.in);
System.out.print("정수 하나 입력 : ");
int num = sc.nextInt();
System.out.println("1부터 100사이의 숫자인지 확인 : " + ( (num <= 100) && (num >= 1) ) );
복합 대입 연산자
다른 연산자와 대입 연산자가 결합한 것으로 자기 자신과 연산 후 연산 결과를 자기 자신에게 누적 대입
- 합성의, 혼성의, 복합의 : Compound
삼항연산자
조건식이 참이면 식1을 반환하고
조건식이 거짓이면 식2를 반환한다
삼항 연산자 안에 식1 또는 식2 위치에 삼항 연산자를 중첩하여 추가로 다시 넣을수도 있다
코딩 공부 및 연습 자료
'JAVA' 카테고리의 다른 글
[JAVA] 객체 OOP (0) | 2025.04.21 |
---|---|
[JAVA] 배열(Array) (0) | 2025.04.18 |
[JAVA] 제어문 (0) | 2025.04.16 |
[JAVA] 변수 (0) | 2025.04.15 |
[JAVA] 프로그래밍 기초 (0) | 2025.04.15 |