Java

상수(Constant)

ryeonng 2024. 4. 11. 04:33

상수(constant)란 뭘까?

  • 변하지 않는 수, 반드시 값이 초기화 되어야 하고 한번 초기화 되면 변경할 수 없게 하는 메모리 공간
  • ex) 원주율 3.14, 1년의 12개월, 최대 사용 가능자의 수 등을 표현할 때 사용\
  • 자바에서 상수를 선언하는 방법 -  final 예약어 사용
public class ConstantTest {
	public static void main(String[] args) {
		final int MAX_NUM = 10;
		final int MIN_NUM;
		MIN_NUM = 0;
		System.out.println(MAX_NUM);
		System.out.println(MIN_NUM);
		// MAX_NUM = 100;
	}
}

 

상수를 사용하면 코드의 의미가 명확해지고, 나중에 값을 변경해야 할 경우에도 쉽게 대응할 수 있다.

 

package basic.ch02;

/**
 *  
 * 컴파일 시점과 --> .class 파일을 만들어 내는 과정 (javac 명령어 동작)  
 * 런타임 시점 --> ctrl + F11 프로그램 실행 ~~~~~~ 실행 종료 까지  
 * 
 * java 명령어는 프로그램을 실행 시키는 명령어 이다.
 * javac 명령어는 번역하는 과정이다. 
 *  
 * 자바 언어로 코드를 작성하고 있어요 
 * JDK 도구를 설치 해야 자바 프로그래밍 가능 -> 도구들이 존재 
 * JDK --> JRE(자바 프로그램 실행 환경이라고 한다) 
 * JRE --> JVM(자바 가상 머신) 
 * JVM 은 .clss 파일을 실행 시켜주는 녀석이다.
 * JVM은 어떤 연산을 거져 이진코드(바이너리 파일로 변환 시켜서 수행하는 녀석이다)   
 */
public class Constant {
	
	// 메인 함수 - 코드의 시작점 
	public static void main(String[] args) {
		
		// 상수 선언 --> 값이 한번 정해지면 변경할 수 없는 수(값, 데이터) 
		final int MAX_NUM = 10; 
		final int MIN_NUM; 
		MIN_NUM = 0; 
		
		// MAX_NUM  = 100; // 컴파일 오류 발생 
		
		// crtl + s 누르면 IDE 툴이 javac Constant.java 명령어를 수행한다. 
		// 명령어의 결과로 Constant.clss 파일이 생성 된다. 
		// why? JVM 이해할 수 있는 언어이기 때문에 번역을 해주어야 한다. 
		
		System.out.println("------------------------");
		// 원주율 상수로 선언 
		final double PI = 3.14159;
		// 원에 반지름을 상수로 선언 하자. 
		final int RADIUS = 10; 
		
		// 원의 둘레 계산 
		System.out.println(2 * PI * RADIUS);
		// 원의 면적 계산 (원 내부의 공간의 크기) 
		System.out.println(PI * RADIUS * RADIUS);
		
		
	} // end of main 
	
} // end of class

 


 

리터럴(literal)

  • 리터럴은 소스 코드 내에서 고정된 값을 직접 나타내는 데이터 ex) 10, 123, 3.14, 'A'
  • 변수나 상수에 할당되는 값 자체를 표현, 이 값들은 프로그램 실행 중 변경될 수 없다.
  • 리터럴은 상수와 비슷해 보일 수 있지만, 리터럴은 '값 자체'를 의미하고, 상수는 '값이 저장되는 변경 불가능한 메모리 공간'을 의미

 

도전 과제 1

사각형의 면적을 구하는 코드를 작성해보시오 단, 상수를 선언해서 활용하세요

 

package basic.ch02;

public class RectangleAreaCalculator {
	
	public static void main(String[] args) {
		// 가로 길이, 세로 길이 , 단 상수 사용 
		// 아래에 식을 작성하시오.  
		final int WIDTH = 20; 
		final int HEIGHT = 10; 
		int area = WIDTH * HEIGHT;
		// 결과 출력하기 		
		System.out.println("사각형의 면적 : " + area );
		// 문자열은 특별한 녀석이다. 연산을 사용할 수 있습니다. 
		// 문자열 + 정수,  문자열 + 실수 .... 
		// 위 연산에 결과 값은 ---> 문자열 리턴 된다. 
	}
}

 

 

도전 과제 2

 

삼각형의 면적을 계산하는 코드를 작성해 보자. ( 밑변 * 높이 ) / 2

 

package basic.ch02;

public class TraingleAreaCalculator {

	public static void main(String[] args) {
		
		// 삼각형에 밑변 BASE , 단 상수로 선언 
		final double BASE = 10.0; 
		// 삼각형의 높이 HEIGHT, 단 상수로 선언 
		final double HEIGHT = 5.0;
		// 결과 값을 area 변수에 저장 
		double area = (BASE * HEIGHT) / 2; 
		// 결과 출력 하기 
		System.out.println(" 삼각형의 면적 : " + area );
//		String result = " 삼각형의 면적 : " + area;
//		System.out.println(result);
		

	} // end of main 

} // end of class

 

 

'Java' 카테고리의 다른 글

연산자(증감, 감소)  (0) 2024.04.11
연산자(산술)  (0) 2024.04.11
연산자(항, 대입, 부호)  (0) 2024.04.11
형 변환(type casting)  (0) 2024.04.11
변수(Variable)와 자료형(Datatype)  (0) 2024.04.09