티스토리 뷰

728x90

기본타입

정수 타입

타입 허용범위
byte -128 ~ 127
short -32.768 ~ 32.767
char 0 ~ 65535 (유니코드)
int -2,147 ~
long - 9,223 ~ 9,223

리터럴

  • 소스 코드에서 개발자에 의해 직접 입력된 값
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로 구성
package chap02.exam01;

public class IntegerLiteralExample {

	public static void main(String[] args) {
		
		int var1 = 0b1011;
		int var2 = 013;
		int var3 = 11;
		int var4 = 0xB3;
		
		System.out.println("var1" + var1);
		System.out.println("var2" + var2);
		System.out.println("var3" + var3);
		System.out.println("var4" + var4);
	}
}

🔺 문제점

  • int var = 0b1011;로 선언을 하고 → System.out.println("var1" + var1); 로 출력을 했다. 어이없는 오타의 실수..

byte 타입 변수

package chap02.exam02;

public class ByteExample {

	public static void main(String[] args) {
		
		byte var1 = 128;
		byte var2 = 200; //byte에 200이 포함되지 않는다.
			
	}

}
  • byte 변수에 허용 범위를 초과한 값을 대입했기 때문에, 컴파일 오류 발생

long 타입 변수

package chap02.exam03;

public class LongExample {

	public static void main(String[] args) {
		
		long var1 = 10;
		long var2 = 2000000000;
		long var3 = 20000000000l; //l을 붙여주면, long타입으로 인식
	
		System.out.println(var1);
		System.out.println(var2);
		System.out.println(var3);
	}
}
  • 기본적으로 컴파일러는 정수 리터럴을 Int 타입으로 간주
    • long 타입임을 정수 리터럴 뒤에 소문자 l, 대문자 L을 붙여 알려주면 됨.

char 타입

  • 하나의 문자를 저장할 수 있는 타입
package chap02.exam04;

public class CharExample {

	public static void main(String[] args) {
		
		char c1 = 'A';
		char c2 = 65;
		char c3 = '\\u0041';
			System.out.println(c1);
			System.out.println(c2);
			System.out.println(c3);
			
		char c4 ='가';
		char c5 = 44032;
		char c6 = '\\uAC00';
		System.out.println(c4);
		System.out.println(c5);
		System.out.println(c6);
	}
}
  • 문자 리터럴: 하나의 문자를 ‘ ‘로 감싼 것. 문자 리터럴은 유니코드로 변환되어 저장됨.

String 타입

  • 문자열을 String 타입 변수에 저장
package chap02.exam05;

public class StringExample {

	public static void main(String[] args) {

		String name = "홍길동";
		String job = "프로그래머";
		
		System.out.println(name);
		System.out.println(job);
	}
}

double 타입

  • 자바는 실수 리터럴을 기본적으로 double 타입으로 해석
  • 메모리에 여유가 있고, 특별한 이유가 없는 한 실수 리터럴 ⇒ double 타입으로 저장

float 타입

  • 리터럴 뒤 f 혹은 F 붙여, float 타입으로 표시
  • 실수 리터럴을 float 타입 변수에 저장하면 컴파일 에러 발생
package chap02.exam07;

public class FloatDoubleExample {

	public static void main(String[] args) {
		
//		float var1 = 3.14; 컴파일 에러 
//		실수값 저장
		float var2 = 3.14f;
		double var3 = 3.14;
		
//		정밀도 테스트
		float var4 = 0.123456789f;
		double var5 = 0.123456789;
		
		System.out.println("var2: " + var2);
		System.out.println("var3: " + var3);
		System.out.println("var4: " + var4);
		System.out.println("var5: " + var5);
**//		double 타입인 var5가 float 타입인 var4보다 2배 이상 정밀한 값으로출력**
		
//		e 사용하기
		double var6 = 3e6;
		float var7 = 3e6f;
		
		System.out.println(var6);
		System.out.println(var7);
	}
}
var2: 3.14
var3: 3.14
var4: 0.12345679
var5: 0.123456789
3000000.0
3000000.0

논리 타입

  • 참과 거짓에 해당하는 true와 false 리터럴을 저장하는 타입
  • 두 가지 상태값에 따라 제어문의 실행 흐름을 변경하는데 사용
package chap02.exam08;

public class BooleanExample {

	public static void main(String[] args) {

		boolean stop = true;
		
		if(stop) {
			System.out.println("중지합니다.");
		} else {
			System.out.println("시작합니다.");
		}
	}
}
중지합니다.
  • stop 변수가 true 값을 가지고 있기 때문에, if 블록이 실행되어 “중지합니다.”가 출력. 만약, stop 변수가 false 값을 가지고 있다면 else 블록이 실행되어 “시작합니다.”를 출력한다.

끝내기 핵심 - 타입

  • 정수타입 : 정수를 저장할 수 있는 타입으로 byte, short, int, long 타입을 말한다
  • char 타입: ‘ ‘로 감싼 하나의 문자 리터럴을 저장할 수 있는 타입
  • String 타입: “ “로 감싼 문자열을 저장할 수 있는 타입
  • 실수 타입: 실수를 저장할 수 있는 타입으로 float, double 타입
  • boolean 타입: 참, 거짓 → ture, false를 저장할 수 있는 타입
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함