Java 정리02
- 변수: 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름
- 프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽음
- 변수의 타입은 변수에 저장되는 값의 종류와 범위를 결정짓는 요소
- 자바에서는 변수에 값이 저장되지 않으면 변수가 생성되지 않음(선언과 생성은 다름)
- 로컬 변수: 메소드 블록 내에서 선언된 변수, 메소드 실행이 끝나면 메모리에서 자동으로 없어짐
- 변수 선언: 변수에 어떤 타입의 데이터를 저장할지와 변수 이름이 무엇인지를 결정
- 변수 사용: 변수의 값을 읽거나 변경하는 것
- 변수 사용 범위: 변수는 자신이 선언된 위치에서 자신이 속한 블록 내부까지만 사용 가능
- 정수 타입: byte(8bit=1byte), char(16bit), short(16bit), int(32bit), long(64bit)
- 실수 타입: float(32bit), double(64bit)
- 논리 타입: boolean
- 타입 변수에 허용 범위를 초과한 값을 대입했을 경우 컴파일 에러
- 리터럴(literal): 소스 코드에서 프로그래머에 의해 직접 입력된 값
- 2진수 시작: 0b / 8진수 시작: 0 / 10진수 시작: 소수점 X / 16진수 시작: 0x, 0X
- 작은따옴표('): char 타입 변수에 저장되어 유니코드로 저장
- 큰따옴표("): 문자열
- 이스케이프 문자(\): 문자열 내부에 특정 문자를 포함 가능 ex) ", \t, \n
- 자바는 실수 리터럴을 기본적으로 double 타입으로 해석, float 타입 변수에 저장하면 컴파일 에러
- float 타입으로 저장하고 싶으면 값 뒤에 f, F
- 자동 타입 변환: 값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때 발생
byte < short < int < long < float < double
- 강제 타입 변환(casting): 큰 허용 범위 타입을 작은 허용 범위 타입으로 강제로 나눠서 저장하는 것
byte = (byte) int;
- 자바에서 정수 연산의 결과는 정수
- 문자열을 기본타입으로 변경: Byte.parseByte(문자열) / Integer.parseInt(문자열) / Boolean.parseBoolean(문자열) ...
- 기본 타입을 문자열로 변경: String.valueOf(기본타입값)
- 표준 출력: System.out.println("~");
- 표준 입력: System.in.read(); //문자 하나(int 타입으로 반환)
- 문자열 입력
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();