반복적인 실행이 이루어져야 할때, 사용이 가능한 While 문과 For에 대하여 공부하고 비교해보자.
While 반복문
while(조건식)
실행부분
수직방향으로 구현된다.
ex ) 초기식(시작점) -> 조건식 -> 명령문 -> 증감식
//1~10까지의 합을 구하시오.
int sum = 0;
int i = 1; //초기식
while(i<=10) {//조건식
sum += i;//명령문
i++; //증감식
}
System.out.println("1~10까지 합"+ sum);
//value = 1~10까지 합55
💡 while의 무한반복
while(true)
실행부분
System.out.println("프로그램을 선택해주세요.");
System.out.println("1. 추가 2. 출력 3.검색 4. 종료");
while(true) {
int i =sc.nextInt();
switch(i) {
case 1:
System.out.println("추가");
break;
case 2:
System.out.println("출력");
break;
case 3:
System.out.println("검색");
break;
case 4:
System.out.println("종료");
return;
}
💡 do~while 문
명령문을 먼저 실행해야하는 경우 사용된다.
명령문을 먼저 실행하고 조건을 검사함.
do {
// 실행문
}while(조건문);
For문
수평구조 : 초기식 -> 조건식 -> 증감식 -> 명령문 순서로 진행된다.
for(초기식; 조건식 ; 증감식){
//명령문
}
int sum =0;
for(int i=1 ; i<=10 ; i++) {
sum += i;
}
System.out.println(sum);
💡 For 의 무한반복
for(;;){
}
중첩 for문
동일한 for문이 반복되어야 할때 사용
ex)구구단 출력하기
for(int i=2;i<=9;i++) {
System.out.println(i+"단");
for(int j=1;j<=9;j++) {
System.out.println(i+ "*" + j + "=" + (i*j));
}
}
💡 중첩된 반복문 한번에 빠져나가는 방법
- 반복문에 라벨을 붙인다.
loop:for(int cnt =0; cnt<=40; cnt++) {
System.out.println(cnt);
if(cnt>10) {
break loop;
}
}
loop:for(int cnt =0; cnt<=40; cnt++) {
System.out.println(cnt);
if(cnt>10) {
break loop;
}
}
용어정리
break 문 - 해당 코드에서 벗어나는 내용
continue 문 - 생략 , 아래 내용을 실행하지 않고 증감식으로 바로간다.
💡 continue문 확인
package ch21;
public class ContinueTest {
public static void main(String[] args) {
//100 보다 작은 3의 배수 출력하기
int num;
for(num = 1 ; num <=100; num++) {
if((num % 3) != 0 ) continue; // 삼의 배수가 아니면 조건식으로 넘어감.
System.out.println(num);
}
}
}
각 반복문은 언제 주로 사용되는가?
while문 | do~while문 | for문 | |
수행 | 조건이 참인 동안 반복 수행 조건이 맞지 않으면 수행되는 부분이 없음 |
조건이 참인경우 실행되고 맞지 않게 될때까지 반복된다. | 초기화, 조건체크,증감 순으로 진행된다. |
쓰임 | 조건식의 결과나 변수가 true/false값인 경우 주로 사용된다. | 조건식의 결과나 변수가 true/false값인 경우 주로 사용된다. | 특정 수의 범위, 횟수와 관련하여 반복되는 경우 주로 사용, 배열과 함께 주로 사용. |
'BackEnd > JavaProgram' 카테고리의 다른 글
[ JAVA ] 인스턴스 생성과 힙 메모리(heap memory) / 생성자 구현 (0) | 2023.01.29 |
---|---|
[ JAVA ] 객체 지향 프로그래밍이란 ? 클래스 / 메서드 (0) | 2023.01.29 |
[자바기초 문법] 연산자와 조건문 If / Switch (0) | 2022.12.24 |
Scanner 객체 사용 방법 (0) | 2022.12.22 |
[자바기초 문법] 변수/데이터형 /형변환 (0) | 2022.12.22 |