목록이것이 자바다 (108)
충분히 쌓여가는
자바는 실행 성능을 향상시키기 위해 컴파일 단계에서 연산을 수행 byte result = 10 + 20; 자바 컴파일러는 컴파일 단계에서 10 + 20을 미리 연산해서 30을 만들고 result 변수에 30을 저장하도록 바이트코드를 생성함 따라서 실행 시 덧셈 연산이 없으므로 실행 성능이 좋아짐 byte 타입 변수가 피연산자로 사용된 경우 byte x = 10; byte y = 20; byte result = x + y; // 컴파일 에러 int result = x + y; 정수 리터럴이 아니라 변수가 피연산자로 사용되면 실행시 연산을 수행함 정수 타입 변수가 산술 연산식에서 피연산자로 사용되면 int 타입보다 작은 byte, short 타입 변수는 int 타입으로 자동 타입 변환되어 연산을 수행한다 정..
강제 타입은 목적 원래 값이 유지되면서 타입만 바꾸는 것 작은 허용 범위 타입에 저장될 수 있는 값을 가지고 강제 타입 변환을 해야 함 int -> byte int 타입은 byte 타입보다 더 큰 허용 범위를 가진다. 따라서 int 타입은 byte 타입으로 자동변환되지 않고, (byte) 캐스팅을 해서 byte 타입으로 강제 변환시켜야 한다 byte 타입으로 변환한다면 -128~127인 int 값만 원래 값을 보존할 수 있다 int intValue = 10; byte byteValue = (byte) intValue; // 강제 타입 변환 long -> int long longValue = 300; int intValue = (int) longValue; // 강제 타입 변환 후에 300이 그대로 유지 ..
자동 타입 변환, 즉 Promotion은 값이 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 대입될 때 발생함 기본 타입을 허용 범위 순으로 나열 정수 타입이 실수 타입으로 대입될 경우, 무조건 자동 타입 변환됨(실수 타입은 정수 타입보다 허용 범위가 더 크기 때문) byte char는 자동 변환 될 수 없다 char 타입의 허용 범위는 음수를 포함하지 않는데, byte 타입은 음수를 포함하기 때문 byte byteValu..
문자열 내부에 역슬래쉬(\)가 붙은 문자를 사용할 수가 있는데, 이것을 escape 문자라고 함. escape 문자를 사용하면 특정 문자를 포함할 수 있고, 출력에 영향을 미치기도 함. package ch02.sec06; public class StringExample { public static void main(String[] args) { String name = "홍길동"; String job = "프로그래머"; System.out.println(name); System.out.println(job); String str = "나는 \"자바\"를 배웁니다."; System.out.println(str); str = "번호\t이름\t직업"; System.out.println(str); System...