2022.03.08.(화)
반복문
코딩테스트 및 자바 설정
JAVA HOME 설정
내 컴퓨터 -> 마우스 오른쪽 버튼 -> 속성 -> 고급 시스템 설정 -> 환경 변수 -> 새로 만들기
변수 이름 : JAVA_HOME
변수 값 : "내 컴퓨터 -> C -> program Files -> Java -> jdk 1.8.0_321"
path - 편집 -> 새로 만들기 -> "%JAVA_HOME%\bin"
수업 커리큘럼
: JAVA, DBMS, HTML, CSS, JavaScript(JAVA와 연관X), jQuery, JSP, Spring, C
<Java의 정석, 열혈강의 JSP, Spring 토비>
네이버
카카오톡
라인
쿠팡
배민
직방
당근마켓
토스
백준닷컴 문제 단계
https://www.acmicpc.net/
프로그래머스(코딩테스트 연습)
https://programmers.co.kr/
http://jungol.co.kr/ 정보올림피아드 [language coder]
https://www.oncoder.com/
https://leetcode.com/
https://www.codility.com/
https://www.hackerrank.com/
https://www.sololearn.com
1-1. for문
- for문은 사람이 직접 처리하기에 부담스러운 반복적인 작업을 처리하는데에 매우 용이하다.
- (1) : 최초로 초기식을 설정한다. - (2) : 초기식을 설정한 다음에는 조건식을 판단한다. - (3) : 만약 조건식이 참이라면, 반복적으로 동작할 구문을 1회 수행한다. - (4) : 반복구문을 수행한 후, 증감식으로 이동한다. - (5) : 증감식을 수행한 후, 다시 조건식으로 이동한다. 여전히 조건식이 참이라면 반복수행을 처리하고, 그렇지 않다면 for문을 종료한다.
** <이중 for문까지는 사용하지만, 3중 for문은 꼭 필요한지 고민이 필요하다!>
[ for문 사용법 ]
for문 엑셀 테스트
[ for문 예시 ]
[ for문 누적합 구하기 ]
[ for문 구구단 알고리즘 ]
1-2. while문
- while문 역시 for문과 마찬가지로 반복적인 처리를 수행하는 문법이다.
- for문은 초기식, 조건식, 증감식을 모두 내장하는 반면, while문은 조건식만을 내장하기 때문에
초기식과 증감식을 외부에 따로 정의해 주어야 한다.
[ while문 사용법 ]
[ while문 누적합 구하기 ]
[ while문 구구단 알고리즘 ]
1-3. do ~ while문
- 조건의 판별을 나중에 수행하는 반복문 형태
- 초기식을 설정한 후에 do{...} 안의 문장을 우선적으로 1회 실행하고 조건을 판별하므로,
조건이 참이 아니더라도 최소 1회는 실행된다.
[ do ~ while문 사용법 ]
[ do ~ while문 누적합 구하기 ]
[ do ~ while문 구구단 알고리즘 ]
[ do ~ while문 특징 (while의 조건문에 상관없이 do {..} 의 문장을 우선적으로 실행!) ]
1-4. 무한 루프
- 증감식이 설정되지 않거나, 증감식이 수행되더라도
조건식이 거짓이 되지 않는 형태
- 조건식이 항상 참이므로, 반복문이 종료되지 않는다.
- 프로그램이 PC의 자원을 매우 많이 사용하게 되므로,
시스템 다운을 발생시킬 수 있다.
while (true) { System.out.println("Hello"); }
for (int i = 0; i < 10; i--) { System.out.println("Hello"); System.out.println(i); }
** <개발하는 과정에서는 존재할 수 있으나, 배포가 되었을 때는 존재하면 안됨!!>
[ for문 무한 루프 예 ]
[ while문 무한 루프 예 ]
1-5. 문법의 중첩 사용
- 조건문과 반복문 등의 문법을 중복해서 사용할 수 있다.
[ 문법의 중첩 사용 ]
[ 이중 if문 사용 예제 ]
2-1. 자신보다 하위 블록으로는 침투할 수 있다.
- 사용 가능 int num = 100; if (num == 100) { System.out.println(num); }
- 사용 가능 int num = 100; for (int i = 0; i < 10; i++) { System.out.println(num + i); }
2-2. 자신이 선언된 블록 밖으로는 빠져나갈 수 없다.
- 사용 불가 : 변수 result가 if 블록 안에서 생성되었으므로 사용 불가 int num = 100; if (num == 100) { int result = num + 100; } System.out.println(result);
- 사용 불가 : i가 for문을 위한 괄호 안에서 사용되었으므로 사용 불가 for (int i = 0; i < 10; i++) { ... } System.out.println(i);
2-3. 블록 안에서 선언된 변수는 블록 밖에서 존재하는 동일한 이름의 변수와는 이름만 동일할 뿐, 다른 값으로 인식된다.
- 사용 가능 int target = 100; if (target == 100) { int num = target + 100; } else { int num = target - 100; }
[ 변수의 사용 범위 예 (주석 참고) ]
3-1. for문 예제
[ 누적합 문제와 구구단 알고리즘 ]
3-2. while문 예제
[ while문 출력 알고리즘 ]
3-3. 예제 실행 및 결과
[ 예제 실행 결과 ]