[JAVA] 6. 반복문(기초)

좡좡·2024년 9월 3일
0

LanguageBasicStudy

목록 보기
7/11

반복문

while문

  • while(){}
    ()안에 조건이 True일 때, 반복을 진행한다.
    반복 횟수가 정해지지 않았을 때 사용
  • 예제) 입력받은 수가 10보다 작은지 큰지 판단하여 작다면 반복 종료
Scanner sc = new Scanner(System.in);

// 첫번째 방법
while(true){
	System.out.println("정수 입력 : ");
    int num = sc.nextInt();
    
    if(num > 10){
    	System.out.println("종료되었습니다.");
        break; // break를 만나면 바로 멈춘다.
    }
}

// 두번째 방법
int num = 0;
while(num<10){
	System.out.print("정수 입력 : ");
    int num = sc.nextInt();
}
System.out.println("종료되었습니다.");
  • while문을 멈추는 방법
// while문의 조건을 담을 수 있는 변수 선언
boolean result = true;

while(result){
	System.out.println("반복문 1번만 실행");
    // 1번째 방법 
    // 속해있는 영역을 벗어난다.
    break;
    // 2번째 방법
    result = false;
}

do-while문

  • do{실행문}while(조건식);
    무조건 do안의 실행문을 한번 실행하고 조건에 따라 반복을 결정
  • 예제) 목표 몸무게까지 감량하면 반복을 멈추는 반복문
Scanner sc = new Scanner(System.in);
// 현재/목표 몸무게 입력받기
System.out.print("현재 몸무게 : ");
int now = sc.nextInt();
System.out.print("목표 몸무게 : ");
int goal = sc.nextInt();

// 몇 주차를 표현할 수 있는 변수 선언
int w = 1;

do{
	// 반복될 내용
    // 주차별 감량 몸무게 입력 받기
    System.out.print(w + "주차 감량 몸무게 입력 : ");
    int lose = sc.nextInt();
    
    // 원래 몸무게 - 감량 몸무게
    now -= lose;
    w++;
}while(now >= goal); // 다이어트의 성공 여부 판단

System.out.println(now + "kg 달성! 축하합니다!");
  • 출력결과
    현재 몸무게 : 70
    목표 몸무게 : 60
    1주차 감량 몸무게 입력 : 5
    2주차 감량 몸무게 입력 : 4
    3주차 감량 몸무게 입력 : 3
    58kg 달성! 축하합니다!

for문

  • for(변수선언;변수조건;변수증감){반복실행문;}
    반복해야될 횟수를 알고 있을 때 사용
  • 예시) 1부터 3까지 반복하며 출력할 때
// 그냥 3번 출력
System.out.println("1");
System.out.println("2");
System.out.println("3");

//while문
int num = 1;
while(True){ // 또는 while(num<
	System.out.println(num);
    num ++
    if(num>3){
    	break;
    }
}

// for문
for(int i = 1; i < 4; i++){
	System.out.println(i);
}
  • 출력결과(모두 동일)
    1
    2
    3

  • 예시) 약수구하기

// 숫자 입력받기
Scanner sc = new Scanner(System.in);
System.out.print("정수 입력 : ");
int num =sc.nextInt();

// 입력받은 숫자 num을 임의의 숫자(1~num)로 나누었을 때 나머지가 0인 약수 출력
for(int i = 1; i<=num;i++){
	if(num%i==0){
    	System.out.prtint(i + " ");
    }
}
  • 출력결과
    정수 입력 : 9
    1 3 9

  • 예시)

int total = 0;
for(int i=77;i>=1;i--){
	total += (i*(78-i));
}
System.out.println(total);
  • 출력결과
    79079
// 또 다른 풀이, for문 안에 변수 두개를 선언하여 사용
int total = 0;
for(int i=77, j=1; i>=1;i--, j++){
	// i가 끝나면 반복문이 끝나기 때문에, j의 조건 값은 지정하지 않아도 된다.
	total += (i*j);
}
System.out.println(total);
  • 출력결과
    79079
profile
징기징지깅기 좡가좡가좡가

0개의 댓글