Tip!
1. 프로그램을 만들때는 유저 친화적일지, 프로그래머 친화적일지 생각해야한다(index : 0~ / 1~)
** 제어문
=> 분기 - if(boolean), switch(value - 정수, 문자열)
=> 반복 - while(~동안), do~while(~때까지), for : 컬렉션의 데이터를 순회하기 위해
- for(처음한번 수행 ; 조건 - boolean(false이면 빠져나감) ; 두번째부터 수행)
1. 무한 반복
1) while(true){ (내용); }
2) do{ (내용); }while(true);
3) for( ; ; ){ (내용); }
2. 제어문 만들때 ;에 유의
=> if(조건); { } //else가 있으면 에러이고 else가 없으면 if가 없는 것과 같음
=> switch(변수); { } //에러
=> while(조건); { } //반복하지 않고 1번만 수행
=> for(초기식; 조건식; 2회부터 반복식); { } //반복하지 않고 1회만 수행
=> 괄호 뒤에 ;을 하는 경우는 do{내용} while(조건)
3. 내용이 한줄인 경우는 { }를 생략하는 것이 가능
=> 생략하지 않는 것을 권장
4. 제어문 안에서 만든 변수는 제어문 안에서만 사용 가능
5. 제어문 안에 제어문 사용 가능
=> scope의 법칙 : 쌍으로 만들어져야 하는 구문은 가까이에서 만든 것과 결합
영역이 다르면 동일한 이름을 가지고 기능을 부여해도 됨
여러곳에서 이름을 만든 경우 가까이에서 만든 이름을 먼저 찾음
** Break와 Continue
1. break : 반복문 안에서 분기문(if등)과 함께 사용하여 반복문을 종료하는 기능을 가진 명령어
for(int i=0; i<5; i++){ 내용
//조건이 true가 되면 break를 만나 반복문 종료
if(조건){ break } }
=> switch에서 조건 없이 사용하여 switch구문을 빠져나감
2. continue : 반복문에서 분기문과 함께 사용되어 다음 반복으로 넘어가는 역할
for(int i=0; i<5; i += 1){
//조건이 true가 되면 continue를 만나서 내용을 수행하지 않고 다음 반복으로 넘어감
if(조건) { continue; } 내용 }
while(9/14까지){ 하루씩 증가;
if(토, 일, 공유일){ continue; }
학원에 갑니다.
** 연습
System.out.print("*"); 별을 1개 출력
System.out.print("\n"); 줄바꿈
* 0~0
** 0~1
*** 0~2
**** 0~3
***** 0~4
1. 데이터의 개수가 1씩 증가.
1 * i(변화량 * i를하고 첫번째 i에 대입해서 개수가 맞는지 계산, 맞지 않으면 개수에 맞춰 +,-를 해줌)
2. 반복 구조 안에서 패턴이 변경되는 경우 패턴이 변경되는 지점에서 분할하여 해결
=> 복잡한 문제가 주어지면 해결할 수 있는 단위로 분할하고, 합치면 됨
** 연습문제
1. 별 찍기
*
**
***
**
*
2. 문제 - 한글과 컴퓨터 코딩테스트 문제
(라인수를 입력받아서 그 줄 수 만큼 만들기 - 본 시험 문제)
0 앞에 공백 4개 -5개
1 2 앞에 공백 3개 중간 공백 1개 - 6개
3 4 앞에 공백 2개 중간 공백 3개 - 7개
5 6 앞에 공백 1개 중간 공백 5개 - 8개
7890123 공백 없이 숫자 9개
=> 숫자는 0~9까지 진행하고 다시 0으로 돌아와야 한다.
=> 첫번째와 마지막은 예외형태로 구현해야함(규칙이 안맞음)
'수업 정리' 카테고리의 다른 글
8일차 수업 정리(Class, 변수, Method) (0) | 2020.04.16 |
---|---|
7일차 수업 정리 (0) | 2020.04.14 |
5일차 수업 정리 (0) | 2020.04.10 |
4일차 수업 정리 (0) | 2020.04.09 |
3일차 수업 내용 정리 (0) | 2020.04.08 |