20220801(월)
- 학습목표
- 분기문, 반복문, 배열 배우기 - 목차
- % 연산자
- index
- ==와 ===차이
- ++a와 a++차이
- if-else 응용
- 선택문 Switch문
- 배열 Array
<% 연산자의 특징 > _ 나머지(mod) 연산, 알고리즘에서 많이 사용됨
* 나머지를 구하는 연산자 %
1. x% n이라 했을 때 x에 어떤 값이 오더라도 결과는 n보다 작다.
2. x값이 증가하면 결과는 순환한다. 0 ~ n-1, 다시 0 ~ n-1
3. x < n인 경우 결과는 x이다.
컴퓨터는 나누기를 어떻게 할까?
➡ 컴퓨터는 나누기를 빼기로 구현한다.
12/3 (12%3 = 0)
= 12 - 3 : 1번 뺌
= 9 - 3 : 2번 뺌
= 6 - 3 : 3번 뺌
= 3 - 3 : 4번 뺌
= 0
12/5 (12%5 = 2)
= 12 - 5 : 1번 뺌
= 7 - 5 : 2번 뺌
= 2
+) x%0 = NaN
< index >
const str = 'abcd';
str [2] = 'c'
index다.
1. 위치정보 index
선형구조 내(연달아 있는 것, abcd와 같은)에서의 위치(한 글자씩 0, 1, 2 ~ 숫자 부여) 값
2. 해당 위치의 값 [index]
인덱스 자체의 정보도 의미가 있지만 공적으로 알려는 것은 n에 있는 값이 뭐냐인 것임
< ==와 ===의 차이 >
- == : 형태가 달라도 true가 나옴
- === : 형태가 다르면 F값이 나옴
값과 값의 종류(Data Type)가 모두 같은지를 비교해서, 같으면 true, 다르면 false라고 한다.
< ++a와 a++ 차이 >
- let a = 10;
- ++a : 증가가 먼저. 선 연산 후 대입
a = a + 1;
console.log(a); // 11 - a++ : 증가가 나중. 선 대입 후 연산
console.log(a); // 10
a = a + 1;
< if - else 활용 연습문제 >
✨ 명심하기
코드는 내가 생각하는 제일 상식적인 방법으로 짜는 것이다.
생각하고 코딩하고, 잘못됐으면 다시 생각하고 코딩해야 한다.
어려운 연산을 사용하는 것이 세련된 코딩은 아니다.
쉽고 편하게 코딩하자!
- 연습문제
< 선택문 Switch 문 >
1. 정수(범위 x)이거나2. 문자열 임
- break를 없애면 어떻게 되나요?
break가 없으면 다음 break가 나올 때까지 그냥 넘어가서 실행이 된다.
최종 메시지가 바뀔 가능성이 높다!
case 뒤에는 break 쓰도록 하자.
< 배열 Array >
- 정의 : 데이터가 연속적으로 할당된 선형 데이터 구조 (index 연관)
- 특징 : 고정 크기
(1) 생성 CREATE
(2) 추가 INSERT
push, index, splice
(3) 삭제 DELETE
splice
(4) 변경 Modify, Update
index
< 배열 선언하고 값 추가/변경하기 >
< removed, splice로 배열 제거, 추가, 수정하기 >
splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나
새 요소를 추가하여 배열의 내용을 변경
배열을 변경
array.splice(start[ , deleteCount[, item1[, item2[, ...]]] ])
start는 필수(Mandatory)
[ ] 중괄호는 옵션(Optional) 생략 가능하단 의미
< 배열 안에 배열 >
배열 안에 배열 삽입 가능.
(7) [10, 20, 30, 'abc', false, 3.14, Array(3)]
a[6][2] // 3
a[6][1] // 2
a[6][0] // 1
배열 안의 배열 출력하기 [몇 번째 값(이 배열일 경우)] [의 몇번째 값]
* 데이터 배열은 관점에 따라 달라져!
'🏫 Open API_JAVA' 카테고리의 다른 글
[11일차] 함수 / 임시변수 (0) | 2022.08.03 |
---|---|
[10일차] 반복문 for / while / 제어 break 와 continue (0) | 2022.08.02 |
[8일차] 프로그래밍 / Datatype 자료형 / if-else 문 (0) | 2022.07.29 |
[7일차] 함수와 콘솔 / 논리 연산 / JavaScript / let i = 10; 이해 (0) | 2022.07.29 |
[6일차] UI 화면 설계 / 프로토타입 (0) | 2022.07.28 |