🌷 1주차 학습일지
1) 강의 범위: 1장 中 1 ~ 13강
2) 핵심 개념: 자료 표현 / 변수 / 자료형 / 상수 / 형 변환 / 연산자
1. 자바 프로그래밍 시작하기
- 컴파일: 프로그래밍 언어를 기계어로 변환하는 일
- 컴파일러: 기계어로 변환해 주는 프로그램
- 객체 지향 프로그래밍(Object Oriented Programming): 객체들 간의 상호작용을 통해 프로그램을 만드는 것
- 객체 지향 프로그래밍의 장점: ① 재사용성 ② 코드관리 ③ 유지보수 ④ 신뢰성 높음
2-3. 자바와 이클립스 설치 및 첫 프로그램 생성과 실행
4. 컴퓨터에서의 자료 표현
1) 2진수로 표현
- 0과 1로 데이터 저장
- bit(비트): 2진수로 0 또는 1의 값을 저장하는 메모리 크기
- byte(바이트): 1byte = 8bit
2) 2진수 / 8 진수 16진수
- 각 숫자 범위를 넘어가면 그 다음 비트로 넘어감
① 2진수(0B, 0b): 0 ~ 1
② 8진수(0): 0 ~ 7
③ 16진수(0X, 0x): 0 ~ 9, A ~ F
5. 변수
- 변수: 값을 저장하는 메모리 공간을 가리키는 이름
- 프로그램에서 항상 변하는 값을 표현할 때 사용 ex) 성적, 레벨 등
- 자료형과 변수명을 사용하여 선언
public class VariableTest {
public static void main(String[] args) {
// 변수 선언과 동시에 할당
int level = 1000;
System.out.println(level);
}
}
6. 자료형 - ① 정수
- 변수는 자료형의 크기 만큼 메모리 할당
- 종류: ① 기본 자료형: 정수형/문자형/실수형/논리형 ② 참조 자료형: 배열, 열거, 클래스, 인터페이스
1) 기본 자료형 종류
정수형 | 문자형 | 실수형 | 논리형 | |
1byte | byte | boolean | ||
2byte | short | char | ||
4byte | int | float | ||
8byte | long | double |
2) 정수 자료형
- byte: 동영상, 음악 파일 등의 자료를 처리할 때 사용
- short: 주로 C/C++ 언어와 호환 시 사용
- int(기본): 모든 숫자 리터럴은 int로 저장되고, 32비트 초과 시 long으로 처리
- long: 숫자 뒤에 L을 붙여 자료형 표시
7. 자료형 - ② 실수
- 부동 소수점 방식으로 표현
- 지수부 + 가수부
- 컴퓨터에서는 밑수를 2로 사용
- float: 부호비트(1비트) + 지수부(8비트) + 가수부(23비트)
- double(기본): 부호비트(1비트) + 지수부(11비트) + 가수부(52비트)
- ※ 지수부가 0을 표현할 수 없기 때문에 약간의 오차 발생
8. 자료형 - ③ 문자
- 컴퓨터 내부에서는 문자도 정수로 저장 ex) A는 정수로 65
- 화면에는 문자로 출력
- 문자세트: 각 문자의 코드 값 모음 → ASKII, utf-16 등
- UNICODE로 문자 표현 (utf-16 인코딩)
public class CharacterTest {
public static void main(String[] args) {
// 1) 문자 출력: ' ' (작은 따옴표)
char ch1 = 'A';
System.out.println(ch1); // A 출력
// 2) 문자 자료형에 정수 대입 -> 문자 출력
char ch2 = 66;
System.out.println(ch2); // B 출력
}
}
9. 자료형 - ④ 논리
- true(참), false(거짓)
- 값의 존재 여부, 대입 여부 등으로 사용
10. 상수와 리터럴 및 변수의 형 변환
1) 상수 (constant)
- final: 변하지 않는 수 ex) 원주율 3.14 등
- 메모리에 Load되자마자 Data영역에 할당
final int MAX_NUM = 100;
2) 리터럴 (literal)
- 프로그램에서 사용하는 숫자, 문자, 논리값
- 정수 리터럴(int)과 실수 리터럴(double)로 저장
3) 변수의 형 변환
- 서로 다른 자료형 간에 연산에서 하나의 자료형으로 통일
- 자동 형 변환: 작은 자료형 → 큰 자료형
- 강제 형 변환: 큰 자료형 → 작은 자료형 ※ 소수점 등의 오차 발생
- 형 변환의 순서(위치)에 따라 최종 결과값이 다름
double dNum = 1.2;
float fNum = 0.9F;
int iNum1 = (int)dNum + (int)fNum;
int iNum2 = (int)(dNum + fNum);
System.out.println(iNum1); // int(1 + 0) = 1
System.out.println(iNum2); // int(1.2 + 0.9) = 2
11. 연산자 - ① 대입, 부호, 산술, 복합대입, 증감
1) 대입 연산자 (=)
- 변수에 다른 변수나 값 대입
- 오른쪽의 변수(식, 값)을 왼쪽 변수에 대입
2) 부호 연산자(+, -)
- 변수의 부호를 유지(+)하거나 변경(-)
- 실제 값이 변경되는 것이 아니라 단지 부호가 변경되어 출력
3) 산술 연산자(+, -, *, /, %)
- / (몫), %(나머지)
4) 복합 대입 연산자
- +=, -+, *=, /=, %=
- <<=, >>=, >>>=, &=, |=, ^=
5) 증가, 감소 연산자 (++, --)
- 변수의 값을 1 더하거나 뺄 때 사용
- 연산자의 위치(앞, 뒤)에 따라 결과가 다름: 앞(먼저 1 연산), 뒤(나중에 1 연산)
12. 연산자 - ② 관계, 논리
1) 관계 연산자
- 연산 결과가 true(참)와 false(거짓)
- 조건문과 반복문에서 주로 사용
- >, <, >=, <=, ==, !=
2) 논리 연산자
- 관계 연산자와 자주 함께 사용
- 연산 결과가 true(참)와 false(거짓)
- &&, ||, !
- 단락 회로 평가: 항의 위치에 따라 연산 결과가 다름 (뒤의 항은 연산 불필요 생략)
13. 연산자 - ③ 조건, 비트
1) 조건 연산자
- 삼항 연산자
- if문을 간단히 표현할 때 사용
- 조건식 ? 결과1 : 결과2; 조건식이 참이면 결과1, 거짓이면 결과2 선택
int x = 10;
int y = 20;
int bigNum = (x > y)? x : y;
System.out.println(bigNum);
2) 비트 연산자
- 마스크: 특정 비트를 가리고 몇 개의 비트 값만 사용
- 비트켜기: 특정 비트들만을 1로 설정해서 사용
- 비트끄기: 특정 비트들만을 0으로 설정해서 사용
- ~, &, |, ^, <<, >>, >>>
📌 1주차 공부 피드백 📌
✅ 이전에 배웠던 내용을 복습하는 느낌
✅ 2주차부터는 자바 기본 내용을 더 빠르게 공부할 예정
읽어주셔서 감사합니다.
언제나 피드백은 환영합니다.
'백엔드 > Java&Spring 웹개발' 카테고리의 다른 글
[Java&Spring 웹개발] 3주차(05/17 - 05/23) 학습일지 (2) (0) | 2023.05.19 |
---|---|
[Java&Spring 웹개발] 3주차(05/17 - 05/23) 학습일지 (1) (0) | 2023.05.19 |
[Java&Spring 웹개발] 2주차(05/10 - 05/16) 학습일지 (3) (0) | 2023.05.16 |
[Java&Spring 웹개발] 2주차(05/10 - 05/16) 학습일지 (2) (0) | 2023.05.15 |
[Java&Spring 웹개발] 2주차(05/10 - 05/16) 학습일지 (1) (1) | 2023.05.14 |
댓글