문자열은 바꿀 수 없다
문자열은 문자를 나란히 놓은 것입니다. 인덱스가 0부터인 이유부터, 고칠 수 없어서 + 가 매번 새 문자열을 만드는 것까지 봅니다.
문자는 숫자로 저장된다
'A' 가 왜 하필 65인지, 대문자와 소문자가 왜 32 차이인지. 아스키코드에서 유니코드까지 봅니다.
식은 순서대로 줄어든다
컴파일러는 한 줄을 왼쪽부터 읽지 않습니다. 우선순위가 높은 곳부터 값으로 바꿔 하나만 남을 때까지 줄입니다.
연산자는 값을 만든다
+, %, ==, && 같은 기호들이 각각 무엇을 하고 어떤 값을 만드는지 한 번에 봅니다. = 와 == 의 차이부터 ++ 의 전위와 후위까지.
값을 옮기면 무슨 일이 생기나
넓은 칸으로 갈 때는 채우고, 좁은 칸으로 갈 때는 잘라냅니다. (int)는 반올림이 아니라 버림이고, 10 / 3 은 나눗셈 시점에 이미 3입니다.