본문 바로가기
백엔드/Java&Spring 웹개발

[Java&Spring 웹개발] 1주차(05/03 - 05/09) 학습일지

by 미니개발자님 2023. 5. 9.
728x90
반응형

 


 

🌷 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주차부터는 자바 기본 내용을 더 빠르게 공부할 예정

 


읽어주셔서 감사합니다.

언제나 피드백은 환영합니다.

 

 

728x90
반응형

댓글