본문 바로가기
자바

[Java] 상수, 리터럴, 변수 사용범위, 형변환

by sojung118 2024. 10. 10.

[Java] 상수, 리터럴, 변수 사용범위, 형변환

강의가 하나에 10분 남짓, 짧으면 5분대도 있는데 2배속으로 들으니까

2개 강의를 빠르게 듣고 포스팅하는걸로 방향을 틀었다.

이 포스팅도 2개의 강의 내용인데 상수, 리터럴, 변수 사용범위, 형변환에 대해 얘기한다.

 


 

※ 상수

  • 변하지 않는 수
  • 항상 같은 값을 가짐
  • final 키워드를 사용한다

※ 상수 사용 이유 

  • 프로그램 내에서 값을 변경하면 안되는 값일때 (외부 영향에 의해 변경되면 안되는 값)
  • 변경이 필요할 때는 선언값을 수정

 

[ class 이름 : FinalEx ]  /  변경이 필요하면 선언값 수정

package test1;

public class FinalEx {

	public static void main(String[] args) {
		
		final double PI = 3.14; //상수는 관례적으로 변수명을 대문자로 표기
		
	}

}

 

 

+ 리터럴 = 값 : 소스상에서 직접 입력된 값, 내부적으로는 상수와 같은 의미

  • 정수 리터럴
  • 실수 리터럴
  • 문자 리터럴
  • 논리 리터럴 이 존재

 

+ 변수의 사용범위 (scope) : 변수는 중괄호 블록 {} 내에서만 선언 및 사용 가능

 


 

 

※ 형변환 : 자료형을 다른 자료형으로 변환하는 것

  • 자동형 변환 (작은 자료형 → 큰 자료형)
  • 강제형 변환 ((작은 자료형) 큰 자료형 → 작은 자료형)
  • 연산하는 경우 큰 자료형 기준으로 자동형변환

 

[ class 이름 : CastingEx ]

package test1;

public class CastingEx {

	public static void main(String[] args) {
		//자동형 변환 (작은자료형 -> 큰 자료형)
		int a = 10;
		long b = a;
		System.out.println(b);
		
		//강제형 변환 (작은 자료형)큰 자료형 -> 작은 자료형
		double c = 10.5;
		int d = (int)c;
		//double 자료형이 int 자료형보다 큰 범위를 가지고 잇어서 자동형변환 불가
		
		System.out.println(d);
		
		//연산식 
		//연산하는 경우 큰 자료형 기준으로 자동형변환
		int e = 10;
		double f = 1.5;
		double g = e + f;
		System.out.println(g);
		
	}

}

 

출력 화면