본문 바로가기
  • 문과생의 백엔드 개발자 성장기
카테고리 없음

04. 변하지 않는 상수와 리터럴, 변수의 형 변환

by 케리's 2022. 6. 21.

상수(constant) 선언하기

  • 상수는 변하지 않는 수
  • 원주률 3.14, 1년 12개월 등
  • final 예약어를 사용하여 선언
  • 상수를 사용하면 변하지 않는 값을 반복하여 사용할 때 의미있는 문자로 인식하기 쉽고
    혹, 변하더라도 선언한 부분만 변경하면 되므로 여러부분을 수정할 필요가 없음

 

 

package ch10;

public class ConstantTest {

	public static void main(String[] args) {
		
		// 상수는 변하지 않는 값 , 초기화 후 값을 꼭 지정해야한다.
		final int MAX_NUM = 100;
		final int MIN_NUM;
		
		MIN_NUM = 0;
		// MAX_NUM = 20;
		
		System.out.println(MAX_NUM);
		System.out.println(MIN_NUM);
	}

}

 

 

리터럴(literal)

  • 프로그램에서 사용하는 숫자, 문자, 논리값을 뜻함
  • 리터럴은 상수 풀(constant pool)에 있음
  • 정수 리터럴은 int 로 실수 리터럴은 double 로 저장됨
    정수의 범위가 넘어가는 경우는 L,l을 float로 사용하려는 경우는 F,f 식별자를 써줘야 함

 

형 변환 (type conversion)

  • 서로 다른 자료형 간에 연산등의 수행을 위해 하나의 자료형으로 통일하는 것
  • 묵시적 형 변환(explicit type conversion, 자동 형 변환)과 명시적 형 변환(implicit type conversion, 강제 형 변환)이 있음
  • 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어 짐
  • 덜 정밀한 자료형에서 더 정밀한 자료형으로읜 형 변환은 자동으로 이루어 짐

 

package ch10;

public class TypeConversion {

	public static void main(String[] args) {
		
		// byte < int 가 크기 때문에 묵시적 형변환 가능하다.
		//byte bNum = 125;
		//int iNum = bNum;
		
		//System.out.println(iNum);
		
		
		// 명시적 형변환 , 대신 숫자가 잘려도 무시
		int iNum = 255;
		byte bNum = (byte)iNum;
		
		System.out.println(bNum);
		
		double dNum = 1.2;
		float fNum = 0.9f;
		
		int iNum1 = (int)dNum + (int)fNum;
		int iNum2 = (int)(dNum + fNum);
		
		System.out.println(iNum1);
		System.out.println(iNum2);
	}

}

-----------------------------

-1
1
2

댓글