[자바 기초] for, while
복습
[자바 기초] if 문
복습 https://shins99.tistory.com/6 💡 학습 목표 1. if문 단독 2. if else 구문 3. if else if else 구분 4. else 구문에 의미 조건문 이란? ● 주어진 조건에 따라 다른 실행이 이루어 지도록 구현 ● '재산이
shins99.tistory.com
for, while
💡 학습 목표
반복문에 대해 이해하자
1. 반복적인 패턴이 보인다면 그 때 for 구문을 생각해 보자.
2. 반복적인 패턴이 보인다면 while문 도 사용할 수 있다.
조건이 참(true)인 동안 반복수행하기
● 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문
● 조건이 맞지 않으면 반복하던 수행을 멈추게 됨
● 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단 됨
반복문 for (index for)
● 조건식을 만족하는 동안(true) 수행문이 무한 반복됨
● 반복 횟수가 명확하게 정해져 있을 경우 유용
for (초기화식; 조건식; 증감식) {
수행문;
...
}
구구단 만들어 보기
for (int i = 2; i < 10; i++) {
for (int j = 1; j < 10; j++) {
System.out.println(i + " * " + j + " = " + i * j);
반복문 for each (initialized for)
for (자료형 요소 변수 : 리스트) {
코드;
}
반복문 while
● 수행문을 수행하기 전 조건을 체크하고 그 조건의 결과가 true인 동안 반복 수행
● 조건은 주로 반복 횟수 or 값의 비교 결과에 따라 참, 거짓이 판단됨
● 사용자의 입력 값에 따라 반복 여부가 달라지는 경우 유용
● 무한 반복을 주의 해야 함.
while (조건식) {
수행문;
...
}
무한 반복 할 때
while(true) {
......
}
while 문을 이용해서 화면에 출력하는 프로그램을 만들어보기
Scanner sc = new Scanner(System.in);
// 1 을 입력하면 화면에 '반가워' 출력
// 0을 입력하면 종료
int input = -1;
while (input != 0) { // input 값이 0이 아니라면 true 결과가 나온다.
System.out.println("1.저장 2.수정 3.삭제 4.조회 0.종료");
input = sc.nextInt();
if (input == 1) {
System.out.println("저장을 선택 하셨습니다.");
} else if (input == 2) {
System.out.println("수정을 선택 하셨습니다.");
} else if (input == 1) {
System.out.println("삭제를 선택 하셨습니다.");
} else {
System.out.println("조회를 선택 하셨습니다.");
}
}
System.out.println("종료");
반복문 do-while
● 조건과 상관 없이 한 번은 수행문을 수행한 후, 그 다음부터는 조건에 따라 반복
do {
수행문1;
...
} while (조건식);
수행문2;
....
제어문 안에서 사용하는 명령어
● 감싸고 있는 제어문의 블록을 빠져 나오는 기능
● 반복문에서는 주로 조건문(if)와 같이 사용
→ 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동
● 여러 반복문이 중첩되어 있는 경우엔 break 문이 포함되어 있는 반복문만 빠져 나옴
break 문
● 자신을 감싸고 있는 반복문 하나의 블록을 빠져나오며, 제어문이 중단됨
● 반복문 내부에서 주로 조건문 안에 break 문을 사용
→ 조건에 해당되는 경우, 반복 수행을 멈추고 반복문 외부로 빠져 나옴
● 여러 반복문이 중첩되어 있는 경우, break문이 포함되어 있는 제어문 에서만 빠져 나옴
for (초기화식; 조건식; 증감식) {
수행문;
if (조건식) {
break;
}
}
continue 문
● 반복문 내부에서 조건문 안에 continue 문을 사용
→ 조건에 해당되는 경우, 해당 반복 회차의 다른 문장들을 수행하지 않고, 다음 반복으로 넘어감
for (i = 0; i <= 100; i++) {
if (i == a) {
continue;
}
수행문N;
}
기타
● 방어적 코드 : 실행 결과가 잘 못 나왔을 때를 대비한 코드
try {
System.out.println();
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("0으로 나눌수 없습니다.");
e.printStackTrace();
}