JAVA 3강_4_while 반복문

열라뽕따히·2024년 1월 28일

JAVA

목록 보기
15/79

while 반복문

  • 조건식을 비교하여 참인 경우 계속해서 반복 실행문을 실행하고 조건식이 거짓인 경우에 반복문을 빠져나가는 명령문
  • while 반복문은 반복문의 횟수를 알 수 없는 경우에 많이 사용됨
  • 반복문에는 반드시 초기식, 조건식, 증감식이 존재해야 함
  • 형식 :
          while(조건식) {
            반복 실행 문장;
         }

1 ~ 10을 출력해보자!




============================코드============================

	  
// while 반복문을 이용하여 1 ~ 10까지 출력을 해보자
	  int num = 1;              // 반복문에서 '초기식' 임
	  
	  while(num <= 10) {        // 반복문에서 '조건식' 임
		  System.out.println("num >>> " + num);
		  
		  num++;                // 반복문에서 '증감식' 임 
	  } // while 반복문 end

============================실행============================





[문제]
while 반복문을 이용하여 1 ~ 10까지의 합을 구해보자




============================코드============================

// 1. 변수 선언
		int su = 1;             // 반복문에서의 초기식     int su =1, sum = 0; 도 가능
		int sum = 0;            // 1 ~ 10 까지의 합을 저장할 변수
		
		while(su <= 100) {       // 반복문에서의 조건식
			sum = sum + su;
			
			su++;               // 반복문에서의 증감식
		}
	System.out.println("1 ~ 100 까지의 합 >>> " + sum);

============================실행============================





[문제]
1 ~ 100 까지의 홀수의 합과 짝수의 합을 구하여 화면에 보여주세요




============================코드============================

int num = 1;
int oddSum = 0, evenSum = 0;
	    
	    while(num <= 100) {
	    	
	    	if((num % 2) == 1) {
	    // 참인 경우 ==> 홀수인 경우
	    		oddSum = oddSum + num; 
	    		
	    // 거짓인 경우 ==> 짝수인 경우
	    	}else { 
	    		evenSum = evenSum + num;     // evenSum += num;  --> 이것도 가능
	    		
	    	}
	    	num++;      // 반복문에서의 증감식
	    		
	    }
	    
	    System.out.println("1 ~ 100 까지의 홀수의 합 : " + oddSum);
	    System.out.println("1 ~ 100 까지의 짝수의 합 : " + evenSum);

============================실행============================





ABCDEFG...XYZ 와 ZYXWV...CBA 까지의 문자를 출력해보자




============================코드============================

char alpha = 'A';          // 반복문에서 초기식
		
	while(alpha <= 'Z' ) {    // 반복문에서 조건식
			
			System.out.print(alpha);
			
			alpha++;            // 반복문에서 증감식
		}
		
		System.out.println();
		
 // ZYXWV...GFEDCBA까지 문자를 출력해보자!
		
char alpha2 = 'Z';     
				
	while(alpha2 >= 'A') {
			
			System.out.print(alpha2);
			
			alpha2--;

============================실행============================

[문제]
1 ~ 100 까지의 정수 중에 키보드로 5개의 정수를 입력을 받아서 5개의 정수 중에서 최대값을 화면에 보여주세요
ex) 43, 17, 64, 98, 11




============================코드============================

Scanner sc = new Scanner(System.in);
		
	int max = 0;     // 최대값이 저장될 변수
		
	int temp = 0, su = 1;
		
		while(su <= 5) {
			
			System.out.print(su + "번째 정수 입력 : ");
			
			temp = sc.nextInt();
			
			if(temp > max) {
				
				// 조건이 참일 시 0인 max의 값에 temp값을 넣어준다
				max = temp;
			}
			
			su++;
		}
		
		System.out.println("최대값 : " + max);
		
		sc.close();

============================실행============================





[문제]
while문을 이용하여 -1이 입력될 때까지 정수를 계속 입력을 받아서 합을 구하고 -1이 입력이 되면 while문을 빠져 나와서 평균을 구하는 프로그램을 만들어 보자




============================코드============================

Scanner sc = new Scanner(System.in);
		
int count = 0;      // 입력된 정수의 갯수가 저장될 변수 (평균 구할 때 필요)
int sum = 0;        // 합이 저장될 변수
		
		System.out.println("계속적으로 정수를 입력 하고 마지막에 -1을 입력하세요...");
		
		int su = sc.nextInt();
		
		while(su != -1) {
			
			sum = sum + su;
			
			count++;
			
			su = sc.nextInt();   // 반복문 안에서 계속 반복
		}
		
		System.out.println("입력된 정수의 갯수는 " + count + " 입니다.");
		System.out.println("입력된 정수의 평균은 " + (double)sum / count + "입니다.");  // 하나만 double로 바꿔줘도 전체가 바뀜
		
		sc.close();

============================실행============================

0개의 댓글