혼자 공부하는 자바)
2-1. 변수
- 변수variable: 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름
- 변수 선언
- [ ] int age; // 정수int를 저장할 수 있는 'age'라는 변수 선언
- [ ] double value; //실수double를 저장할 수 있는 'value'라는 변수 선언
- 변수 초기화: 변수에 최초로 값 저장하며 변수 생성
- 초기값: 이때 사용된 값
- int score = 90;
변수의 사용범위
-
로컬변수local variable: 메소드 블록 내에서 선언된 변수. 메소드 블록 내부에서만 사용되며, 메소드 실행이 끝나면 자동으로 메모리에서 없어짐
-
변수 선언시 주의사항 ✓
- 메소드 블록 전체에서 사용하고 싶다면 메소드 블록 첫머리에 선언해야함
- 특정 블록 내부에서만 사용된다면 해당 블록 내에 선언해야함
- 변수가 어떤 범위에서 사용될것인지 생각하고 선언위치를 정해야함!
- "정수 타입"
- 💡String 타입: 기본 타입이 아님. 클래스 타입 중 하나.
-
리터럴literal: 소스 코드에서 프로그래머에 의해 직접 입력된 값. 입력된 리터럴 중 자바가 정수로 인식하는 경우는 2진수, 8진수, 10진수, 16진수일 때!
-
8개의 bit = 2개의 nibble = 1개의 byte = $2^8$ = 256가지 표현가능 ( 0 ~ 255 )
-
bit 1개 = $2^1$ = 2가지 상태 표현 가능 / bit 2개 = $2^2$ = 4가지 상태 표현 가능!
-
nibble = $2^4$ = 16가지 상태 표현 가능( 0~15 )
-
[ ] 1000byte = 1Kbyte ($10^3$)
-
[ ] 1000Kbyte = 1Mbyte($10^6)$
-
[ ] 1000Mbyte = 1Gbyte($10^9$)
-
[ ] 1000Gbyte = 1Tbyte($10^12$ )
-
기본적으로 컴파일러는 정수 리터럴을 int 타입으로 간주. 그렇기에 정수 리터럴이 int 타입의 허용범위(플마 21억정도)를 초과할 경우, long 타입임을 알려주어야 함 ➡️ 정수 리터럴 뒤에 L 붙이면 됨!
-
long balance = 30,000,000,000L; (콤마는 나보기 쉬우라고 붙여보아씀)
💡 문자리터럴을 int 타입에 저장할 경우
- 작은 따옴표로 감싼 문자리터럴('A')은 유니코드로 변환되기 때문에 int 타입 변수에도 저장할 수 있음.
- char 타입에 저장하면 자동으로 문자로 매핑되어 출력 ➡️ A 출력
- int 타입에 저장하면 유니코드 숫자 자체가 출력! ➡️ 65 출력
char var1 = 'A'; int var2 = 'A'; System.out.println(var1); //A를 출력 System.out.println(var2); //65를 출력
- 문자열: "큰따옴표"로 감싼 문자들. 문자열은 String 타입에 저장해야 함!
- 이스케이프escape 문자: 문자열 내부에 역슬래시(\)를 사용해 특정 문자 포함시키는 것.
- 데이터로서 큰 따옴표 사용: \"
String str = "나는 \\"자바\\"를 좋아합니다."; System.out.println(str); ➡️ 나는 "자바"를 좋아합니다.
String str = "나는 \\"자바\\"를 좋아합니다.";
System.out.println(str);
➡️ 나는 "자바"를 좋아합니다.
- 탭만큼 띄우기: \t
- 개행(한 줄 내림): \n
📎 실수 타입
- 소수점이 있는 실수 리터럴을 저장할 수 있는 타입 : float, double
- 소스코드에서 소수점이 있는 숫자 리터럴은 10진수 실수로 인식함
- e나 E가 있는 숫자 리터럴은(e=10의 거듭제곱) 지수와 가수로 표현된 소수점이 있는 10진수 실수로 인식함
5e2 ➡️ 5.0 x 10의2승 = 500.0 0.12E-2 ➡️ 0.12 x 10의-2승 = 0.0012
- double 타입이 더 정밀도가 높기 때문에 웬만하면 double 사용할 것!
- double이란 이름은 float 타입보다 약 2배정도의 정밀도를 갖는다는 의미에서 붙여진 것
📎 논리타입
- boolean: true / false로 참과 거짓을 가리는 논리 리터럴.
- 불린 타입은 주로 두 가지 상태값에 따라 조건문과 제어문의 실행 흐름을 변경하는 데에 사용
'혼자 공부하는 자바' 카테고리의 다른 글
[혼공자] Ch 3. 연산자 (0) | 2021.02.10 |
---|---|
[혼공자] Ch1. 자바 시작하기 (0) | 2021.02.01 |