JAVA

JAVA_변수, 상수, 리터럴, Scanner

channnnii 2022. 3. 7. 16:08

#변수의 선언과 저장

 

프로그래밍을 하다보면 값을 저장해 둘 공간이 필요한데, 그 공간을 변수(variable)라고 합니다.

하나의 값을 저장할 수 있는 저장공간, 즉 변수가 필요하면 먼저 변수를 선언해야 합니다.

변수를 선언하는 방법은, "변수타입 변수이름;"

 

1. int x;   ->   정수(integer)를 저장하기 위한 변수 x 선언

2. x = 5;  ->   변수 x에 정수 5를 저장

3. x = 3;  ->   변수 x에 기존에 저장된 값은 지우고, 3을 저장

 


#상수와 리터럴

 

상수(constant)도 '값을 저장할 수 있는 공간'이지만, 변수와는 달리 한번 값을 저장하면 다른 값으로 변경할 수 없습니다.

상수를 선언하는 방법은 변수 타입 앞에 키워드 'final'을 붙여주기만 하면 됩니다.

final int MAX_VALUE;	//정수형 상수 MAX_VALUE를 선언
MAX_VALUE = 100;	//OK. 상수에 처음으로 값을 저장
MAX_VALUE = 200;	//ERROR. 상수에 저장된 값을 변경할 수 없음.

 

용어 정리
1. 변수(variable)란, 하나의 값을 저장하기 위한 공간
2. 상수(constant)란, 값을 한번만 저장할 수 있는 공간

3. 리터럴(literal)이란, 그 자체로 값을 의미하는 것   ->   MAX_VALUE = 100; 에서 100이라는 값 자체를 리터럴이라고 합니다.

 


 #기본형과 참조형

 

자료형은 '기본형''참조형'으로 나눌 수 있는데, 기본형 변수는 실제 값(data)을 저장하는 반면, 참조형 변수는 어떤 값이 저장되어 있는 주소(memory address)를 값으로 갖습니다.

자바는 참조형 변수의 값을 연산할 수 없으므로 실제 연산에서는 기본형 변수를 사용합니다.

 

▶ 기본형의 종류  _ 자료형의 종류와 크기는 반드시 외워야 합니다.

  1) 논리형(boolean) - 1byte

  2) 문자형(char) - 2byte

  3) 정수형(int) - 4byte

  4) 실수형(float) - 4byte

  5) 실수형(double) - 8byte

 


#Scanner 클래스의 객체를 사용하여 화면으로부터 입력받기

 

먼저, Scanner클래스를 사용하기 위한 준비  >>  import java.util.Scanner;

 

다음으로 Scanner클래스의 객체를 생성합니다.

Scanner scanner = new Scanner(System.in);

 

그리고 정수를 입력받을 메서드를 호출,

int num = scanner.nextInt();  >>  정수를 입력받아서 변수 num에 저장

import java.util.Scanner;

class EX1{
	public static void main(String[] args)	{
            Scanner scanner = new Scanner(System.in);

            System.out.print("정수를 입력 : ");
            int num = scanner.nextInt();

            System.out.println("입력받은 정수 : "+num);
	}
}

 

 

 

 

※ 심화적으로 nextLine()에 대해,

nextLine(); 이라는 메서드를 호출하면, 입력대기 상태에 있다가 입력을 마치고'Enter'키를 누르면 입력한 내용이 문자열로 반환

String input = scanner.nextLine();   >>  입력받은 내용을 input에 저장

int num = Integer.parseInt(input);   >>  입력받은 내용을 int 타입의 값으로 변환

                                                     Integer.parseInt() 메서드는 문자열을 int타입으로 변환시켜줍니다.

import java.util.Scanner;

class EX2{
	public static void main(String[] args)	{
            Scanner scanner = new Scanner(System.in);

            System.out.print("정수를 입력 : ");
            String input = scanner.nextLine();
            int num = Integer.parseInt(input);

            System.out.println("입력받은 정수 : "+num);
	}
}