Notice
Recent Comments
Recent Posts
«   2024/11   »
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
Today
Total
관리 메뉴

기록 > 기억

[JAVA] 변수와 형변환 본문

IT국비지원

[JAVA] 변수와 형변환

BY SON 2021. 10. 24. 19:09

변수와 형변환

 

하나의 값을 저장할 수 있는 메모리 공간 (한가지 타입만 저장가능)

● 변수 선언

//데이터타입 변수명;
int  age;

//정수타입의 값만 저장가능
//age 라는 이름을 통해 메모리 주소에 접근

 

● 변수에 값 할당

//방법 1
int  age;	//변수 선언
age = 30;	//값 저장

//방법 2
int age = 30;	//변수 선언과 동시에 초기화

 

● 리터럴 → 소스코드 안에 직접 입력된 값

int age = 30;		//정수 리터럴 (byte, char, short, int, long)
double pi = 3.14;	//실수 리터럴 (float, double)
char alpha = 'A';	//문자 리터럴 (char) → 작은 따옴표로 묶은 텍스트
String str = "JAVA";	//문자열 리터럴 (String) → 큰 따옴표로 묶은 텍스트
boolean flag = true;	//논리 리터럴 (boolean) → true, false

 

● 변수의 사용범위 → 변수는 선언된 블록 안에서만 사용가능

public static void main(String[] args) {
	int a = 10;
	if(a > 5) {
		int b = a - 5;
		System.out.printf("%d, %d", a, b);	//10, 5
	}
	System.out.println(b + 5);	//변수 b는 if문 안에서 선언되었기 때문에 if문 밖에서 사용불가   
}

 

● 형변환

데이터 타입의 범위  byte (1) < short (2) < int (4) < long (8) < float (4) < double (8)

 

① 자동 형변환 → 큰 크기의 타입 = 작은 크기의 타입

double a = 3.0f;	//double ← float (자동 형변환)
float b = 3.0;		//float ← double (오류발생)

 

② 강제 형변환 →  작은 크기의 타입 = (작은 크기의 타입)큰 크기의 타입

float a = 100.0;	//float ← double (오류발생)
int b = 100.0f;		//int ← float (오류발생)

float a = (float)100.0;	//강제 형변환
int b = (int)100.0f;	//강제 형변환

 

byte a = 10;
byte b = 20;

//byte, char, short, int 타입 변수는 연산식에서 int 타입으로 자동 형변환 됨!!
byte c = a + b;	  //byte ← int (오류발생)
int c = a + b;	  //int 타입에 넣어 주어야 함
int a = 10;
long b = 20;

//피연산자 중 하나가 long 타입 변수면 다른 피연산자는 long 타입으로 자동 형변환 됨!!
int c = a + b;	  //int ← long (오류발생)
long c = a + b;   //long 타입에 넣어 주어야 함
int a = 10;
double b = 20.0;

//피연산자 중 하나가 double 타입 변수면 다른 피연산자는 double 타입으로 자동 형변환 됨!!
int c = a + b;	    //int ← double (오류발생)
double c = a + b;   //double 타입에 넣어 주어야 함

 

'IT국비지원' 카테고리의 다른 글

[JAVA] 참조 타입  (0) 2021.10.24
[JAVA] 조건문과 반복문  (0) 2021.10.24
[JAVA] 연산자  (0) 2021.10.24
[JAVA] 자바 프로그램  (0) 2021.10.22
[MySQL] 프로시저 (Procedure)  (0) 2021.10.18
[MySQL] 내장 함수  (0) 2021.10.18
[MySQL] INSERT / UPDATE / DELETE 문  (0) 2021.10.18
Comments