자바

[java] 기본 타입(정수타입, 논리타입, string 타입, 실수 타입)

미스터 한뺑 2023. 3. 24. 16:53
반응형

1. 기본 타입

자바는 정수, 실수 , 논리값을 저장할 수 있는 기본 타입을 제공한다. 자바가 제공하는 기본 타입은 총 8개이다.

- 정수를 저장할수 있는 타입 : byte , char , short , int , long

- 소수점이 있는 실수를 저장 할 수 있는 타입 : float, double

- 논리값을 저장할수 있는 타입 : boolean

 

2. 정수 타입

자바에서 정수 타립은 총 5개로 , 메모리 사용 크크와 저장되는 값의 범위가 서로 다르다.

타입 메모리 사용크기
byte 1byte 8bit
short 2byte 16bit
char 3byte 16bit
int 4byte 32bit
long 8byte 64bit

 

char 타입

하나의 문자를 작은따옴표로 감싼 것을 문자 리터럴이라고 부른다. 문자 리터럴릉 유니코드로 변환되어 저장한다. 유니코드는 세계 각국의 문자를 2바이트로 표현할 수 있는 숫자로 매핑한 국제 표준규약이다. 자바는 이러한 유니코드를 저장할 수 있도록 2바이트 크기인 char타입을 제공한다. 

더보기

char var1 = 'A' // 유니코드 65

char var2 = 'B' //유니코드 66

유니코드는 정수이므로 char도 정수 타입에 속한다. 

그래서 char 변수에 작은따옴표로 감싼 문자가 아니라 10진수 또는 16진수 형태로 유니코드를 저장할 수 있다.

 

	public static void main(String[] args) {
		char c1 = 'A'; //문자를 입력
		char c2 = 65; // 10진수 입력
		char c3 = '\u0041'; // 16진수 입력
		
		char c4 = '가'; //문자를 입력
		char c5 = 44032; // 10진수 입력
		char c6 = '\uac00'; // 16진수 입력
		
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
		System.out.println(c4);
		System.out.println(c5);
		System.out.println(c6);
		

	}

값이 동일하게 나오는 것을 알 수가 있다 . 

 

string 타입

작은따옴표로 감싼 문자는 char 타입 변수에 저장되어 유니코드에 저장되지만, 큰따옴표로 감싼 문자 또는 여러 개의 문자들은  유니코드로 변환되지 않는다. 

 

- 잘못된 예시

더보기

char var1 = "A";

char var2 = "홍길동";

 

자바에서 큰따옴표로 감싼 문자들은 문자열이라 부른다. 작은따옴표와 큰따옴표는 컴파일러가 문자 리터럴과 문자열 리터럴을 구별하는 기호로 사용한다. 문자열을 변수에 저장하고 싶다면 다음 예시와 똑같이 작성해야한다. 

더보기

String var1 = "A";

String var2 = "홍길동";

public class StringExample {

	public static void main(String[] args) {
		String name = "한정훈";
		String job = "프로그래머";
		System.out.println(name);
		System.out.println(job);


	}

 

이스케이프 문자

문자열 내부에 역슬레시가 붙는 문자를 사용할 수 있다. 이스케이프 문자를 사용하면 문자열 내부에 특정한 문자를 포함시킬수 있다. 예를들면 큰따옴표를 한 문장에 두번 쓰는 방법이다. 

	public static void main(String[] args) {
		String name = "한정훈";
		String job = "프로그래머";
		System.out.println(name);
		System.out.println(job);

		String str = "나는 \"자바\"를 좋아합니다"; // \" : 따옴표 표시
		String str2 = "번호\t이름\t나이"; // \t : tap 띄우기
		String str3 = "홍길동\n감자바"; // \n: 줄바꿈
		String str4 = "한정훈\r요리사"; // \r: 캐리지리턴
		System.out.println(str);
		System.out.println(str2);
		System.out.println(str3);
		System.out.println(str4);
		
	

	}

실수타입

소수점이 있는 실수 리터럴을 저장할 수 있는 타임에는 flaot과 double이 있다. 

타입 메모리 사용 크기
float 4byte 32bit
double 8btye 64bit

 

더보기

- 실수 리터럴

소스 코드에서 소수점이 있는 숫자 리터럴은 10진수 실수로 인식된다.

 

EX) 0.25 , -3.14

 

또한 알파벳 소문자 e 또는 대문자 E가 포함되어 있는 숫자 리터럴은 지수와 같이 가수로 표현된 소수점이 있는 10진수 실수로 인식한다.

 

EX)

5e2

0.12E-2

package sec03.exam01;

public class flaotDoubleExample {

	public static void main(String[] args) {
		//실수값 저장
		//flaot var1 = 3.14; 컴파일 에러
		float var2 = 3.14f;
		double var3 = 3.14;
		
		//정밀도 테스트
		float var4 = 0.1234567890123456789f;
		double var5 = 0.1234567890123456789;
		
		System.out.println("var2:" + var2);
		System.out.println("var3:" + var3);
		System.out.println("var4:" + var4);
		System.out.println("var5:" + var5);
		
		// e사용하기
		double var6 = 3e6;
		float var7 = 3e6F;
		double var8 = 2e-3;
		System.out.println("var6:" + var6);
		System.out.println("var7:" + var7);
		System.out.println("var8:" + var8);
		
	}

}

 

논리 타입

자바는 참과 거짓을 의미하는 논리 리터럴로 true와 false를 사용한다. 논리 리터럴은 다음과 같이 1byte 크기릐 boolean 타입 변수에 저장할 수 있다.

더보기

boolean stop = ture;

boolean state = false;

boolean 타입 변수는 주로 두가지 상태갑에 따라 조건문과 제어문의 실행 흐름을 변견하는데 사용한다.

package sec03.exam01;

public class BooleanExample {

	public static void main(String[] args) {
		boolean stop = true;
		boolean start = false;
		//값이 true일 때 
		if(stop) {
			System.out.println("중지합니다.");
		}else {
			System.out.println("시작합니다.");
		}
		// 값이 false일때
		if(start) {
			System.out.println("중지합니다.");
		}else {
			System.out.println("시작합니다.");
		}

	}

}

반응형

'자바' 카테고리의 다른 글

[java] 연산자와 연산식  (0) 2023.03.30
[java] 변수와 시스템 입출력  (0) 2023.03.27
[java] 타입 변환  (0) 2023.03.24
[java] 변수  (0) 2023.03.24
[java] 1. 프로그램 소스 분석  (0) 2023.03.24