4-2 Java 기본자료형
정수형 (byte, char, short, int, long)
a. byte-1 byte
-메모리에서 1byte만 차지한다, 즉 8bit 공간만 갖는다,
-표현할 수 있는 정수의 크기가 작다.
(범위 -127 ~ +128 -256개의 정수만 다룰 수 있다.)
*128까지 표현을 할 수 있는데 숫자 200을 넣으면 129부터는 누실(overflow)발생
*잘 사용하지 않는다.
b. char (character)
-2byte만 차지한다. 16bit 공간만 갖는다.
-단일 문자 예)A, B, 등등
*잘 사용하지 않는다.
*캐릭터는 숫자가 아니라 문자인데 왜 정수형에 포함시켰는가
-pc컴퓨터는 binary(1,0)으로만 표현할 수 있어서, ABC를 이해할 수 없지만
A라는 문자를 컴퓨터에서는 65로 표현하자라고 규정을 해서 아스킥코드 만들어놓았다.
그래서 각각 문자마다 아스킥코드로 만들어 놓았다.
c. short
-2byte만 차지한다. 16bit 공간만 갖는다.
-똑같은 정수를 표현하지만 byte보단 큰 수까지 표현을 할 수 있다.
-하지만 그렇게 큰 범위의 정수를 표현할 수 없다.
d. int
-4byte만 차지한다. 32bit 공간만 갖는다.
*실생활에서 사람이 필요한 숫자는 32bit 안에서 해결 할 수 있어 많이 쓰인다.
e. long
-8byte만 차지한다. 64bit 공간만 갖는다.
*t실생활에서 쓰지 않는 큰숫자까지 취급을 해서 사용할 수 있다.
*얼마나큰숫자????
=>char과 int가 많이 쓰이고, 2개 중에서도 int가 많이 쓰인다.
정리
분류 |
이름 |
바이트수 |
비고 |
정수형 |
byte |
1 byte |
-127 ~ +128 |
short |
2 byte |
-32,768 ~ +32,767 |
|
int |
4 byte |
-2,147,483,648 ~ |
|
long |
8 byte |
-9,223,372,036,854,775,808 ~ |
실수형(float, double)
예)소수점
-3.1456
-1.00056
-1.78
a. float
-4byte만 차지 한다. 32bit 공간만 갖는다.
*소수점을 표현하기에는 공간이 작다.
b. double
-8byte만 차지한다. 64bit 공간만 갖는다.
*double만 알아도 프로그래밍하는데 지장이 없을 정도로 많이 쓰인다.
논리형 (boolean)
-참과 거짓이라고 한다.
*c계열에서는 0을 false라고 하고 0이 아닌 숫자는 true라고 한다.
c++에 true and false가 생겼다.
자바에도 true and false가 있다. 그것이 boolean
a. boolean
-1byte, 8bit의 공간을 갖는다.
논리형 메모리관리
*선언한 변수의 값이 직접 메모리 공간에 들어가 직접 그 메모리 공간에 있는 변수 값으로 동작한다.
문자열 (string)
문자열은 charcter가 안되는데 문자열은 어떻게 다루는가?
-string으로 다룬다.
-문자열을 다루는 String은 첫글자가 대문자로 시작한다.
-문자열을 다루는 String은 문자열을 대입할 수 있다.
예)String str = "ABCDEFG";
-그래서 엄밀히 말하면 기본자료형이 아닌 객체자료형이다.
-4byte 차지 한다. 32bit의 공간을 갖는다.
문자열 메모리 관리
*String 메모리 관리는 String 값은 다른 공간에 만들어 놓고 실제로 선언한 변수 str에는 또 다른 공간에 만들어 놓고
그 str은 String이 가지고 있는 ABCDEFG의 객체 주소자료만으로 동작하게 된다.
*기본자료형은 첫글자가 소문자로 시작한다.
분류 |
이름 |
바이트수 |
비고 |
실수형 |
float |
4 byte |
단정도 실수형(유효 자리는 7 |
double |
8 byte |
|
|
논리형 |
boolean |
1 byte |
true, false |
문자열 |
string |
4 byte |
기본자료형이 아닌 객체자료형 |
실습
1. 프로젝트 다시 생성해보기
*생성후 해당 프로젝트 class 생성할 때 클래스 이름을 대문자로 쓰는 습관을 들여 놓는 것이 좋다.
*23line에 s = "내이름“; 으로 변수 변경이 가능하다.
변수에 담은 자료형은 언제든지 변경이 가능하다는 것
'신입개발자로 취업하기까지 > JAVA' 카테고리의 다른 글
20200304 5강 특수문자와 서식 문자 (0) | 2020.06.14 |
---|---|
20200304 4-3강 형 변환 (0) | 2020.06.14 |
20200304 4강 기본자료형 (0) | 2020.06.13 |
20200304 3강 변수 (0) | 2020.06.13 |
20200304 2강 Java 프로그램의 실행구조 (0) | 2020.06.08 |