본문 바로가기
TIL

내일배움캠프 2주차 TIL + 연산자, 조건문, 반복, 배열, 컬렉션.....

by 율량동박씨 2024. 4. 24.
  • 오늘의 학습 키워드
    • 연산자, 조건문, 반복, 배열, 컬렉션
  • 연산자 - 변수, 상수들을 계산하기 위해 사용

    산술연산자 : +, -, *, /, %(나머지), <<, >>
    비교연산자 : >, <, >=, <=, == , !=
    논리연산자 : &&, ㅣㅣ, !
    대입연산자 : =, ++, --
    기타연산자 : (type), ? : , instance of

ㅇ 문맥 만들기(조건문, 반복문)

- 조건문 (if문, swich문)
if : 특정 조건에 따라 다른 연산을 수행하고 싶을 때
- if(조건)~else : if의 조건이 거짓일 경우 else{연산} 형태로 사용
중첩 if : 중첩해서 if문을 사용

- switch(피연산자) / case(조건) : switch문은 case문과 함께 사용하며 if문보다 가독성이 좋은 조건문
- switch(피연산자)` `{ case(조건): (연산) }` 이러한 형태로 많이 쓰입니다.
- switch 피연산자`가 `case 조건`을 만족하면 `case:` 뒤에 명시되어 있는 연산을 수행합니다.
- case(조건): (연산)` 은 여러 개를 설정할 수 있습니다.
      각 case의 연산문 마지막에는 `break;`를 꼭 넣어줘야 함
      break는 해당 case의 연산문이 끝났다는 것을 알려주어 switch 문을 종료시켜줍니다.

-  if와 switch > if문은 복합조건을 지원, switch는 피연산자 한개에대한 조건만 지원, if문 코드중복이 많다


ㅇ 반복문 - forwhiledo-while

for 문 : 특정 조건에 따라 연산을 반복해서 수행
- for` (`초기값;` `조건문;` `증가연산`)  `{ (연산) }` 형태로 사용
- 특정 조건은 `초기값`과 `조건문`을 통해서 정의합니다.
- 반복할 때마다 값을 증가시키려면 `증가연산`을 정의합니다.
- `초기값`이 `조건문`을 만족할 때까지 `(연산)`을 수행하면서 회차마다 `증가연산`을 수행합니다.


while문 : for문과 동일하게 특정 조건에 따라 연산을 반복 수행
- 다만, 초기값 없이 조건문만 명시하여 반복
- while(조건문)` `{ (연산) } 형태로 사용합니다. (while 문) : 조건문을 만족해야만 반복, 불만족 시 중단
- do { (연산) } while(조건문) 형태로도 사용합니다. (do-while 문) : 최초 1회 연산 수행 후 조건문을 체크하여 더 반복할지말지 결정, 반복하게 되면 조건문을 체크해 불만족이면 중단


ㅇ 배열 : 기본형 변수는 1개의 값만 저장할 수 있지만 int[ ]와 같은 배열형 변수는 여러 개를 변수에 지정 가능, 하나의 배열에는 같은 타입의 변수만 담을 수 있다
- 한 번에 많은 양의 데이터를 다루거나 계산할 때 사용, array
- 선언 방법은 아래 2가지 방법이 있습니다.
- 순번은 0부터 시작된다
- 배열은 생설될 때 각 타입별 초기값으로 초기화되어 채워짐(ex. int는 0, boolean은 false, String은 null)

ㅇ 복사 : 얕은 복사와 깊은 복사가 있다
 - 얕은 복사 : 배열 변수간 대입 연산자를 사용해서 복사하면 주소값만 복사되고 실제값은 1개로 유지 되는것 
 - 깊은 복사 : 새로운 배열을 똑같이 만들고 싶을 깨 사용, 실제 값을 가지고 있는 배열의 기본형 값을 꺼내서 복사하면 된다, for문을 사용하는 방법사 여러 메서드를 사용하는 방법이 있다.

ㅇ 다차원 배열
 - 2차원 배열 : 배열안에 또 배열을 추가하는것
 - 선언 : 2차원 배열을 선언할 때는 1차원 배열에 대괄호를 하나 더 추가해 주면 됩니다.
        - int[ ][ ] array
        - int array[ ][ ]
        - int[ ] array[ ]
 - 대부분 3차원 까지만 사용한다


// 3차원 배열의 이해
// 중괄호 3개를 써서 3차원 배열 초기화를 할 수 있습니다.
int[ ][ ][ ] MultiArray = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}};


ㅇ 컬렉션 : 배열보다 다수의 참조형 데이터를 쉽고 효과적으로 처리할 수 있는 기능을 가짐
- 크기 자동조정, 추가, 수정, 삭제, 반복, 순회, 필터, 포함확인 등
- 컬렉션의 종류 : List, Set, Queue, Map이 있다
List : 순서가 있는 데이터의 집합(중복허용)
Queue : 빨대처럼 먼저 들어간 데이터가 먼저 나옴(First In First Out)
Set : 순서가 없는 데이터의 집합(중복 허용 안됨) 예를들어 집합(교집합, 여집합 등)
Map : 순서가 없는 (Key, Value) 쌍으로 이루어진 데이터의 집합
   > key값은 중복 허용을 안함{uniq함)
   > key로 value를 찾는다
- 컬렌션은 기본형 변수가 아닌 참조형 변수를 저장함
- int의 참조형 변수 = Integer
- long의 참조형 변수 = Long
- double의 참조형 변수 = Double
String은 원래부터 참조형 변수

오늘의 회고

  • 사실 TIL정리에 쓸것이 훠어얼씬 많은데 그 내용을 다 정리하면 잠을 못 잘거같아서 다 못썼다.......
  • 강의 내용이 너무 어렵고 분량이 많아서 머리에 저장이 다 안되서 아쉽다.
  • 다음 강의 내용은 훨씬 많던데 지금 내용도 완벽 이해하지 못해서 걱정된다.
  • 숙제는 다시 해서 정상작동 확인 후 업로드 해야겠다.