on
[ Java ] # 2. 데이터 타입
[ Java ] # 2. 데이터 타입
1. 정수형 데이터 타입
정수를 저장하기 위한 타입
자료형 byte bit 저장 가능한 범위 byte 1 8 -128 ~ 127 short 2 16 -32,768 ~ 32,767 int 4 32 ~2,147,483,648 ~ -2,147,483,647 long 8 64 -2^63 ~ 2^63 - 1
// byte 는 1byte 크기를 가짐 byte by1 = 127; byte by2 = -128; byte by3 = 128; // 범위 넘어감 (에러 발생) byte by4 = -129; // 범위 넘어감 (에러 발생) // short는 2byte 크기를 가짐 short s1 = 32_767; short s2 = -32_768; short s3 = 32_768; // 범위 넘어감 (에러 발생) short s4 = -32_769; // 범위 넘어감 (에러 발생) // int는 4byte 크기를 가짐 int i1 = 2_000_000_000; int i2 = -2_000_000_000; int i3 = 3_000_000_000; // 범위 넘어감 (에러 발생) // long은 8byte 크기를 가짐 long l1 = 3_000_000_000; // int 타입의 리터럴 상수로 읽음 (에러 발생) long l2 = 3_000_000_000L; // L = long타입의 리터럴 상수로 변환시키는 접미사를 붙여줘야함.
2. 실수형 데이터 타입
실수를 저장하기 위한 타입
오차 범위 : float - 소숫점 이하 6자리, double 소숫점 이하 15자리
자료형 byte bit 저장 가능한 범위 float 4 32 1.4 X 10^-45 ~ 3.4 X 10^38 double 8 64 4.9 X 10^-324 ~ 1.8 X 10^308
// float은 4byte 값을 가짐. 소숫점 이하 6자리 float f1 = 0.123456789; // double 타입의 리터럴 상수는 float에 들어올 수 없음 (에러 발생) float f2 = 0.123456789F; // float 타입의 리터럴 접미사 F로 붙여줘서 float 형태 리터럴 상수로 인식함. // double은 8byte 값을 가짐, 소숫점 이하 15자리 double d1 = 0.123456789;
3. 문자형 데이터 타입
문자를 저장하기 위한 타입
' A' 와 같이 작은따음표로 문자 하나를 감쌈,
' ' 작은따옴표 안에 반드시 하나의 문자가 있어야함
하나의 문자만 저장할 수 있음
자료형 byte bit 저장 가능한 범위 char 2 16 0 ~ 65535
// char 2byte 값을 가짐 char c1 = 'a'; char c2 = '0'; char c3 = 97; // 유니코드 char c4 = 48; // 유니코드 System.out.println(c1); // 결과 : a System.out.println(c2); // 결과 : 0 System.out.println(c3); // 결과 : a System.out.println(c4); // 결과 : 0
4. 논리형 데이터 타입
boolean은 true와 false 두 가지 값만 표현
자료형 byte bit 저장 가능한 범위 boolean 1 8 0, 1 (flase, true)
// boolean 1byte 값을 가짐 boolean b1 = true; // 참 boolean b2 = false; // 거짓
5. 문자열
String 타입 -> 기본형 타입 X, 참조형 타입
String은 원래 클래스
" " 큰따옴표로 두 문자 이상 감쌈
" " 큰따옴표 안에 공백을 허용함
// 문자열 String String str1 = "안녕하세요"; String str2 = "" // 내용이 없는 빈 문자열, 오류발생X // String은 클래스, 객체를 생성하는 연산자 new 사용 String name = new String("java"); // String 객체 생성 String name = "java"; // 이와 같은 표현도 허용함
from http://jayyou.tistory.com/3 by ccl(A) rewrite - 2021-10-25 04:28:09