while 문
기본형
while(조건식){ 작업문장 }
- while 문은 어떤 조건을 정해놓고 반복을 하는 구조이다
- 인터럽트를 건다 = break
- break 문이 걸리기 전까지 while 문은 데몬 프로세스
- continue 문은 반복문에서 현재의 반복을 건너뛰어서 다음 반복으로 넘어가게 함
- while 문을 쓸 때는 조건식에는 true를 쓰고 break로 종료하는 게 제일 깔끔함
정수를 입력받아 양수, 음수, 0인지 알려주고 99를 입력받으면 종료되는 프로그램
package ex03; import java.util.Scanner; public class NestedWhile { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true) { System.out.print("정수를 입력하시오: "); int number = sc.nextInt(); if (number == 99){ break; } if (number > 0) { System.out.println("양수입니다."); } else if (number < 0) { System.out.println("음수입니다."); } else { System.out.println("0입니다."); } } } }
예제
01. -1의 값이 입력될 때까지 합계 계산하기
package ex03; import java.util.Scanner; public class GetSum { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum =0; while (true) { // if 문을 안쓰고 true 자리에 n != -1을 넣어도 되지만 break로 쓰도록하자 System.out.print("정수를 입력하시오: "); int n = sc.nextInt(); if (n==-1) { System.out.println("정수의 합은 "+sum+"입니다."); break; } sum = sum+n; } } }
결과

02. 점수들을 입력받고, 음수를 입력받으면 점수들의 평균을 알려주는 프로그램
package ex03; import java.util.Scanner; public class Averager { public static void main(String[] args) { int n; int i=0; int sum=0; Scanner sc = new Scanner(System.in); while (true) { System.out.print("정수를 입력하시오:"); n = sc.nextInt(); if(n < 0){ break; } i++; sum = sum + n; } System.out.println("평균은"+(double)sum/i); } }
결과

for 문
기본형
for( 초기식; 조건식; 증감식){ 작업문장 }
- 반복이 언제까지 하는지 명확히 알고 있을 때 쓴다
package ex03; public class ForExample1 { public static void main(String[] args) { for(int i=0; i<5; i++){ System.out.println("i의 값은:"+i); } } }
예제
01. 정수의 합 계산하기 (1~10)
package ex03; public class Sum { public static void main(String[] args) { int sum = 0; for (int i = 1; i <= 10; i++) { sum = sum +i; } System.out.println("1부터 10까지 정수의 합: " +sum); } }
결과

02. 팩토리얼 계산하기 정수를 입력받고 출력한다.
package ex03; import java.util.Scanner; public class Factorial { public static void main(String[] args) { long fact = 1; int n; Scanner sc = new Scanner(System.in); System.out.print("정수를 입력하시요: "); n = sc.nextInt(); for (int i = 1; i <= n; i++) { fact = fact*i; } System.out.println(n + "!은 " + fact +"입니다."); } }
결과

03. 정수를 입력받아 그 정수의 약수를 출력하는 프로그램
package ex03; import java.util.Scanner; public class Divisor { public static void main(String[] args) { int n; Scanner sc = new Scanner(System.in); System.out.print("양의 정수를 입력하시오: "); n = sc.nextInt(); System.out.println(n + "의 약수는 다음과 같습니다."); for (int i = 1; i <= n; i++) { if(n%i == 0){ System.out.print(i+" "); } } } }
결과

04. 반복문을 중첩하여 *를 10개씩 5줄로 만들어보기
package ex03; public class NestedLoop { public static void main(String[] args) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 10; j++) { System.out.print("*"); } System.out.println(); } } }
결과

05. 반복문을 이용하여 구구단 작성하기
package ex03; public class GugudanEx01 { public static void main(String[] args) { for (int i = 1; i <10 ; i++) { for (int j = 1; j < 10; j++) { System.out.print(i + "x" + j + ": " + j * i + " "); } System.out.println(); } } }
package ex03.hw; public class GugudanEx01 { public static void main(String[] args) { for (int i = 1; i < 10; i++) { for (int j = 1; j < 10; j++) { System.out.print(j+"x"+i+"="+i*j+"\t"); // \t는 Tap을 의미 } System.out.println(); } } }
결과


Share article