들어가며
문제 구현에 있어서 자바에 대한 기본기의 부족함을 느껴서 오랜만에 자바의 기본 저서인 자바의 정석을 다시 피게 됐다. 그러면서 정말 신기한 경험을 하게 되었는데 바로 예전에 잘 이해가 안가서 읽고 넘어갔던 내용들이 이제는 내 머릿속에서 자연스럽게 그려지는 경험을 하게 되었다. 그동안에 시간들이 헛되지는 않았나보다.
어느 곳에서나 기본기는 중요하듯이 이번 기회를 통해 자바 기본기를 더 단단히 다지고자 챕터별로 글로 정리하면서 다시 한번 암기를 하고 좀 더 디테일하게 알아야 되는 곳은 챕터를 나눠서 자바의정석에 나온 내용 + 보강된 내용을 더해서 정리를 하고자 한다.
정리
형변환 연산자
프로그램을 작성하다보면 같은 타입뿐만 아니라 다른 타입간의 연산을 수행해야 하는 경우도 있다. 이때 연산을 수행하기전 타입을 일치시켜야 한다.
변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 형변환(캐스팅)이라고 한다.
방법은 형변환하고자 하는 변수나 리터럴의 앞에 변환하고자하는 타입을 괄호와 함께 붙여주면 됨
(타입) 피연산자
자동 형변환
경우에 따라 편의상의 이유로 형변환 생략 가능 -> 컴파일러가 생략된 형변환을 자동적으로 추가해줌
float f = 1234; -> float f = (float)1234;
생략 불가능 경우 -> 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다 -> 그래서 좁은 타입에서 넓은 타입으로는 가능하지만 넓은 타입에서 좁은 타입으로는 값 손실이 생겨 오류남.
반올림
Math.round
문자열 비교
문자열을 비교할때는 비교연산자 '==' 대신 equals() 메서드를 사용해야함. ==을 사용하면 완전히 같은 것인지 비교하는 것이므로 문자열에 == 을 사용하면 문자열은 참조형이므로 주소값을 비교하게 되어 false가 나온다. 왜냐하면 서로 다른 객체이기 때문이다. 그래서 문자열에 값만을 비교하려면 equals() 메소드를 이용하여 값만을 비교 가능하다.
-> 만약 대소문자를 구별하지 않고 비교시에는 equalsIgnoreCase()를 사용한다.
arkk@devLog]
'Book' 카테고리의 다른 글
자바의 정석 - 자바 기본기 정리하기 (6)객체지향프로그래밍2 (0) | 2021.11.12 |
---|---|
자바의 정석 - 자바 기본기 정리하기 (5)객체지향프로그래밍1 (0) | 2021.11.11 |
자바의 정석 - 자바 기본기 정리하기 (4)배열 (0) | 2021.11.10 |
자바의 정석 - 자바 기본기 정리하기 (3)조건문과 반복문 (0) | 2021.11.09 |
자바의 정석 - 자바 기본기 정리하기 (1)변수 (0) | 2021.11.05 |
댓글