코딩공부 43일차: 자바의 정석 / 자바의 정석 17~21강
개발 공부 43일차
자바의 정석 기초편 강의
https://www.youtube.com/watch?v=oJlCC1DutbA&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp
총 171개의 강의로 구성되어 있다
총 강의 시간은 80시간 정도
강의는 기초편을 기준으로 제작되어 있지만,
http://www.yes24.com/Product/Goods/24259565
Java의 정석 - YES24
최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아
www.yes24.com
링크로 첨부한 자바의 정석 3판으로도 무리가 없다는 댓글이 있어 그대로 진행
나는 기초 강의를 모두 수강한 상태기 때문에 새로운 내용이 아니면 밑에 요약정리하지 않을 예정이다
ch 2 - 10
기본형과 참조형
변수는 기본형, 참조형으로 나뉜다
기본형은 8가지
실제 값을 저장
참조형은 String, System 등 기본형 8가지를 제외한 모든 타입
메모리 주소를 저장(32비트 JVM은4byte, 64비트 JVM은 8byte)
Date today; → 참조형 변수 today 선언
today = new Date(); →today에 객체 주소 저장
ch 2 - 11
기본형의 종류와 범위
종류/크기(byte) | 1 | 2 | 4 | 8 |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
*1byte = 1bit(2진수 1자리)
이 공식을 활용해 각 타입의 최소값과 최대값을 구할 수 있다
(int는 -20억~20억)
ch 2 - 12, 13
printf를 이용한 출력
(3판 기준 36~39쪽)
println() 메소드는 출력 형식을 지정할 수 없다
반면 printf()는 출력 형식을 지정할 수 있다
지시자 | |||
System.out.printf() | %e, %E | 지수 표현식 형식으로 출력 | |
%.nf | 소수 n번째 자리까지 | ||
%g | e와 f 중 더 간략한 형식 | ||
%d | 10진수 형식으로 출력 | 접두사까지 출력하려면 %#n 을 붙인다 |
|
%X, %x | 16진수 형식으로 출력 | ||
%o | 8진수 형식으로 출력 | ||
%b | boolean 형식으로 출력 | ||
%c | 문자로 출력 | ||
%s | 문자열로 출력 |
*2진수는 지시자가 없어 Integer.toBinaryString(숫자) 메소드를 써야 한다
*JAVA API에서 Formatter로 들어가면 더 많은 지시자를 볼 수 있다
f외에도 앞에 숫자를 적어주면 공백이나 0을 채워 자리수를 맞출 수 있다
printf를 쓰는 데 줄바꿈이 필요하다면 \n, %n 등 개행문자를 넣어야 한다
실습을 통한 예시
ch 2 - 14
화면으로부터 입력받기
(3판 기준 40,41쪽)
Scanner는 화면으로부터 데이터를 입력받는 기능을 제공하는 클래스
사용 방법
1. import문 추가
import java.util.*; 혹은 import java.util.Scanner;
2. Scanner 객체 생성
Scanner sc = new Scanner(System.in);
*여기서 System.in은 화면입력
3. 객체 사용
nextint(), nextLine(), Integer.parseInt() 등
ch 2 - 15, 16
정수형의 오버플로우
(3판 기준 64~68쪽)
4자리만 표현할 수 있는 계수기를 예로 한 오버플로우 설명
최대값 + 1 = 최소값
최소값 - 1 = 최대값
n비트로 표현할 수 있는 정수의 개수: 2^n
n비트로 표현할 수 있는 부호 있는 정수의 범위: -2^(n-1) ~ 2^(n-1) - 1
n비트로 표현할 수 있는 부호 없는 정수의 범위: 0 ~ 2^n - 1