Q:Stack영역이 뭐임?
A:정적으로 할당된 메모리 영역임->안바뀐다는 말임
그래서 크기가 정해져 있는 기본형 변수 저장함
Q:Heap 영역이 뭐임?
A:동적으로 할당된 메모리 영역임-> 바뀔수도 있다는 말
그래서 크기가 늘어날 수 있는 참조형 변수의 원본을 저장함
-> 근데 참조형 변수의 주소값은 Stack에 저장함
import java.util.Scanner;
이거 쓰려면 import 해와야함
쓰는 법
- 위에 import로 호출하고 객체 생성 하면됨
Scanner in = new Scanner(System.in); // Scanner 객체 생성 클래스_이름 객체_이름 = new 객체_이름Scanner in = new Scanner(System.in); // Scanner 객체 생성 byte a = in.nextByte(); // byte 형 입력 및 리턴 int b = in.nextInt(); // int 형 입력 및 리턴 double c = in.nextByte(); // double 형 입력 및 리턴 boolean d= in.nextBoolean(); // boolean 형 입력 및 리턴 String e = in.next(); // String 형 입력 및 리턴 (공백을 기준으로 한 단어를 읽음) String f = in.nextLine(); // String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)
Scanner sc = new Scanner(System.in);
String input = sc.next(); //여기에 "인풋임" 입력하면
System.out.println("입력값 : " + input); // 입력값: 인풋임 출력
자동 형변환
근데 큰 자료형에서 작은 자료로 이동할 때는 자동으로 형변환 안됨
why? : 자료가 손실되거나 누락됨
그래서 강제로 형변환 해줘야함
강제 형변환
int intNumber = 10; double doubleNumber = (double)intNumber; // int -> double 형변환 -> 10.0 출력 float floatNumber = (float)intNumber; // int -> float 형변환 -> 10.0 출력int intNumber = 5; double doubleNumber = 10.5; System.out.println(intNumber + doubleNumber); // 15.5 출력 << 자동으로 큰 자료형 double 로 됨