inflearn

[인프런] 김영한의 자바 입문 강의 섹션3. 연산자 (231228)

hail2y 2023. 12. 30. 03:04

1시간짜리 강의를 어째서인지 이리 오래 보는 걸까....
지금 새벽 3시 넘어가니까 바로 기록 시작

12/28 섹션3. 연산자 필기

이번에도 c언어랑 크게 다를 건 많이 없었다.

/ 나누기
int 형끼리 계산하면 결과도 int 형이 되어 소수점이 표현 안 된다.
수학에서도 0으로 나눌 수 없으니 여기에서도 똑같이 불가능

 

나는 나누기가 정수 몫 나누기가 좀 헷갈리더라... 파이썬에서 정수 몫 연산자(//)가 있어서 그런가 c나 자바는 어쨌든 몫만 반영한다.

문자열이랑 숫자 더하면 숫자, 즉 문자가 아닌 것을 문자열로 변환한 후 합친다.

 

c에선 어떻게 했나 생각해 보다 그냥 비슷하게 연산식 쓰되 오류가 생기진 않을까 했는데 그게 아니라 일단 문자열끼리 합칠 때도 strcat 쓰더라... 문자열이랑 숫자 합칠 땐 숫자를 문자열로 바꿔서 strcat을 하겠지- itoa, sprintf 등의 방법이 있다. sprintf를 프로그래머스 할 때 종종 나와서 개념 쎄게 익혔는데 또 증발됐다; 이따가 패드에 있는 필기 봐야겠다.

또 가슴을 후벼파는 일침 등장.

프로그래밍 언어는 이해하되 암기하면 안된다.

연산자 우선순위 같은 거 외우지 말고 상식선에서 생각한다.
괄호 1순위고, 대입연산자는 값 다 계산한 후 넣으니 최하순위

전위연산자, 후위연산자 공부할 때 진짜 안 외워져서 수없이 필기하며 외웠던 기억이 있는데 사실 별 거 아닌 애들이었다. 지금 보면 어이없다.

++a, a++
연산자 위치에 따라 피연산자 앞에 있으면 전위연산자, 뒤에 있으면 후위연산자. 기능 또한 생긴대로 해석하면 된다.

ctrl shift f10 현재 클래스 run
shift f10 직전(이전) 클래스 run

 

이 꿀팁을 애매하게 알고 계속 전에 거가 실행되길래 살짝 화날 뻔 했는데 결국 원인은 나였다^^ㅋ 다시금 깨닫고 아주 막힘없이 실행하고 있습니다~

비교 연산자 결과는 불리언 변수에 담을 수 있다.
boolean result = a == b; 따로 괄호 입력하지 않고 코드 입력해도 괜찮다.

 

그리고 c와는 다른 새로운 개념 등장!

문자열을 비교할 때 .equals()메서드를 사용한다.
==으로 성공할 때도 있지만 실패할 때도 있다, 특정 조건에서 안 될 수도

 

**앞 개념과 결합하자면 boolean result1 = "hello".equals(str1);

 

치트키 또 등장!

오른쪽으로 이동하며 현재 문장 다 완성시킬 때 ctrl shift enter

boolean result = 10 < a && a < 20; 앞의 비교연산식 순서 바꾸면 읽기 더 좋을 수 있다.

 

비트연산자는 실무에서 거의 사용하지 않는다. 내가 컴퓨터프로그래밍기초 교양 들을 때 얼마나 고생했는데;;

 

--끝--