1. 대입 연산자( = )
-우측 피연산자를 좌측에 대입
-우선순위 맨 마지막
i+2=i //error
2=i+1 //error
좌측은 저장공간(변수,배열) 와야함
2. 산술 연산자( + - * / % )
1) +
2) -
3) *
4) / : 나누기
5) % : 나누기의 나머지
3. 비교 연산자 ( > < >= <= == != )
>= : ≥
<= : ≤
== : =
!= : ≠
-'A'>'B' → 65>66 → false
- a == b : 20 == 20 → true
- a != b : 20 != 20 → false
- primitive type끼리는 == 잘 작동
- reference type의 == 는 불안전
+)문자열 비교는 ==대신 equals()를 써주자
밑 예시 보기 클릭
4. 논리 연산자 ( && || !)
- boolean 타입 끼리 연산 : 결과는 boolean
1) && : and
2) || : or
3) ! : not
>예시 보기
5. 증감 연산자( ++ -- )
++ : +1
-- : -1
1)전위형 : 값 참조 전 증가
j = ++i;
++i 증가후
j = i 대입
2)후위형 : 값 참조 후 증가
j = i++;
j = i 대입 후
++i 증가
3) 단독으로 사용하면 선행과 후행의 차이x
6. 복합 대입 연산자
대입연산자와 다른 연산자 하나로 축약
i += 2; ← i = i+2;
i *= 10+j; ← i = i*(10+j);
7. 삼항 연산자
조건식? 식1 : 식2;
조건식 참 → 식1
조건식 거짓 → 식2 수행
8. 기타 연산자( 쉬프트 연산자, 비트 논리 연산자, instanceof 연산자)
더보기
쉬프트 연산자
1. A << B
- 정수 A의 bit를 정수 B 만큼 좌측으로 밀고 빈칸은 0으로 채움
2. A >> B
- 정수 A의 bit를 정수 B 만큼 우측 으로 밀고
1) A가 양의 정수라면 전부 0으로 채우고
2) A가 음의 정수라면 전부 1로 채움
3. A >>> B
- 정수 A의 bit를 정수 B 만큼 우측 으로 밀고
- A가 음수든 양수든 전부 0으로 채움
비트 논리 연산자
- 0 : false , 1 : true
1. & (and)
- 3 & 2
2. | (or)
- 3 | 2
3. ~ (not)
-
(예시들)
i는 2의배수 또는 3의배수지만 6의배수는 아니다.
→(i%2==0 || i%3==0 && i%6!=0)
ch는 대문자 또는 소문자 이다.
→('a'<=ch && ch<='z')||('A'<=ch && ch<='Z')
//'a'<=ch<='z' 이렇게 안됨 따로 써주기^^~
ch는 소문자가 아니다.
→ch<'a' || ch>'z' 보단
→!('a'<=ch && ch<='z')
-문자열비교 (그냥 차이있을 수 있다~정도만)
String str1 = "ab";
String str2 = "ab";
System.out.println(str1==str2); //true
System.out.println(str1.equls(str2)); //true
String str1 = new String("ab");
String str2 = new String("ab");
System.out.println(str1==str2); //false
System.out.println(str1.equls(str2)); //true
▸연산자 우선순위
1항>2항>3항
산술>비교>논리>대입
대입은 젤 마지막
▸연산자 우선순위같다면 어떤 순으로?
------->
진행방향 cf)대입 단항 제외
<-------
대입, 단항
ex)
3+2-4
----->
x=y=5
<-----
'Java' 카테고리의 다른 글
| [Java] String 배열 (0) | 2023.12.09 |
|---|---|
| [Java] 제어문(조건문, 반복문,분기문) (0) | 2023.12.09 |
| [Java] 타입간 변환방법 (0) | 2023.12.08 |
| [Java] OverFlow & UnderFlow (0) | 2023.12.08 |
| [Java] Scanner, Math.round(), Math.random() (0) | 2023.12.08 |