본문 바로가기

Java

[210727] 연산자, switch문

연산자

최우선 연산자 직접 접근 연산자 : ( ) . { }           : 1
단항 연산자 + - ! (자료형) ++ -- ~                  : 2

 

이항 연산자 산술 연산자 : * / %                      : 3
                                    + -                       : 4 
                쉬프트 연산자 : >> << >>>           : 5

                비교 연산자 : > < >= <=               : 6
                                  == !=                      : 7

                논리 연산자 : 비트 논리 연산자 :  &  : 8
                                                            ^  : 9
                                                             |  : 10
                                  일반 논리 연산자 : && : 11
                                                              || : 12


삼항 연산자 (조건식) ? 참일 때 사용 값 : 거짓일 때 사용 값 : 13

 

대입 연산자 순수 대입 : =
                복합 대입 : 산술 대입 += -= *= /= %= 
                               쉬프트 대입 <<= >>= >>>=
                               비트 논리 대입 &= ^= |=             : 14
나열 연산자  ,                                                           : 15

 

 

 

새로운 주소를 만들어라. new string(“A”) = 스택에는 실제로 새로 만든 참조주소(0008)만 저장되고 실제 데이터 A는 힙에 저장된다. (주소가 달라서 == 연산자로 비교하면 false가 나온다)

그냥 A라는 문자열 리터럴로 저장하면 같은 주소 값(0004)을 참조하고 있는 것 역시 실 데이터는 힙에 저장

== 연산자를 쓰면 주소를 비교한다고 보면 된다. 실제 값을 비교하는 것은 이퀄즈 x5.equals(X6)를 써야 한다.

 

switch

한번 케이스 배치되면 모든 케이스가 쭉 실행된다는 특징이 있다.

1만 입력 해도 입력메뉴 뒤의 case 2, 3, 4, 5가 주르륵 나오고

2하면 1은 안 나오지만 2부터 3 4 5 주르륵 나온다.

이게 싫다면 케이스 하나 끝난 뒤에다가 break; 추가해서 걸어 준다. (스위치문 밖으로 나가게 해줌)

맨 마지막 case는 뒤에 실행할 문장이 없으니 브레이크가 필요 없다.

 

case ‘A’ : case ‘a’ :  -> 이렇게 쓰면 A, a 둘 중 하나를 쓰더라도 실행된다 (케이스 중첩 가능)

 

'Java' 카테고리의 다른 글

[210804] 변수 종류와 개념, 추상화  (0) 2021.09.11
[210730] 배열  (0) 2021.09.11
[210728~29] 반복문 for, while  (0) 2021.09.11
[210726] printf, Scanner  (0) 2021.09.11
[210723~26] 자바 기초  (0) 2021.09.10