IT/Java & JSP & FW

java :: for문, while문, do while문 예제 프로그램

엑수시아 2011. 12. 12. 12:43
for 문 이용_원하는 단의 구구단을 출력하는 프로그램
import java.io.*;
public class fortest {
	public static void main(String[] args) 
	throws IOException{
		
		BufferedReader br=
				new BufferedReader(new InputStreamReader(System.in));
		
		System.out.println("구구단출력프로그램");
		System.out.print("숫자입력>");
		int user=Integer.parseInt(br.readLine());
		
		for(int i=1;i<=user;i++){ 
			if(i==user){
			System.out.println(i+"의 구구단입니다.");
				for (int j=1;j<=9;j++){
					System.out.print(i*j+" ");
				}
			}
		}

	}
}


구구단 프로그램
public class day06_02 {
	public static void main(String[] args) {
		for(int i=2;i<=9;i++){
			for(int j=1;j<=9;j++){
				System.out.print(j+"*"+i+"="+(i*j)+"\t");
			}
			System.out.println();
		}
	}
}

while 문
먼저 비교한 다음에 실행
수치가 아닌 행위에 의한 반복수행제어문
논리판단
데이터가 있는지 없는지 열거형 데이터에서 for문 보다 유리함


do while 문
무조건 먼저 실행을 한다음에 조건을 비교.
import java.io.*;
public class day06_03 {
	public static void main(String[] args) 
	throws IOException{
		
		int user;
		
		do{  //먼저 실행
			System.out.println("숫자을 입력해주세요");
			user=System.in.read();
			System.in.skip(2);  //엔터도 읽으므로 skip으로 2비트만큼 넘겨서 입력값을 다시 받음
		}while(!(user>=48 && user<=58)); //아스키코드 값으로 숫자 범위 설정후 "!"로 논리 반전을 시킴
		
		System.out.println("입력한수:"+(char)user);  //(char)로 형변환
	}

}


Break 문
프로그램을 강제로 중단시키는 역활


Continue
반목문을 계속 수행하기 위한 역활

<예제>
import java.io.*;
public class day06_03 {
	public static void main(String[] args) 
	throws IOException{
		
		for(int i=1;i<=10;i++){
			if(1==5)continue;  //continue 문을 만나면 프린트를 출력시키지 않고 구문 최상단으로 올린다.
			System.out.println(i);
		}
	}

}


Return
메소드를 종료하는 역활


가위,바위,보 게임 프로그램
import java.io.*;
public class day06_04 {
	public static void main(String[] args) 
	throws IOException{
		BufferedReader in=
				new BufferedReader(new InputStreamReader(System.in));
		
		int user;  //변수를 먼저 선언애 do while 문에서 반복되게 한다.
		
		System.out.println("가위 바위 보 게임 v1.0");
		
		do{
			System.out.println("------------------");
			System.out.println("1.가위 2.바위 3.보 4.종료");
			System.out.println("------------------");
			System.out.print("입력>");
			
			String str=in.readLine();
			user=Integer.parseInt(str);
			System.out.print("당신이 낸 것은 ");  //사용자로부터 변수 입력받음
			switch(user){
				case 1:System.out.print("'가위'");break;
				case 2:System.out.print("'바위'");break;
				case 3:System.out.print("'보'");
			}
			
			int com=(int)(Math.random()*3+1);  //난수 발생시켜 변수 com에 저장
			System.out.print(", 컴퓨터가 낸 것은 ");
			switch(com){
				case 1:System.out.println("'가위'");break;
				case 2:System.out.println("'바위'");break;
				case 3:System.out.println("'보'");
			}
			
			if(user==com){
				System.out.println("비겼습니다.");  //같으면 무조건 비김 
			}else if(user==1){
				switch(com){
				case 2:System.out.println("컴퓨터가 이겼습니다.");break;
				case 3:System.out.println("당신이 이겼습니다");
				}
			}else if(user==2){
				switch(com){
				case 1:System.out.println("당신이 이겼습니다.");break;
				case 3:System.out.println("컴퓨터가 이겼습니다");
				}
			}else if(user==3){
				switch(com){
				case 1:System.out.println("컴퓨터가 이겻습니다.");break;
				case 2:System.out.println("당신이 이겼습니다.");
				}
			}else if(user==4){
				System.out.println("프로그램을 종료합니다.");
			}else{
				System.out.println("잘못 입력하셨습니다.");
			}
		}while(!(user==4));  //조건식을 만족시키기 위해 반전시켜서 4가 나올시 프로그램 종료
	}
}

예제 프로그램을 실행 시켜 보면서 이해해보시길 바랍니다. ^^*