개인공부

빵형 자바 2일차 ; 변수, 자료형, 형 변환

성하 盛夏 2024. 2. 23. 03:17

-변수

-- 변수 : 변하는 수. 

-- 변수명 : 예약어를 제외한 문자열 사용 가능

-- 변수의 자료형

: 기본형(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" 문자열이 됨