Java

반복문(while문)

은찡안찡 2022. 10. 4. 21:54

while문은 조건식이 true일 경우에 계속해서 반복한다. 조건식에는 비교 또는 논리 연산식이 주로 오는데, 조건식이 false가 되면 반복 행위를 멈추고 while문을 종료한다.

 

While(① 검사조건 ){

         

          ②실행문;

}

 

①while문이 처음 실행될 때 ⓛ조건식을 먼저 평가한다. 평가 결과가 true 이면 ②실행문을 실행한다. ②실행문이 모두 실행되면 다시 조건식으로 돌아가서 ①조건식을 다시 평가한다. 만약 조건식이 true라면 ②에서①로 다시 진행하고 false라면 while문을 종료한다.

※ 검사조건에는 true 라는 값을 넣을 수 있으며, true 라는 값을 넣으면 "무한반복"된다.

 

예제

package com.dream.controls;

import java.util.Scanner;

//영문 대문자를 소문자로 변경하는 프로그램
public class WhileEx02 {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		String str="";
		char ch=0;
		
		while(true) {//무한 반복문
			
			System.out.println("영문 대문자를 소문자로 변경하는 프로그램");
			System.out.print("영문 대문자 입력:");
			str=in.nextLine();//콘솔뷰에 입력한 문자열을 얻어와서 str변수에 임시로 저장한다.
			ch=str.charAt(0);//str에 저장된 문자열에서 String 클래스의 chatAt(index)로 첫번째 문자 하나를 얻는다.
			
			//ch if 조건문의 분기점으로 사용한다.
			if(ch>=65&& ch<=90) {//만약 ch가 대문자이면...
				System.out.println((char)(ch+32));//char형은 산술연산자로 연산을 하면 정수형으로 바뀐다 그래서 형변환을 해주는것.
			 break;//반복문을 벗어난다.
			}else if(ch>='a'&&ch<='z') {//만역 ch가 소문자이면...
				System.out.println("영문 소문자를 입력하였습니다. 대문자를 입력해 주세요.");
			}else if(ch==52) {//키보드의 4번을 누르면 '52'번이다. ch52=4(키보드)
				System.out.println("프로그램을 종료합니다.");
				break;
		    }else{
				System.out.println("영문자를 입력해주세요.");
			}
		}	
	}
}

 

//원하는 만큼 숫자를 입력받아 더하기(누적)
//프로그램 종료는 -1을 입력하면 된다.(=만약 음수이면 break 멈추게 된다)
package com.dream.controls;
import java.util.Scanner;
public class inputNum {
	public static void main(String[] args) {
	//1.사용자가 숫자를 입력하게 메세지를 출력한다
	//2.반복문을 사용해서 사용자가 반복해서 입력하도록한다.
	//3.사용자가 -1값을 력하면 반복을 종료한다.
	//4.사용자가 입력한 숫자를 계속해서 누적한다.
	//5.누적된 숫자를 출력한다.
		Scanner in = new Scanner(System.in);
		int num=0, total=0;

		System.out.println("입력한 숫자를 더하는 프로그램");
		System.out.println("-1을 입력하면 프로그램 종료");

		while(true){	
			System.out.println("숫자를 입력하세요");
			num=in.nextInt();	
			total+=num;
	
			if(num==-1){
				System.out.println("프로그램 종료");
				break;//가장 근접한 반복문 하나만 벗어난다.
			}
		}
		System.out.println("입력한 숫자의 총합은"+total+"이다.");
	}
}

결과

'Java' 카테고리의 다른 글

배열  (0) 2022.10.12
반복문(do-while문)  (0) 2022.10.04
반복문(for문)  (0) 2022.10.04
자바 Scanner 클래스  (0) 2022.09.22