데이터형(자료형, datatype): 메모리의 크기 지정(범위를 보고 가장 큰 것을 기준으로 지정)
((기본형)): 자바에서 제공하는 메모리 크기
1. 정수형
- byte (0,1을 8개 저장) => 8bit(1byte)
: 웹에서 주로 사용(파일 읽기, 파일 쓰기, 파일 업로드, 파일 다운로드, 네트워크 전송
11111111 = -128 / 01111111 = 127 (-128~127 저장)
- short (0,1 16개 저장, 16bit=2byte)
1111 1111 1111 1111 = -32768
0111 1111 1111 1111 = 32767
=> C언어와 호환가능
- int(평상시에 사용하는 모든 정수는 컴퓨터에서 int로 인식) => default
(0,1 32개 저장, (약 21억 4천) 4byte: 속도면에서 제일 유리)
1111 1111 1111 1111 1111 1111 1111 1111
0111 1111 1111 1111 1111 1111 1111 1111
=> 자바 코딩의 정수 대부분은 int 사용
- long(0,1 => 64개 저장공간, 8byte): long a=10L(l)
- 약 21억 4천 이상: 빅데이터, 금융권, 주식 등에서 사용.
2. 실수형
- float(4byte, 소수점 8자리)
- double(default, 8byte, 소수점 16자리)
ex) float f = 10.5 : error
4byte 8byte
--> double f=10.5 or float f=10.5f 로 수정
저장공간이 첨부할 값보다 크거나 같아야 함.
3. 문자형
- char (0,1 => 16bit) : 음수 없이 양수만, 0~65535
: 문자마다 고유 번호를 가지고 있음.
ex) 'A' = 65, 'a' = 97, '1' = 49
- 알파벳 범위: (대문자: A 65~Z 90), (소문자: a 97~z 122)
- 한글 범위: 가~힣
- 1byte: 싱글바이트(아스키 코드)
2byte: 멀티바이트(유니코드) ← Java(∵한글 사용 가능)
4. 논리형
- boolean(1byte)
: true/false 저장
→ login, id check 등에 사용
** ((참조형)) 문자열 String
*** 메모리 크기 비교
byte < short < int < long < float < double < String
char
(항상 실수>정수, 나타낼 수 있는 숫자 범위가 더 크기 때문)
변수: 필요에 따라 변경해서 사용할 수 있는 메모리 공간.
메모리에 저장 → 프로그램이 종료되면 자동으로 메모리에서 사라짐
1. 종류
- 1개의 데이터를 저장하는 공간: 변수
- 같은 타입 여러 개를 저장하는 공간: 배열(연속적으로 메모리에 저장→인덱스)
- 다른 타입 여러개를 저장하는 공간: 클래스┌ 변수로만 사용(사용자 정의 데이터형): 데이터형 클래스
└ 기능만 설정: 액션 클래스
* 지역변수: 메소드 내에 선언된 변수. 블록{ } 안에서만 적용
**전역변수: 클래스 내 적용)
2. 용도: 메모리 주소에 붙인 이름으로, 저장된 데이터를 쉽게 찾기 위한 별칭.
3. 선언: 저장해야 되는 데이터가 존재할 때 이용, 반드시 초기값을 설정해야 함
형식) 데이터형 변수명;
- 변수 한 개 설정
i) 키보드로 입력을 받거나, 파일에 있는 데이터 읽을 때
int 점수;
점수=100; (의미: 메모리(RAM)에 4바이트 메모리를 확보하고, '점수'에 정수 100을 저장해라.)
ii) 직접 입력할 때
int 점수=100;
- 변수 여러 개 설정
int a=0;
int b=0;
int c=0;
int a,b,c;
int a=0, b=0, c=0;
4. 초기화
1) 정수형: byte, short, int: 0 / long: 0L(l)
2) 실수형: float: 0.0F(f) / double: 0.0(D/d)
3) 문자형: 'A' ( '' ==> error)
4) 논리형 : boolean(true/false)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
public class 자바변수초기화방법 {
public static void main(String[] args) {
//(선언과 동시에 초기값 부여) 주로 관리자용(admin)
// 1)직접 처리
int a=100;
System.out.println("a="+a);
//(선언하고 나서 나중에 초기값 부여) 주로 사용자용(user)=>더 많이 쓰임
// 2)선언 후 키보드로 데이터 입력 받아서 저장
int b;
b=200;
System.out.println("b="+b);
// 3)임의의 수 저장(랜덤): 게임, 로또
int c;
c=(int)(Math.random()*100)+1; //형 전환 (double->int), random은 원래 double
// 0.0~0.99 -> *100: 0.0~99.0 -> int: 0~99 -> +1: int 1~100 :난수발생 가공(연산처리)
System.out.println("c="+c);
// 4)입력창을 만들어서 값을 받는 방식
int d;
Scanner scan=new Scanner(System.in); //System.in: 키보드 입력값을 읽어와라
System.out.println("정수입력:");
d=scan.nextInt();
System.out.println("d="+d);
}
}
|
cs![]() |
'Java > Java 이론 정리' 카테고리의 다른 글
[Java] 9~11일차: 제어문_(2)반복문/반복제어문 (0) | 2020.06.23 |
---|---|
[Java] 6~8일차: 제어문_(1)조건문 (0) | 2020.06.22 |
[Java] 4~5일차: 형변환, 연산자(Operator) (0) | 2020.06.18 |
[Java] 3일차: 자바출력메소드(print/Scanner/ \ ) (0) | 2020.06.17 |
[Java] 자바의 특징, 명명규칙, 진법, 주석달기, \ 사용 (0) | 2020.06.15 |
댓글