변수와 상수의 차이점 알기

변수 : 언제든지 저장값이 변경될 수 있는 공간 vs 상수 : 한 번 정해지면 값을 변경할 필요가 없는 데이터(ex> 원주율)


1. 새로운 자바프로젝트를 만들고, 메인클래스를 만들면서 메인함수를 자동생성해준다.


2. 여러 타입의 '변수를 선언'하고, 그안에 어떠한 값을 넣어서 '초기화' 해준다.

(1) 변수형태인 int(정수형)와 변수 intType이라고 짓고, 100이라는 값을 넣어준다.

(2) 실수형 double의 변수를 짓고 150.5라는 값을 넣어준다.

(3) 문자형 String의 변수를 짓고, 큰따옴표를 통해 문자를 구분해서 넣어준다.

int intType = 100;

double doubleType = 150.5;

String stringType = "조재성";

(4) System.out.println을 통해 각 변수들을 출력해본다.


3. final 키워드를 이용해서 상수를 정의하고 사용해보자.

(1)Main 클래스 속 Main함수 바깥에 실수형 상수 final static double PI = 3.141592; 를 선언하여 초기화한다.(상수는 실행시 시작하는 Main함수 바깥에 정의해줌)

final static double PI = 3.141592;

(2) 여기서 final은 '한번 선언되면 바뀌지 않는 상수' , static은 '<하나의 클래스 내>에서 공유하는 자원들'을 의미한다.

(3) 메인함수안에 int r=30;을 변수선언후 초기화 해준다.

(4) 출력함수에 r*r*PI를 통해 반지름이 30인 원의 넓이를 출력해준다.

int r = 30;

System.out.println(r*r*PI);


4. 오버플로의 개념 :  변수들은 그 범위가 정해져있다.

(1) 메인함수 밖에 정수형 상수를 선언하여 초기화해준다. 초기화값으로는 2147483647이라는 int형 자료형이 가질수 있는 최대값을 넣어준다.

final static int INT_MAX = 2147483647;

(2) 메인함수 안에서 int형 변수에다가 위에서 만든 INT_MAX라는 상수를 넣고 출력해본다.

(3) 거기다가 +1을 해서 출력해본다.( +1된 값이 아닌, 오버플로에 의해, 최저값이 출력된다. 순환적인 모습을 보인다.)


5. 사칙연산 프로그램을 작성해보자.

(1) 메인함수 안에다가  아래 문장을 작성해서 "문자열" + (실제연산하여 도출될 값)을 출력해준다.

int a = 1;

int b = 2;

System.out.println("a + b = " +(a+b) );

(2) 곱하기 나누기도 그대로 적용해본다. *나누기는 '몫'만 출력된다.

+ Recent posts