어제보다 더 심화된 과정을 들었다
기초 과정이라는데... 너무 어렵다.. 세상에...
뒤로 갈수록 어려워 질꺼 같은데
과연 이것들을 내것으로 만들 수 있을까?
주요 강의 내용
* 연산자
* if, switch, for, while, break, continue
* 반복문
* 배열
* 복사
* 컬렉션
피연산자 계산의 대상이 되는 것 (숫자)
연산자 계산의 목적이 되는 것
산술연산자 +, -, *, /, %(나머지), <<, >>
비교연산자 >, <, >=, <=. ==, !=(좌우가 동일하지 않다)
논리연산자 &&(그리고) 모두 true 여야 true
||(또는) 하나라도 ture 이면 true
!(낫) 부정 true 일 때 false, false 일 때 true
대입연산자 =, ++, --
기타연산자
1) 형변환 연산자
2) 삼향 연산자
3) instance of
연산자의 우선순위 산술 > 비교 > 논리 > 대입
연산자 여러개가 함께 있는 연산을 계산할때는 우선순위가 있다
위 우선순위에 따라 최종적 응답값이 결정된다
단, 괄호로 감싸주면 괄호안의 연산이 최우선순위로 계산됨
산술연산시 타입일치 연산전에 두 피연산자의 타입이 다른 경우 타입을 일치시킴
두 피연산자의 타입을 같게 일치 시킴 (둘중 저장공간 크기가 더 큰 타입으로 일치)
- 피연산자의 타입이 ‘int’ 보다 작은 ‘short’ 타입이면 ‘int’ 로 변환
- 피연산자의 타입이 ‘long’ 보다 작은 ‘int’, ‘short’ 타입이면 ‘long’ 으로 변환
- 피연산자의 타입이 ‘float’ 보다 작은 ‘long’, ‘int’, ‘short’ 타입이면 ‘float’ 로 변환
- 피연산자의 타입이 ‘double’ 보다 작은 ‘float’, ‘long’, ‘int’, ‘short’ 타입이면 ‘double’ 로 변환
- 이처럼, 변수 여러개를 연산했을 때 결과값은 표현 범위가 가장 큰 변수타입을 가지게 됨
비트 연산 Byte를 8 등분한게 Bit
Bit는 0, 1 둘중의 하나의 값만을 저장하는 컴퓨터가 저장(표현) 가능한 가장 작은 단위
컴퓨터의 가장 작은 단위 이므로 가장 연산이 빠름
0, 1 값으로 산술연산을 하거나, 비교연산이 가능하나 자리수를 옮길 수 있음
Bit의 자리수를 옴기는 것을 비트 연산이라함
‘<<’ (왼쪽으로 자리수 옮기기), ‘>>’(오른쪽으로 자리수 옮기기)
0, 1은 2진수이기에
- 자리수를 왼쪽으로 옮기는 횟수의 2의 배수로 곱셈이 연산되는 것과 동일
예) 0101 (5) << 1010 (10)
- 자리수를 오른쪽으로 옮기는 횟수의 2의 배소루 나눗셈이 연산되는 것과 동일
예) 1010 (10) >> 0101 (5)
조건문 물이 끓으면 강불에서 약불로 줄여주세요에서
“물이 끓으면” 조건을 만족하면 “약불로 줄이는” 연산을 수행
1) if 문 특정 조건에 따라 다른 연산을 수행하고 싶을 때
if () {} 기본문법 값이 true인 경우 실행이 됨
2) if else else {} 기본문법 값이 false 인 경우 실행이 됨
3) swich 문 case 문과 함께 사용하며 if문보다 가독성이 좋은 조건문임 break를 꼭 넣어야함
4) if 문과 swich 문차이
- 복합 조건이 다름 if문은 ()안에 조건 여러개를 넣어 수행 가능 swich문은 피연산자 한 개에 대한 조건만 지원
- 코드 중복 if문은 코드중복이 많고 swich문은 코드 중복이 적다
반복문 하얗게 색이 변하기 전까지 계속 저어주세요
“하얗게 색이 변하기전” 조건이 만족할 동안 “저어주세요” 연산을 반복
1) for 문 특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용 끊지 않을 때 까지 계속해서->
잘못하면 영원히 수행됨 무한루프
for (초기값 ; 조건문 ; 증가연산) {(연산)}
2) while 특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 다만 초기값 없이 조건문만 명시하여 반복
while (조건문) {(연산)}
3) do-while do 이후 while을 실행
do {}while()
배열(분류통) 여러개의 변수를 한꺼번에 저장하고 관리하고자 할 때 사용 자료구조라는 이름으로도 사용함
1) 선언 int는 1개의 값만 변수에 저장할수 있으나 int[]와 같은 경우 여러개의 변수를 저장가능
① int [] intArray 정수배열
② long [] longArray
③ double [] doubleArray 실수배열
④ char [] charArray 문자배열
⑤ String [] StringArray 문자열배열
① int intarray[] 정수배열
② long longArray[]
③ double doubleArray[] 실수배열
④ char charArray[] 문자배열
⑤ String StringArray[] 문자열배열
2) 생성 new 명령어로 분류통에 몇 개를 담을지 미리 정의 각 타입별 초기값으로 초기화 됨
예) int는 0, boolean은 false, String는 null
3) 순회 배열의 값을 하나씩 뽑아서 조회
length 길이를 구하는 메서드
배열 복사
1) 얕은 복사 주소값만 복사되고 실제값은 1개로 유지됨
2) 깊은 복사 for문을 통해서 하나씩 꺼내어 복사해주는 방법
clone을 이용하는 방법 다만 2차원 이상 배열에선 얕은 복사로 동작함 배열로 이루어진 배열이 2차원 이상
배열
다차원 배열
1) 2차원 배열 int[] [] array, int array[] [], int[] array[]
컬렉션 배열보다 다수의 참조형 데이터를 더 쉽고 효과적으로 처리할 수 있는 기능이 있다
크기 자동조정 / 추가 / 수정 / 삭제 / 반복 / 순회 / 필터 / 포함 확인등....
참조형 변수를 저장함
int의 참조형 변수 = Integer
long의 참조형변수 = Long
double의 참조형 변수 = Double
String은 원래 참조형 변수
1) List 순서가 있는 데이터의 집합(중복허용) 배열과 비슷
2) Queue 빨대처럼 한쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합 FIFO 구조라고함
3) Stack 수직으로 쌇아놓고, 넣었다가 뺀다 FILO(basket)
4) Set 순서가 없는 데이터의 집합(중복허용 안함) 순서없고 중복없는 배열
5) Map 순서가 없는 (key, value) 쌍으로 이루어진 데이터의 집합 (key값 중복허용 안함) key로 value를 찾음
'항해99' 카테고리의 다른 글
23.08.17 항해 99 16기 프로그래밍 기초1 4일차 (0) | 2023.08.17 |
---|---|
23.08.16 항해 99 16기 프로그래밍 기초1 3일차 (0) | 2023.08.16 |
23.08.14 항해 99 16기 프로그래밍 기초1 1일차 (0) | 2023.08.14 |
항해 99 16기 스타터 노트 작성 (0) | 2023.08.14 |
23.08.11 항해 99 16기 개강준비과정 웹미니 프로젝트 3일차 (0) | 2023.08.14 |