[커널아카데미] 백엔드 12기 1주차 - 자바_변수,연산자,제어문,OOP

jh5959·2025년 3월 30일
0

ch2 변수

변수

  • 저장 공간 생성
  • Read
  • Write

상수

  • 하나의 값
  • Read

리터럴

  • 문자 그대로의 값,
  • 접미사: long(100L), float(3.1f)

타입: 기본형, 참조형

기본형

  • 8가지
  • 한개

참조형

  • 메모리 주소 저장
  • 0~n개

기본형

  • 논리형: boolean(1byte)
  • 문자형: char(2byte)
  • 정수형: byte(1byte), short(2byte), int(4byte), long(8byte)
  • 실수형: float(4byte), double(8byte)

부호X: 0 ~ 2n^n-1

정수형: 오차X 범위🔽
부호O: -2n1^{n-1} ~ 2n1^{n-1}

실수형: 오차O 범위🔼
오차가 있는 이유

  • 원래 오차가 있음
  • 10진실수 -> 2진실수 과정에서 생김
  • 저장 공간 부족

정수형 오버플로우: 값이 공간보다 넘쳐서 오류값을 도출함
최대값 + 1 = 최소값
최소값 - 1 = 최대값


ch3 연산자

연산자: 계산을 하기 위해서
모든 연산자는 결과 값을 도출한다

  • 산술: +, - , / , %, *
  • 비교: <,>,<=,>= 등
  • 논리: &&, ||, !
  • 대입: 대입문(W), 대입연산자

우선순위
결합규칙
산술변환

  • 큰 타입으로 바꿈
  • int보다 작으면 int로 바꿈

타입 정보 주는 방법 2가지: (float)2, 2f

형변환
(타입)피연산자

Math.round(): 반올림

증감연산자: ++, -- (W)
i++
i=i+1

c = 'A' 일 때
c++ //읽기R, 쓰기W, c=c+1과 같음
c+1 //읽기R, 출력만 하고 c가 바뀌지는 않음


ch4 제어문

조건문: if, switch
if

  • 조건에 부합하면 실행
  • if, if~else, else if
  • 조건의 값 true, flase
  • else 생략 가능

switch

  • 경우의 수가 많은 경우 사용
  • 조건이 정수, 상수, 문자만 가능

반복문: for, while
for

  • 정해진 횟수 반복함
  • for(int i=0; i>5; i++) {}

while

  • int i = 0;
  • while(i <5)
  • { i++;}

do - while

  • 한 번은 꼭 실행 함

랜덤 정수 만들기
Math.random()

  • 1~5까지의 정수 출력하기
System.out.println((int)(Math.random()*5)+1);

중첩 for
1단 ~ 9단 출력

for(int i=2; i<10; i++){  
    for(int j=1; j<10; j++){  
        System.out.print(i+"X"+j+"="+(i*j)+"\t");  
        System.out.println();  
    }  
    System.out.println();  
}

oop 개념정리

oop = 그룹 & 관계 -> 변경유리
클래스 = 집합
관련된 것 묶기 => 더 큰 단위 => 복잡도🔽
=> 더 복잡한 것 만들기 위해

클래스

  • 설계도
  • 변수 + 메서드
  • 사용자 지정 타입
    메서드: 문장 묵음

oop 설계를 하기 위해 -> 타입 중요

영역(scope): { }

  • 클래스 영역: 인스턴스 변수(iv)
  • 메서드 영역(+블럭 영역): 지역 변수(iv)

인스턴스 변수
메서드 영역에서 선언된 변수는 지역 변수

메서드 { } -> 지역변수
아니면 인스턴스 변수

인스턴스 변수: iv 인스턴스마다 개별 저장 공간
클래스변수 : cv 같은 클래스 모든 인스턴스가 공유

오버로딩: 같은 이름의 메서드를 여러개 정의하는 것
메서드 이름 = 동사
메서드 이름이 같다 = 하는 일이 같다
ex) println()

오버로딩의 조건

  • 메서드 이름이 같아야 함
  • 매개변수의 개수 또는 타입이 달라야함
  • 반환타입은 영향 X

주간회고

  • 알고 있던 개념들과 몰랐던 개념들을 배웠다
  • 별찍기는 학교 다닐 때도 잘 못했는데 지금도 잘 못한다
  • 규칙을 알아내지만 수식으로 조건을 만드는 것을 잘 못한다 문제를 많이 풀어서 익숙해 져야할 것 같다
  • 이번주는 적응을 조금씩 하는 기간이였다
  • 다음주부터는 공부시간을 늘려야겠다 그리고 잠 잘자기!

0개의 댓글