1. 컴퓨터는 데이터를 어떻게 표현할까?
1-1. 컴퓨터에서 수를 표현하는 방법
- 비트(bit): 또는 1로 표현할 수 있는 최소 단위
- 바이트(byte): 8비트 = 1바이트
1-2. 숫자 진수
- 10진수: 0부터 9까지
- 2진수: 0과 1, 앞에 0B
- 8진수: 0부터 7까지, 앞에 0
- 16진수: 0부터 9 / A부터 F까지, 앞에 0X
1-3. 부호 있는 수를 표현하는 방법
- 부호 비트(Most Significant Bit; MSB)
- 맨 앞에 붙임
- 0이면 양수, 1이면 음수
- ex) 8비트로 숫자 5표현: 00000101
- 양수 음수 변환법 - 2의 보수
- 10진수의 경우 더해서 10(십)이 되는 수
- 2진수의 경우 더해서 2, 10(일영)이 되는 수
2. 변수란?
- 변수: 변하는 수
2-1. 변수 선언하고 값 대입하기
- 필요한 것: 자료형, 변수 이름
- [1분 복습] 나이를 뜻하는 age로 변수 이름을 바꾸고 나이 대입
public class E1 {
public static void main(String[] args) {
int age;
age = 23;
System.out.println(age);
}
}
2-2. 변수 초기화하기
- 초기화: 변수에 처음 값을 대입하는 것
- 선언과 동시에 초기화, 선언 이후에 초기화 둘 다 가능
- [1분 복습] int형 변수 year에 값 2018을 대입
int year = 2018;
2-3. 변수 이름 정하기
- 제약 사항
- 변수 이름은 영문자(대/소문자)나 숫자를 사용할 수 있음
- 특수 문자 중에서는 $과 _만 사용할 수 있음
- 변수 이름은 숫자로 시작할 수 없음
- 자바에서 이미 사용 중인 예약어는 사용할 수 없음
- 예약어(reserved word): 프로그래밍 언어에서 특별한 의미로 미리 약속되어 있는 단어
3. 변수가 저장되는 공간의 특성, 자료형
3-1. 변수와 메모리
- 변수 선언: 변수 이름으로 어떤 위치에 있는 메모리를 얼마만큼의 크기로 사용하겠다는 뜻
3-2. 기본 자료형의 종류
- 정수형
- byte: 1바이트
- short: 2바이트
- int: 4바이트
- long: 8바이트
- 문자형
- char: 2바이트
- 실수형
- float: 4바이트
- double: 8바이트
- 논리형
- boolean: 1바이트
3-3. 정수 자료형
- 수의 유효 범위
- byte형(1바이트 = 8비트)
- 바이트 단위의 정보를 저장하거나 통신할 때 사용
- short형(2바이트)
- int형(4바이트)
- 정수를 표현할 때 가장 많이 사용하는 자료형
- 컴퓨터 연산을 할 때 4바이트 단위의 처리가 가장 효율적이기 때문
- long형
- 자바에서 정수를 표현하는 가장 큰 단위의 자료형
- 자바는 모든 정수 값을 기본 int형으로 처리하기 때문에 범위 내부에 있는 값을 사용하지 않는 경우 끝에 식별자 L 또누 l 사용
3-4. 문자 자료형
- 문자 세트: 문자의 코드값을 모아둔 것
- 문자 인코딩: 문자를 정해진 코드 값으로 변환하는 것
- 문다 디코딩: 코드 값을 다시 문자로 변환하는 것
- 유니코드(unicode): 각 언어의 표준 인코딩을 정의해 놓은 것
- 아스키(ASCII)코드: 영문자, 숫자, 특수 문자 등을 나타내는 문자 세트
- 문자를 변수에 대입하면 문자 그대로 저장되는 것이 아니라 그 문자에 해당되는 정수 값(아스키 코드 값)이 저장됨
- 문자와 문자열
- 문자 사용시 작은따옴표 사용
- 문자열사용시 큰따옴표 사용
- 문자열 끝에는 항상 널 문자('\0')가 있음
- 자바에서 문자열을 다룰 때는 String 클래스를 사용함
- 'A'와 "A"
- 'A': 정수 65로 정해져 있는 문자
- "A": "A\0"로 저장되어 있는 문자열
- 문자형 변수에 음수는 저장 불가능
3-5. 실수 자료형
- 부동 소수점 방식: 가수 부분과 지수 부분을 나누어 실수를 나타내는 방식
- 지수로 표현되는 값이 0을 나타낼 수 없기 때문에 오차가 발생할 수 있음
- 오차를 감수하고라도 더 넓은 범위의 실수를 표현하기 위해 사용함
- float형 - 32비트(4바이트): 부호 1비트, 지수부 8비트, 가수부 23비트
- double형 - 64비트(8바이트): 부호 1비트, 지수부 11비트, 가수부 52비트
- 자바에서 실수는 double형을 기본으로 사용하기 때문에 float형 사용시에는 숫자 끝에 식별자 F 또는 f 사용
3-6. 논리 자료형
- 어떤 변수의 참, 거짓을 나타내는 데 사용함
- booelan - 1바이트: true, false
3-7. 자료형 없이 변수 선언하기
- 자바 10부터 생긴 문법
- 지역 변수 자료형 추론(local varriable type inference)
- var를 사용하면 컴파일러가 변수에 대입되는 자료를 보고 추측함
- 유의사항
- 한번 선언한 자료형 변수를 다른 자료형으로 사용할 수 없음
- 지역 변수만 사용 가능
4. 상수와 리터럴
4-1. 상수 선언
- 상수: 변하지 않는 값
- final 예약어 사용
- 대입값 변경 시도하면 오류 발생
4-2. 상수를 사용하면 편리한 이유
- 반복적으로 사용하고 변하지 않아야 하는 값에 보통 사용
- 숫자 수정시 상수값만 수정하면 됨
4-3. 리터럴
- 리터럴(literal)
- 프로그램에서 사용하는 모든 숫자, 문자, 논리값
- 변수나 상수 값으로 대입할 수 있음
- 프로그램이 시작할 때 시스템에 같이 로딩되어 특정 메모리 공간인 상수 풀(constant pool)에 놓임
- 대입: 숫자 값이 어딘가 메모리에 쓰여 있고 변수 메모리에 복사 되는 것
- 모든 정수 리터럴은 int로 처리, long형 사용시 식별자 L 또는 l 필요
- 모든 실수 리터럴은 double로 처리, float형 사용시 F 또는 f 필요
5. 형 변환
5-1. 형 변환이란?
- 형 변환(type conversion): 연산 수행시 하나의 자료형으로 통일하는 것
- 묵시적 형 변환(자동 형 변환)
- 바이트 크기가 작은 자료형에서 큰 자료형으로의 변환은 자동으로 이루어짐
- 덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동으로 이루어짐
- 반대의 경우(묵시적 형 변환) 자료 손실 발생할 수 있음
5-2. 묵시적 형 변환
- 덜 정밀한 자료형에서 더 정밀한 자료형으로 대입하는 경우
- 연산 중에 자동 변환되는 경우
5-3. 명시적 형 변환
- 명시적 형 변환(강제 형 변환)
- 비트가 큰 자료형에서 작은 자료형으로 대입하는 경우
'JAVA > Do it! 자바 프로그래밍 입문' 카테고리의 다른 글
[Do it 자바 프로그래밍 입문] 03 자바의 여러 가지 연산자 연습문제 (0) | 2023.03.23 |
---|---|
[Do it 자바 프로그래밍 입문] 03 자바의 여러 가지 연산자 (0) | 2023.03.23 |
[Do it 자바 프로그래밍 입문] 02 변수와 자료형 연습문제 (0) | 2023.03.22 |
[Do it 자바 프로그래밍 입문] 01 자바 프로그래밍 시작하기 연습문제 (0) | 2023.03.22 |
[Do it 자바 프로그래밍 입문] 01 자바 프로그래밍 시작하기 (0) | 2023.03.22 |