문자(char)
문자 한개만 저장하여 따옴표(')를 사용하여 값을 지정 (ex. 'A')
char alphabet = 'A'
문자열(String)
문자 여러개를 문장 형태로 저장하며 쌍따옴표(")로 사용범위를 지정하여 사용(ex. "Hello")
String message = "Hello"
문자(char)
문자 뒤에 널문자 가 없다. (1byte만 쓰기 때문에 끝을 알아서 데이터만 저장하면 됨)
문자열(String)
문장의 끝에 널문자가 함께 저장이 됨 (몇개의 byte를 쓸지 모르기에 끝을 표시함)
기본형 변수가 실제 값을 저장하는 공간이면, 참조형 변수는 실제값이 아닌 원본값의 주소값을 저장
즉 참조형 변수는 주소형 변수로 불린다.
Stack 영역 (정적으로 할당된 영역) 정적: 항상 크기가 정해져 있을 때 (byte가 고정으로 정해져 있음)
기본형 변수를 저장하며 크기가 정해져 있는 참조형 변수의 주소값도 저장
Heap 영역 (동적으로 할당된 영역) 동적: 알 수 없을 때 (참조영역이 얼마나 커질 지 모르므로 동적으로 움직여야 함)
크기가 늘어날 수 있는 참조형 변수의 원본을 저장
입력
Java는 기본적으로 Scanner.in 객체의 next() 명령을 사용하여 입력받는다.
Scanner sc = new Scanner(System.in); // Scanner 객체를 new 명령어로 생성합니다.
String input = sc.next(); // sc(Scanner)의 .next(); 를 실행하면 input 변수에 입력한 글자를 받을 수 있습니다.
출력
Java 프로그램에서는 기본적으로 System.out 객체의 println() 명령을 사용해서 출력한다.
Scanner sc = new Scanner(System.in);
String input = sc.next();
System.out.println("입력값 : " + input); // 입력한 글자를 출력합니다.
// 실행 결과
{입력}
입력값 : {입력}
1byte = 8bit
1 Byte 내에서 숫자 변수는 Bit 2진수를 10진수로 저장(표현)한다.
10진수로는 0~255(2^8)까지 저장(표현)한다.
1 Byte 내에서 문자 변수의 경우만 Bit 2진수를 16진수로 저장(표현)한다.