위로 아래

기초 데이터 타입

정수형

기본 : int 형

int fifteen = 15;   // 4바이트  -2,147,483,648 ~ 2,147,483,647
byte fifteen = 15;   // 1바이트  -128 ~ 127
short fifteen = 15;   // 2바이트  -32,768 ~ 32,767
long lightSpeed = 300000L  // 8바이트. long 타입임을 명시하기 위해 뒤에 L을 붙여야 함

고정소수점 : 소수점 위치가 고정

 

 

실수형

기본 : double 형

double half = 0.5;  // 8바이트
double half = 5E-1;  // 5x10^-1 
double pi = 3.14159;
float pi = 3.14159F;  // 4바이트. float 타입임을 명시하기 위해 뒤에 F를 붙여야 함

부동소수점 : 첫번째 이진수 뒤로 소수점을 찍는다.

 

 

문자형

char c = 'A';  // 기본형
char c = 65;  // 자바의 문자는 원래 정수형이라, 숫자를 입력하면 그에 맞는 문자가 나타난다.
char c = '\u0041';  // 유니코드 값으로 대입

 

논리형

boolean condition = true;
boolean condition = false;

 

 


상수

final double PI = 3.14159;

자료형 앞에 final을 붙여준다. (변수 이름은 전부 대문자로)

 

 


타입 변환

자동 타입 변환 (auto casting or promotion)

서로 다른 타입끼리 연산할 시, 자바 컴파일러가 둘 중 더 큰 데이터 타입으로 데이터 자료형을 통일한다.

 

강제 타입 변환 (casitng)

크기가 더 작은 자료형으로 변환하면 자료의 일부를 잃을 수 있다.

float f = (float)3.14;  // double형 실수 3.14를 float형 실수 3.14f로 변환.
byte b = (byte)300;  // int형 정수 300을 byte로 변환. 1바이트 크기만큼만 저장되고 나머지 손실.
byte x = (byte)3.14;  // double형 실수 3.14를 byte로 변환. 정수형 3만 저장되고 소수점 밑을 손실.
double d =(double)3.14f  // float형 실수 3.14f를 double로 변환.

 

예시

public class CastDemo {
	public static void main(String[] args) {
		int i;
		double d;
		byte b;
		
		i =7 / 4;
		System.out.println(i);
		d = 7 / 4;
		System.out.println(d);
		d = 7 / (double) 4;
		System.out.println(d);
		
		i = 300;
		if(i<Byte.MIN_VALUE || i>Byte.MAX_VALUE)
			System.out.println("byte 타입으로 변환할 수 없습니다.");
		else
			b = (byte) i;
		b = (byte) i;
		System.out.println(b);  // 결과 44. 데이터 손실이 일어남.
	}
}

문자열과 정수형 타입 변환

public class String4Demo {
	public static void main(String[] args) {
		int i = 7;
		System.out.println("Java "+i);   // 결과 Java 7
		System.out.println("Java "+ 7);   // 결과 Java 7
		System.out.println(7 + 1 +"Java "+7 +1);   // 결과 8Java 71 
	}
}

 


예약어 

예약어 var는 최신 버전에서 나온 기능으로, 실무에서는 별로 사용하지 않는다.

var a = 100;  // int 타입으로 추론되어 var 선언
var str = "한국";  // String 타입으로 추론되어 var 선언

int var = 1;  // 변수 이름으로 사용 가능
var x = 1, y = 2;  // 불가능. var는 다수의 변수를 하나의 실행문으로 초기화 불가능.
var str = null;  // 불가능. var 변수에는 null을 대입할 수 없다.
var oops;  // 불가능. var는 바로 초기화해야 타입을 추론할 수 있다.