본문 바로가기

준비중

자바 복습하기 (변수편)

반응형

1.  변수의 선언

변수는 선언과 동시에 초기화 하는 것을 추천한다.

int age = 23;

int - 변수타입

age - 변수이름

23 - 23으로 초기화

 

자료형은 크게 '기본형'과 '참조형' 2가지로 나뉜다.

기본형 변수 - 실제 값(data)를 저장

참조형 변수 - 어떤 값이 저장되어 있는 주소를 값으로 가짐

 

* java는 C언어와 달리 참조형 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수이다.

 

*참조변수 선언방법

Number one = new Number(); //Number객체를 생성하여 그 주소를 one에 저장

객체를 생성하는 연산자 new의 결과는 생성된 객체의 주소로 해당 주소는 참조변수 one에 저장되고 참조면수 one을 통해서 생성된 객체를 사용할 수 있다.

 

 

2. 변수의 타입

기본형에는 8개의 타입이 있는데 boolean을 제외한 나머지는 서로 연산과 변환이 가능하다.

또한 그 중 정수형은 4가지의 타입을 이용할 수 있는데

int - CPU가 가장 효율적으로 처리할 수 있는 타입

byte, short - 메모리 절약을 위한 타입

 

* 앵간하면 가장 효율적인 int로 정수형 변수를 선언하면 좋다. 허나, 약20억인 int의 범위를 넘어가는 수를 사용할 때는 long을 사용하면 된다.

* 해당 타입이 표현할 수 있는 값의 범위를 넘어서는 것을 overflow라고 한다.

 

 

상수는 변수와 마찬가지로 값을 저장할 수 있지만 변수와는 다르게 한 번 저장하면 다른 값으로 변경할 수 없다.

상수 선언방법은 final을 붙여 사용한다.

final int SIZE = 25;

상수는 선언과 동시에 초기화해야 하며, 대문자로 적는 것이 암묵적인 룰이다.

 

 

실수형 리터럴에는 접미사를 붙여서 타입을 구분한다.

리터럴에 접미사가 붙는 타입은 long, float, double이 있는데 double은 생략이 가능하다.

float pi = 3.14f;

* float은 실수값을 부동소수점 방식으로 저장하며 4byte

* double은 float보다 두 배의 크기로 8byte이다.

* 타입이 달라도 저장범위가 넓은 타입에 좁은 타입을 저장하는 것은 허용되므로 double pi = 3.14f 형식도 가능하다.

* 실수형 값을 저장할 때, float타입이 아닌 double타입의 변수를 사용하는 경우는 대부분 저장하려는 값의 범위때문이 아닌 높은 정밀도를 위해서이다. 따라서 연산속도의 향상이나 메모리를 절약한다면 float을,  범위가 큰 값을 저장하거나 높은 정밀도를 위한다면 double을 사용하면 된다.

 

 

3. 변수의 출력

println()은 변수의 값을 그대로 출력하며 값을 변환하지 않았다면 다른 형식으로 출력할 수 없다.

허나, printf()를 이용하면 지사자 %d를 이용하여 같은 값이라도 다른 형식으로 출력할 수 있다.

* println()은 출력 후 줄바꿈을 자동으로 하나, printf()는 %n을 이용하여 줄바꿈을 해줘야 한다.

System.out.printf("num:%d%n",num);

 

4. 변수의 입력

console에서의 입력을 위해서는 Scanner클래스를 사용하면 된다.

import java.util.*;
Scanner scanner = new Scanner(System.in); //Scanner 클래스 객체 생성

실질적인 입력방식으로는

point[s] = scanner.nextInt();
String point = scanner.nextLine();

이 있는데 nextInt()의 경우 정수형을 받아오고 nextLine()은 입력대기 상태에 있다가 입력을 마치고 엔터를 누르면 입력한 내용이 문자열로 반환된다. 

* 다양한 방법이 있지만 앵간하면 모든 값을 nextLine()으로 입력받고 적절히 변환하는 것을 추천한다.

 

5. 변수의 형변환

double을 int로 형변환하는 방법

double a = 24.3;
int b = (int)a;

 

 

 

반응형