본문 바로가기
프로그래밍언어/Java

02-2. 기본타입

by 스꼬맹이브로 2020. 12. 29.
728x90
반응형
SMALL

변수를 선언할 때 주어지는 타입에 따라 변수에 저장할 수 있는 값의 종류와 허용범위가 달라진다.

선언한 후에는 타입 변경이 불가능하다.

기본(primitive) 타입은 정수, 실수, 논리 값으로 총 8개가 있다.

 * 리터럴(literal) : 소스 코드에서 프로그래머에 의해 직접 입력된 값

 

<정수 타입>

          * 각 타입에 저장되는 값의 범위는 외울 필요 없지만 메모리 사용 크기 정도는 알고 있는 것이 좋음

  • 정수 리터럴
    • 2진수 : 0b 또는 0B로 시작하며 0과 1로 구성
    • 8진수 : 0으로 시작하고 0~7로 구성
    • 10진수 : 소수점이 없는 0~9로 구성
    • 16진수 : 0x 또는 0X로 시작하고 0~9 숫자와 A, B, C, D, E, F 또는 a, b, c, d, e, f로 구성
public class IntegerLiteralExample {
	public static void main(String[] args) {
		int var1 = 0b1011;		//2진수		
		int var2 = 0206;		//8진수
		int var3 = 365;			//10진수
		int var4 = 0xB3;		//16진수
		
		System.out.println("var1: " + var1);
		System.out.println("var2: " + var2);
		System.out.println("var3: " + var3);
		System.out.println("var4: " + var4);
	}
}

결과 : 

  * long타입 선언 시 int타입 허용 범위(-2,147,483,648~2,147,483,647)를 벗어날 경우 뒤에 l이나 L을 붙여서 사용

-char 타입

  • 문자 리터럴 : 하나의 문자를 작은 따옴표(')로 감싼 것
    → 유니코드(unicode)로 변환되어 저장됨.

     * 유니코드(unicode) : 세계 각국의 문자를 2byte로 표현할 수 있는 숫자(0~65535)로 매핑한 국제 표준 규약

     * 유니코드는 정수이므로 char타입도 정수 타입.

 

<String 타입>

  • 문자열 리터럴 : 큰따옴표(")로 감싼 문자 또는 여러 개의 문자
  • String타입은 기본 타입이 아닌 클래스 타입으로, 뒤에서 자세히 설명
  • 이스케이프(escape) 문자 : 역슬래시(\)가 붙은 문자로 문자열 내부에 특정 문자 사용이 가능

public class EscapeExample {
	public static void main(String[] args) {
		System.out.println("번호\t이름\t직업 ");
		System.out.print("행 단위 출력\n");
		System.out.print("행 단위 출력\n");
		System.out.println("우리는 \"개발자\" 입니다.");
		System.out.print("봄\\여름\\가을\\겨울");
	}
}

결과 : 

 

<실수 타입>

  • 소수점이 있는 실수 리터럴을 저장할 수 있는 타입

  • float 타입 뒤에는 소문자 f나 대문자 F를 붙여서 사용
  • double타입이 float 타입보다 2배 정도 정밀도가 높기 때문에 정확한 데이터 저장이 가능

 

<논리 타입>

  • 참과 거짓을 의미하는 논리 리터럴로 boolean타입 변수 사용 → true와 false를 나타내며 1byte크기
  • 주로 조건문과 제어문의 흐름을 변경하는 데 사용
public class BooleanExample {
	public static void main(String[] args) {
		boolean stop = true;
		if(stop) {
			System.out.println("중지합니다.");
		} else {
			System.out.println("시작합니다.");
		}
	} 
}

결과 :

 

728x90
반응형
LIST

'프로그래밍언어 > Java' 카테고리의 다른 글

02-4. 변수와 시스템 입출력  (0) 2021.01.04
02-3. 타입변환  (0) 2020.12.30
02-1. 변수  (0) 2020.12.28
01-3. 자바 프로그램 개발 과정(2)  (0) 2020.12.25
01-2. 자바 프로그램 개발 과정(1)  (0) 2020.12.24