빵형 자바 2일차 ; 변수, 자료형, 형 변환
-변수
-- 변수 : 변하는 수.
-- 변수명 : 예약어를 제외한 문자열 사용 가능
-- 변수의 자료형
: 기본형(Primitive Type)
기본형
: 일반적으로 제공하는 자료형. 선언된 변수에 값이 직접 저장된다는 특징이 있음.
: 즉 메모리에 실제 값을 갖는 자료형.
: Java에 미리 여러 형태의 자료형으로 정의해서 제공하고 있음.
: 논리형(boolean), 문자형(char), 숫자형(정수형(byte, short, int, long)+실수형(float, double))
--논리형(boolean)
: 주로 논리를 묻는 조건문이나 반복문에서 많이 사용
: 값 = true / false
--문자형(char)
: 보통 Java 에서는 유니코드(2byte)를 사용하는데, 아스키코드(1byte) 값으로도 표현할 수 있음.
: 리터럴은 한 문자만 입력이 가능하며 문자 앞뒤로 작은따옴표를 붙여 구분.

--숫자형(정수형(byte, short, int, long)+실수형(float, double))
숫자 자료형 | Byte | 범위 | |
정수형 | byte | 1 | -128 ~ 127 |
short | 2 | -32,768 ~ 32,767 | |
int | 4 | -2,147,483,648 ~ 2,147,483,648 | |
long | 8 | ||
실수형 | float | 4 | 소수점 이하 6~7자리 |
double | 8 | 소수점 이하 15~16자리 |
: 정수는 보통 int형을 주로 사용함.
: long 형은 정수형 숫자 뒤에 L / l 을 붙이고, 실수형 중 float 형은 숫자 뒤에 F / f 를 붙임.
: 비기본형(Non-Primitive Type)
비기본형 = 참조자료형
: 실제 값이 아닌 객체의 주소를 가지고 있는 자료형.
: 값을 객체의 주소에 의해 참조하는 자료형.
: new 키워드를 이용해서 생성하며, 모든 참조 변수의 기본값은 Null
: 클래스(String, Integer...), 인터페이스(Collection, Map...), 배열
* printf와 이스케이프 문자
--printf
: 지시자를 사용, 출력하는 출력문.
: printf("서식 문자열", 값) 의 형식.
: 지시자표
%b | boolean |
%d | 10진수 |
%o | 8진수 |
%x, %X | 16진수 |
%f | 실수형 10진수 |
%e, %E | 지수형태표현 |
%c | 문자 |
%s | 문자열 |
%n | 개행 |
--이스케이프 문자(확장특수문자)
: 인쇄할 수 없거나 키보드로 표현할 수 없는 문자들
: 앞에 \(역슬래시)나 ₩가 접두에 붙어있음
\n | 개행, 줄바꿈 |
\t | 커서를 다음 Tab 위치로 이동 |
\r | =캐리지 리턴(Carriage return). 커서의 위치를 줄의 처음으로 옮김 |
\₩ | ₩ 표시 |
\" | 큰따옴표 표시 |
\' | 작은따옴표 표시 |
\b | 백스페이스 기능(한 칸 앞으로 커서 이동) |
\u | 4자리의 16진수로 유니코드를 출력할 때 사용 |
--형 변환
: 자료형 간의 변환.
: 명시적 형 변환(직접적 형 변환)+묵시적 형 변환(자동 형 변환) / 문자열<>숫자 자료형 / 문자와 문자열 간의 형 변환
---- 명시적 형 번환(강제 형 변환, 직접적 형 변환)
: 직접 자료형을 변환하는 것. 캐스팅(Casting)한다고 표현.
: 변경하고자 하는 자료형의 크기를 넘어선 변수값을 작은 범위의 자료형으로는 변경할 수 없음.
ex) double형을 int형으로 변경하거나 , int형을 short 형으로 변경시키려는 경우
: 실수 자료형의 경우, 정수 자료형으로 바꿀 때 소수점 이하가 버림으로 처리되어 데이터 손실 발생 가능성 있음.
: (자료형) 변수명/혹은 리터럴
ex) char chr = 'A'; > (int)chr
---- 묵시적 형 변환(자동 형 변환)
: 작은 범위의 숫자 자료형을 더 큰 범위를 표현할 수 있는 자료형에 변수값을 넣어 자동으로 형이 변환, 대입되는 것.
: 변경할 자료형을 굳이 입력하지 않아도, 데이터의 손실이나 훼손 없이 그대로 값이 됨
ex) int i = 100; > double d = i;
--문자열<->숫자 자료형간 형 변환
: 단! 문자열은 숫자로 이루어진 문자열임.
---문자열 > 숫자 자료형
: parseInt() 메서드 활용 > Integer.parseInt(문자열);
---숫자 자료형 > 문자열
1) toString() 메서드 활용 > Integer.toString(숫자형);
2) String.valueOf() 메서드 활용 > String.valueOf(숫자형);
3) 문자열과의 연산 활용 > "" + 숫자형; ex) String str = "" + 1234; -> "1234" 문자열이 됨
--문자(char)와 문자열(String)간의 형 변환
---문자(char) > 문자열(String)
: toCharArray() 메서드 활용
--- 문자열(String) > 문자(char)
1) String.valueof() 메서드 활용 > String.valueof(문자);
2) 문자열과의 연산 활용 > "" + 문자; ex) Char c1 = 'a'; String str = "" + c1; -> "a" 문자열이 됨