변수
데이터가 저장되는 공간
대표적인 3가지 자료형
int: 정수형 데이터
double: 실수형
String: 문자열 //참조형 데이터, heap에 저장이 되고 그 주소값을 참조함
1. 1개의 변수 => 1개의 값만 할당 가능
2. 변수의 저장된 값 => 재할당을 통해 변경 가능
3. 값의 형태에 맞는 자료형을 사용해야 한다.
4. 변수명은 소문자로 시작
5. 변수의 가장 앞에는 숫자를 넣지 않는다.
6. 대소문자는 구분이 된다. //공백은 포함이 되지 않는다.
7. 단어 둘을 합칠때 사이에 대문자로 시작한다.
8. 자바 예약어 사용 불가.
데이터 타입
기본형 타입
정수형
1. byte(1 byte = 8 bit) => 2^8만큼 다룸(-128 ~ 127)
2. short(2 byte)
3. int(4 byte)
4. long(8 byte)
만약 해당 범위보다 큰 값이 들어가면 실행이 불가능하다.
실수형
1. double(8 byte) - 15자리 근사치, 보통 이거 씀
2. float(4 byte) - 7자리 float num= 9.50f와 같이 대입을 해줘야 한다.
문자형(문자열과 다름)
1. char(2 byte): 작은 따옴표로 감싸주어야 함
2. char char2 = 97처럼 해주면 아스키 코드로 사용할 수 있음
3. 아스키 뿐 아니라 유니코드로 사용할 수 있음 16진수로 사용하기 때문에 0x~로 사용함
논리형
1. boolean(1 byte)
2. boolean bool_1 = true 이런 식
3. boolean bool_2 = (100<0) 이런 거도 가능
4. 여기서는 1과 0을 대입할 수 없음
참조형 타입
메모리에 데이터가 쓰이는 방법이 기본형과 다름
참조형 데이터의 값 => 힙 메모리 영역
변수에 대입되는 값 => 힙 메모리 영역의 주소값
String a = new String(original: "Hello!");
String b = "Hello!";
String c = "Hello!";
a와 b 둘은 다르다.
b와 c는 같다.
b의 경우가 리터럴 방식인데 이 방식의 경우 생성을 하게 되면 힙 메모리에 같은 값이 있는지를 먼저 확인하게 된다.
a는 new이기 때문에 새로 생성을 하게되는 것이다.
상수(constants, final variables)
한 번 값이 할당 => 재할당이 안됨
전체를 대문자, 단어간 구분은 _로 한다.
final로 선언하면 바꿀 수 없음
final int three = 3; //이런 식으로 함
형 변환
같은 값이면 자동으로 형태를 변환하는 경우가 있음
byte < short < int < long <<< float < double
int a = 128;
short b = a; // 이건 성립할 수 없다.
int의 범위가 더 크기 때문에 암묵적 형변환은 발생하지 않는다.
int a = 128;
short b = (short)a; // 이건 성립한다.명시적 형 변환을 할 수 있다. 원래128은 short에 들어갈 수 있다.
만약 short에 들어갈 수 없는 값을 넣게 된다면 overflow가 발생하게 된다.
이를 통해서 작은 거에서 큰 단위로는 자동으로 형 변환이 되는 것을 확인할 수 있다.
short a = 10;
int b = a; // 이건 성립할 수 있음
int -> double이렇게 가면 자동으로 형 변환이 된다.
형 변환을 할 때 왜곡되는 값이 있는지 살펴보아야 한다.
연산이 일어날 때는 큰 범위로 이동한다.
System.out.print로 실행함
print //개행 안함
println//개행 함
printf // c같이 출력함
intellij에서는 sout으로 할 수 있음
'Java' 카테고리의 다른 글
객체지향 프로그래밍 (0) | 2023.04.04 |
---|---|
자바 기초 회원가입 실습 (0) | 2023.04.04 |
배열 (0) | 2023.04.04 |
자바 기초 정리 -콘솔 입출력 (0) | 2023.03.23 |
자바 기초 정리 -String (0) | 2023.03.23 |