우주코딩
리터럴 콘솔 출력하기,2진수, 8진수, 16진수 본문
*리터럴(literal) 변수(Variable) 배열(array)
리터럴 -------------> 변수 -------------------> 배열
ㄴ 값을 표현한 것 ㄴ 값을 담는 메모리 ㄴ 여러 개의 값을 담는 메모리(변수 목록)
리터럴
정수 , 부동소수점 , 논리, 문자, 문자열
정수 : 10진수가 100일때 8진수 표현은 0144이다 ( 실무에서 잘 쓰이지 않지만 알아두어야)
2진수는 0110 0100 (8진수가 아님을 표현하기위해 0b 0110 0100)이라고 표기한다
b는 binary
2진수는 수가 커질 때 표현이 길어진다. 네자리마다 묶어서 표현한다.
16진수는 0 - 9 까지의 10개의 숫자를 사용하고 남는 자리는 A - F 까지 6개의 문자를 사용해서 수를 표현한다.
16진수 표현을 위해 0x(헥서)를 앞에 붙인다.
위와 같은 방법이 16진수이다.
10진수가 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ... 로 표현될때
16진수는 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ... 로 표현된다.
A는 십진수로 10
B는 11
C는 12
D는 13
E는 14
F는 15의 값에 해당한다는 사실을 알아두면, 16진수를 10진수로 변환할때 좀 더 수월하다.
16진수는 2진수의 간단표기법으로 사용한다.
부동소수점 : 3.14 = 31.4e-1 = 0.314e1 소수점이 떠다닌다는 뜻의 부동
논리 : true, false 대문자 true 안됨. 소문자로만
문자 : 'A' '가' '\u0041'
제어문자escape : '\t' '\b' 백스페이스 '\n' 뉴 라인
문자열 : "A" , "AB" 문자열 안에도 제어문자 넣기 가능
*콘솔 출력
System.out.print( 값이나 표현식) = 값 출력
System.out.println( 값이나 표현식) = 값 출력 후 줄 바꿈
System.out.printf("출력형식",값, 값, 값...) = 출력 형식에 맞춰 값 출력
%s : 지정한 자리에 문자열을 삽입한다. (string)
System.out.printf("이름: %s\n", "홍길동"); = 이름: 홍길동
%d : 정수 값을 10진수 문자열로 만들어 삽입한다.
%x : 정수 값을 16진수 문자열로 만들어 삽입한다.
%c : 정수 값을 문자로 만들어 삽입한다.
%b : true/false 값을 문자열로 만들어 삽입한다.
%[n$]s : n은 문자열에 삽입될 값의 순서이다.
System.out.printf("%2$d %2$x %2$c\n", 65, 66, 67);
순서는 1부터 증가한다. 1$ => 65, 2$ => 66, 3$ => 67
값을 삽입할 때 사용할 공간을 지정할 수 있다.
문자열을 삽입할 때: %[-][사용할공간너비]s : -는 왼쪽 정렬이다. 안 붙이면 기본 오른쪽 정렬이다.
System.out.printf("'%-10s' '%10s'\\n", "홍길동", "임꺽정");
System.out.printf("'%-10d' '%10d'\\n", 12345, 12345);
정수를 삽입할 때: %[0][사용할공간너비]d : 앞의 빈자리는 0으로 채운다.
%[+][0][사용할공간너비]d : +는 숫자 앞에 부호를 붙인다.
System.out.printf("'%010d' '%07d'\\n", 12345, 12345);
System.out.printf("'%+010d' '%+07d'\\n", 12345, -12345);
%t[날짜 및 시각 옵션] 날짜 및 시간 옵션
Y : 날짜 및 시각 데이터에서 년도를 추출하여 4자리로 표현한다.
y : 날짜 및 시각 데이터에서 년도를 추출하여 뒤의 2자리로 표현한다.
System.out.printf("%1$tY, %1$ty\\n", today);
B : 날짜 및 시각 데이터에서 월을 추출하여 전체 이름으로 표현한다. ex) January
b : 날짜 및 시각 데이터에서 월을 추출하여 단축 이름으로 표현한다. ex) Jan
System.out.printf("%1$tB, %1$tb\\n", today);
m : 날짜 및 시각 데이터에서 월을 추출하여 2자리 숫자로 표현한다. ex) 12, 01
System.out.printf("%1$tm\\n", today);
d : 날짜 및 시각 데이터에서 일을 추출하여 2자리 숫자로 표현한다. ex) 01, 22
e : 날짜 및 시각 데이터에서 일을 추출하여 1자리 숫자로 표현한다. ex) 1, 22
System.out.printf("%1$td %1$te\\n", today);
A : 날짜 및 시각 데이터에서 요일을 추출하여 긴 이름으로 표현한다.
ex) Sunday a : 날짜 및 시각 데이터에서 요일을 추출하여 짧은 이름으로 표현한다. ex) Sun
System.out.printf("%1$tA %1$ta\\n", today);
H : 날짜 및 시각 데이터에서 시각을 추출하여 24시로 표현한다.
I : 날짜 및 시각 데이터에서 시각을 추출하여 12시로 표현한다.
System.out.printf("%1$tH %1$tI\\n", today);
M : 날짜 및 시각 데이터에서 시각을 추출하여 분을 표현한다.
System.out.printf("%1$tM\\n", today);
S : 날짜 및 시각 데이터에서 시각을 추출하여 초를 표현한다.
L : 날짜 및 시각 데이터에서 시각을 추출하여 밀리초를 표현한다.
N : 날짜 및 시각 데이터에서 시각을 추출하여 나노초를 표현한다.
System.out.printf("%1$tS %1$tL %1$tN\\n", today);
p : 오전 오후 출력하기 소문자 p를 사용하면 am 또는 pm으로 출력하고, 대문자 P를 사용하면 AM 또는 PM으로 출력한다. 한글은 대소문자가 없기 때문에 의미없다.
System.out.printf("%1$tp\\n", today);
년-월-일 시:분:초를 출력하라! 예) 2019-01-04 12:04:30
System.out.printf("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS\\n", today);
'자바 기초 강의' 카테고리의 다른 글
유니코드, 문자 집합, 문자 코드, 이스케이프 문자 (0) | 2021.07.06 |
---|---|
자바 반복문을 이용하여 별 찍기 (0) | 2021.05.27 |