국비 수업을 듣기 전에 예습을 위해
자바의 정석 기초 편을 보고 있다
변수에 대해 배우는 챕터 2번에서
리터럴의 접두사와 접미사에 대해 배우고 있는데
영어시간도 아닌데 접두사 접미사라니 혼란스럽다
아 나는 왜 이렇게 모르는 게 많을까
선생님이 차근차근 설명해 주시는데 아무리 들어도 이해가 가질 않아서
헛소리일 수도 있지만 일단 여기에 메모 좀 해보려고 한다
먼저 종류에 대해 적어보면
논리형
정수형
실수형
문자형
문자열
이렇게 종류가 있다고 한다
논리형은 false , true 리터럴이 있고 접미사는 없다
정수형은 123, 0b0101, 077, 0xFF, (전부 int 타입) 100L은 (L이 붙어서 long 타입) 리터럴이 있는데 사실 이해가 안 간다 ^^
접미사로는 대문자 L이 있다고 한다
실수형은 3.14, 3.0e8, 1.4f, 0x1.0p-1 리터럴이 있고
접미사로는 f 와 d 가 있다
f는 float d는 double
d는 생략 가능하다 2개 중 1개만 써도 되기 때문에
f를 자주 쓴다
정수형 L 실수형 f만 신경 쓰면 된다
접미사는 대소문자를 구별하지 않는데
소문자 l 은 숫자 1과 혼동하기 쉽기 때문에 대문자 L을 쓰는 게 좋다
boolean power = true; or false;
boolean 타입은 true or false만 올 수 있고 그 외에는 에러가 뜬다
캐릭터 타입인 char = 'A';
1개의 문자(문자형)만 저장 가능 작은따옴표로 묶어야 하고 접미사는 없다
여러 문자 (문자열)는 큰따옴표로 묶어야 하고 접미사는 없다
String str = "ABC";
'\n'는 역슬래쉬로 표현하는 줄바꿈 문자이다
byte b = 127;
바이트 타입 변수 범위의 값 -128~127
위 127은 범위에 들어가서 저장 가능
byte b = 128; // 범위에 없어서 에러가 나온다
int i = 100; // 10진수 (접두사가 없음)
int oct = 0100; // 8진수
int hex = 0x100;// jdk 1.7부터 접두사 0b가 붙으면 2진수 0x가 붙으면 16진수
long l = 10_000_000_000L; int 최댓값 대략 20억, 20억이 넘으면 롱 타입이라서 접미사 대문자 L 붙여야 함 안 붙이면 에러 나옴
jdk 1.7부터 도입된 것으로 _ 언더바는 숫자를 알아보기 쉬우라고 넣는 것 원하는 위치에 넣어도 되지만 보통 000마다 넣는 게 좋음
long l = 100; // OK
float f = 3.14f; // f는 생략 불가 생략하면 더블 타입이 됨으로 필이 생략하지 말고 적어줘야 함
double d = 3.14d; (d는 생략 가능)
변수의 타입과 리터럴의 타입은 항상 일치해야 한다
일치하지 않더라도 허용되는 범위가 있으니 또 공부해야 함
막간 퀴즈
10. -> 10.0에서 0이 생략됨
.10 -> 0.10에서 앞에 있는 0이 생략됨
위 2개는 실수형 (*소수점이 있어서* 접미사가 없으니 더블형임 )
10f-> 실수형 접미사 f가 붙어서 실수형임
10.0f와 의미가 같다
1e3 -> 기호 e는 실수형에 사용돼서 실수형이고 e는 10n 제곱
1000.0d 와 같은 뜻이며 더블 타입
실수형 접미사는 리터럴의 소수점이나 10의 n 제곱을 의미하는 기호 e가 들어가 있으면
실수형임을 잘 이해하고 있어야겠다
머리 안 쓰고 살다가 갑자기 공부하고 내용 정리하려니까
머리가 터질 것 같아
남들 4년 빡세게 하고 또 취준하고 그렇게 해서 개발자 된다는데
난 이제 시작하는데 당연히 어려운 게 맞고 힘든 게 맞는데
이 와중에 적성이 맞냐 아니냐 따지려고 했던 나 자신에게 헛웃음만 나온다
일단 열심히 해보자
아직 시작도 안 했다!
'BackEnd' 카테고리의 다른 글
관심사의 분리, MVC 패턴 - 실습 (0) | 2022.12.15 |
---|---|
관심사의 분리, MVC 패턴 - 이론 (0) | 2022.12.15 |
Base64 64진법이란? (0) | 2022.12.15 |
텍스트 파일 vs 바이너리 파일 (0) | 2022.12.15 |
스프링 MVC 공부 (0) | 2022.09.14 |