본문 바로가기
객체 지향 프로그래밍/Java

chapter 2. 변수와 자료형

by xangmin 2022. 2. 23.
반응형

2-2. 변수란 무엇일까?

변수 선언하고 값 대입하기

package hello;

public class HelloJava {

	public static void main(String[] args) {
		int level	//정수형 변수 level을 선언
		level = 10;	//level 변수에 값 10을 대입
		System.out.println(level);	//level 출력
	}
}

 

변수 선언하고 값 대입하기

package hello;

public class HelloJava {

	public static void main(String[] args) {
		int level = 10;	//level 변수 선언과 동시에 값을 대입(초기화)
		System.out.println(level);	//level 출력
	}
}

 

변수 이름정하기

제약 사항 예시
변수 이름은 영문자(대소문자)나 숫자를 사용할 수 있고, 특수문자 중에는 $, _만 사용할 수 있다. g_level(O), count100(O)
_master(O), $won(O)
변수 이름은 숫자로 시작할 수 없습니다. 27day(X), 1abc(X)
자바에서는 이미 사용 중인 예약어는 사용할 수 없습니다. while, int, break

 

2-3. 변수가 저장되는 공간의 특성

기본 자료형 종류

  정수형 문자형 실수형 논리형
1바이트 byte - - boolean
2바이트 short char - -
3바이트 int - float -
4바이트 long - double -

 

정수 자료형

자료형 바이트 크기 수의 범위
byte 1 -2^7~2^7-1
short 2 -2^15~2^15-1
int 4 -2^31~2^31-1
long 8 -2^63~2^63-1

 

자료형 없이 변수 선언하기 (자바 10부터 생긴 문법)

변수에 대입되는 자료를 보고 컴파일러가 추측하여 알 수 있다.

var num = 10;		// int num = 10;
var dNum = 10.0;	// double dNum = 10.0;
var str = "hello";	// string str = "hello";

 

2-4. 상수와 리터럴

상수 선언하기

항상 변하지 않는 수를 상수(constant)라고 한다. 자바에서 상수는 다음처럼 final 예약어를 사용하여 선언한다.

final double PI = 3.14;
final int MAX_NUM = 100;
final int MAX_NUM = 100;
//MAX_NUM = 1000; 변경불가

 

리터럴

리터럴(literal)이란 프로그램에서 사용하는 모든 문자, 숫자, 논리값(true, false)을 일컫는 말이다. 오른쪽에서 사용한 'A', 10, 3.14와 같은 문자와 숫자를 '리터럴' 혹은 '리터럴 상수'라고 한다.

 

2-5. 형 변환

형 변환이란?

int n = 10;			//int형 변수 n에 정수 값 10을 대입
double dnum = n;	//int형 변수 n의 값을 double형 변수 dnum에 대입

 

묵시적 형 변환

byte bNum = 10;
int iNum = bNum;		//byte형 변수 bNum 값을 int형 변수 iNum에 대입

bNum의 크기는 1바이트이고 iNum의 크기는 4바이트이므로 자료 손실이 발생하지 않는다.

bNum에 들어있는 값이 모두 iNum에 저장된다. 남은 3바이트는 0으로 채워진다.

 

명시적 형 변환

int iNum = 10;
byte bNum = (byte)iNum; 	//강제로 형을 바꾸려면 바꿀 형을 괄호를 써서 명시해야한다.

byte형이 표현할 수 있는 범위를 넘는 경우에는 자료 손실이 발생할 수 있다.

 

 

 

 

 

 

반응형

댓글