728x90
반복문(for, while, do-while)
반복문은 어떤 작업을 반복적으로 수행되도록 할 때 사용한다.
반복문의 종류에는 for, while, do-while문이있다.
while문
조건문의 실행결과가 ture일 때까지 반복 실행
while(조건문){
실행문;
}
while문 실습
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package com.doubles.javabasic.loops; public class JavaLoopWhile { public static void main(String[] args){ /*while(true){ System.out.println("DoubleS"); // 출력 무한반복 }*/ /*while(false){ System.out.println("DoubleS"); // 출력 X }*/ int i = 0; // int형 변수 i를 선언하고 초기값 0으로 설정 while(i < 10){ System.out.println("DoubleS"+i); // i에 1을 더하고, 반복문은 반복문을 재호출 // i가 10보다 작을 때까지 반복문 실행 i++; } } } | cs |
do-while문
while문의 경우 조건이 만족하지 않는다면 반복하지 않는다.
하지만, do-while문은 무조건 한번은 실행되는 반복문이다.
do{
실행문;
}while(조건문);
do-while문 실습(숫자 스무고개)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | package com.doubles.javabasic.loops; import java.util.Scanner; public class JavaLoopDoWhile { public static void main(String[] args) { int input = 0; int answer = 0; answer = (int)(Math.random()*100)+1; // 1~100사이의 임의의 수를 저장 Scanner scanner = new Scanner(System.in); // 스캐너객체를 이용 숫자를 입력받는다. do{ System.out.println("1~100사이의 숫자(정수)를 입력해주세요"); String temp = scanner.nextLine(); // 입력받은 숫자를 temp에 저장 input = Integer.parseInt(temp); // 입력받은 문자열을 숫자로 변환하여 input에 저장 // 임의의 숫자와 입력받은 숫자의 대소비교 if(input > answer){ System.out.println("더 작은수를 입력해주세요."); }else if(input < answer){ System.out.println("더 큰수를 입력해주세요."); } }while(input != answer); // input(입력받은숫자)괴 answer(임의의 숫자)가 같아지게 되면 반복문 종료 System.out.println("정답입니다! "+answer); } } | cs |
for문
for문은 변수초기화, 조건식, 증감식이 한줄에 위치한다.
for문의 경우 반복 횟수를 알고 있을 때 적합하다. 구조가 다소 복잡할 수 있지만, 직관적이라 오히려 이해하기 쉽다.
for(초기화식; 조건식; 증감식;){
실행문;
실행문;
}
for문 실습1 (1~100까지의 합)
1 2 3 4 5 6 7 8 9 10 11 12 13 | package com.doubles.javabasic.loops; public class JavaLoopFor { public static void main(String[] args){ // for문 : 1~100까지의 합을 구해보자 int total = 0; for(int i = 1; i <= 100; i++){ total += i; } System.out.println(total); } } | cs |
for문 실습2 (1~100까지의 짝수, 홀수의 합)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package com.doubles.javabasic.loops; public class JavaLoopFor2 { public static void main(String[] args) { // 1~100까지 짝수의 합과 홀수의 합을 구해보자 int evenNumTotal = 0; int oddNumTotal = 0; for(int i = 1; i <= 100; i++){ // i가 1부터 100까지 1씩 증가하면서 반복문 실행 if(i % 2 != 0) { //i를 2로 나눈 나머지가 0이 아니라면(홀수일 경우) oddNumTotal += i; // i를 홀수합계 변수에 누적 } else if(i % 2 == 0) { // i를 2로 나눈 나머지가 0이면(짝수일 경우) evenNumTotal += i; // i를 짝수합계 변수에 누적 } } System.out.println("짝수의 합계는 "+evenNumTotal); System.out.println("홀수의 합계는 "+oddNumTotal); } } | cs |