JAVA_변수, 상수, 리터럴, Scanner
#변수의 선언과 저장
프로그래밍을 하다보면 값을 저장해 둘 공간이 필요한데, 그 공간을 변수(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);
}
}