BEDAY04
서식화된 문자열 (formatted string)
● 화면에 출력할때는 -> printf()
printf("서식문자열", 값1, 값2....)
● 문자열(String)으로 만들때는 -> String.format()
String.format("서식문자열", 값1, 값2....)
● format specifier (서식 지정자)
%d : 십진수 정수로 출력
%f : 실수 출력
%s : 문자열 출력
%c : '문자하나' 출력
%x : 16진수 정수로 출력
%% : % 출력
+
%f : 기본 실수 출력 (기본적으로 소숫점 6자리까지 출력)
%.2f : 실수출력(소숫점 2자리까지)
입력받기
표준입력(Standard Input): 키보드로부터 입력
Scanner 객체 사용
* import 단축키 crtl+shift +o
close() <-- 사용한 시스템 자원 (키보드, hw, 파일, 네트워크 등...) 을 시스템에 반납
nextInt() : 키보드로부터 정수 한개를 입력받아서 리턴
primitive 타입에 대해 nextXXX() 메소드 제공
sc.nextByte();
sc.nextShort();
sc.nextLong();
sc.nextFloat();
sc.nextDouble();
sc.nextBoolean();
String 입력받기
nextLine() : enter를 입력할때까지의 모든 문자들이 문자열로 리턴
next()및 nextXXX() : 공백(토큰) 단위로 문자열을 읽기 (공백 무시)
nextLine() : Enter 단위로 문자열 읽기 (공백 포함)
*주의* 숫자입력받고 문자열 입력시에는 반드시 nextLine()을 해줌으로 '\n' 을 버퍼에서 비워준다
버퍼를 쓰는 이유는?
입출려강치와 cpu사이의 시간을 맞추기위해서
자동형변환
암묵적 형변환(Implicit casting): 자바 언어가 자동으로 해주는 형변환

명시적 형변환(Explicit casting)
프로그래머가 직접 타입을 변환하는 것 (변환하고자 하는 타입명)변수/값
일반적으로 프로그램에서 숫자입력하는 것이 처음에는 '문자열(String)' 형태다
ex) 웹, 모바일앱..
이를 숫자 타입으로 변환해야 산술 연산등이 가능해짐
Integer.parseInt(문자열) --> int 로 변환
Double.parseDouble(문자열) --> double 로 변환
Byte.parseByte(문자열)
Short.parseShort(문자열)
Long.parseLong(문자열)
Float.parseFloat(문자열)
Boolean.parseBoolean(문자열)
* 문자열이 해당 타입으로 변환할수 없는 문자열이면 NumberFormatException 예외 발생 (에러)