728x90
반응형
해당 글은 남궁성님의 자바의 정석을 학습 후에 작성되었습니다.
변수(variable)란?
- 하나의 값을 저장할 수 있는 메모리 공간이다.
(특정 메모리 공간에 이름을 지정하고, 주소 대신 이름을 통해 메모리에 값을 저장하고 읽을 수 있게 한 것이다)
변수의 선언
- 변수 선언 이유
- 값을 저장할 공간을 마련하기 위해서
- 변수 선언 방법
// 변수타입 변수이름; int age; // 정수(int) 타입의 변수 age를 선언
- 변수에 값 저장
- 변수에 값 저장하기
int age; age = 25; // 변수 age에 25 저장 ------ int age = 25;
- 변수의 초기화
- 변수에 처음으로 값을 저장하는 것
- 변수의 종류는 클래스 변수, 인스턴스 변수, 지역 변수가 있다.
지역 변수는 읽기 전에 꼭!!!초기화를 해야 한다.
int x = 0;
- 변수에 값 저장하기
- 변수의 값 읽기
- 변수의 값이 필요한 곳에 변수의 이름을 적는다
int year = 0, age = 14; year = age + 2000; age = age + 1;
- 변수의 값이 필요한 곳에 변수의 이름을 적는다
변수의 타입
- 변수의 타입은 저장할 값의 타입에 의해 결정된다.
- 저장할 값의 타입과 일치하는 타입으로 변수를 선언해야 한다.
char ch = '가'; double py = 3.14;
값의 타입 (기본형)
문자 - char
숫자
- 정수 - byte, short, int, long
- 실수 - float, double
논리 - boolean (true/false)
변수, 상수, 리터럴
변수(variable) : 하나의 값을 저장하기 위한 공간
int score = 100;
score = 200;
상수(constant) : 한 번만 값을 저장 가능한 변수. 한번 저장하고 나면 값을 바꿀 수 없다.
- 상수 선언 방법은 변수 선언하는 방법과 같고, 앞에 final 이라는 키워드가 붙는다
final int MAX = 100;
MAX = 200; // Error
리터럴(literal) - 그 자체로 값을 의미하는 것
- 기존의 상수
(자바에서 상수를 한 번만 저장 가능한 변수라고 정의하였기 때문에 리터럴이라는 개념이 나온것이다)
char ch = 'A';
String str = "abc";
변수와 리터럴의 타입 불일치
- 범위가 '변수' > '리터럴' 인 경우 허용된다.
int i = 'A'; // int > char long l = 123; // long > int double d = 3.14f // double > float
- 범위가 '변수' < '리터럴' 인 경우, 에러가 발생한다.
long l = 3.14f // long < float Float f = 3.14; // float < double int i = 30_0000_0000; // int의 범위를 벗어남
- byte, short 변수에 int 리터럴 저장 가능하다 (단, 변수 타입의 범위 이내여야 한다)
byte b = 100; // byte 범위(-128~127)에 속함 byte b = 128; // byte 범위 벗어남. 에러
변수의 타입
기본형(Primitive type)
- 오직 8개 (boolean, char, byte, short, int, long, float, double)
- 실제 값을 저장
참조형(Reference type)
- 기본형을 제외한 나머지(String, System 등)
- 메모리 주소를 저장(4 byte 또는 8 byte)
기본형의 종류와 크기
- 논리형
- true와 false 중 하나를 값으로 갖는다.
- 조건식과 논리적 계산에 사용된다.
- 문자형
- 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
- 정수형
- 정수 값을 저장하는데 사용된다.
- 주로 사용하는 것은 int와 long이며, short는 c언어와의 호환을 위해 추가 되었지만 잘 사용하지 않는다.
- 실수형
- 실수 값을 저장하는데 사용된다.
- float와 double이 있다.
종류/크기 | 1 | 2 | 3 | 4 |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | shrot | int | long |
실수형 | float | double |
기본형 표현 범위
- n비트로 표현할 수 있는 값의 개수 : 2^n개
- n비트로 표현할 수 있는 부호 없는 정수의 범위 : 0~2^n-1
- n비트로 표현할 수 있는 부호 있는 정수의 범위 : -2^(n-1) ~ 2^(n-1)-1
타입간의 변환
- 문자와 숫자간의 변환
- 숫자 -> 문자 : 숫자 + '0'
- 문자 -> 숫지 : 문자 - '0'
- 문자열로의 변환
- 숫자 -> 문자열 : 숫자 + ""
- 문자 -> 문자열 : 문자 + ""
- 문자열을 숫자로 변환
- 문자열 -> 숫자 : Integer.parseInt("3") = 3
- 문자열 -> 실수 : Double.parseDouble("3.14") = 3.14
- 문자열을 문자로 변환
- 문자열 -> 문자 : "3".charAt(0) = '3'
728x90
반응형
'웹 프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 연산자 (0) | 2021.11.19 |
---|---|
[JAVA] CountDownLatch란? (0) | 2021.10.28 |
[JAVA] JAVA 특징 (0) | 2021.10.18 |
[JAVA] 정규표현식 (0) | 2021.08.28 |
LocalDate, LocalTime, LocalDateTime (0) | 2021.05.20 |