본문 바로가기
개발자/백엔드 웹 개발자 과정(국비)

2022년 11월 11일 _ 8회차(for문, while,do-while,보조 제어문(break,continue))

by 초응 2022. 11. 11.

#08_01. for문을 이용한 구구단 만들기

package day08;

public class Day08_01 {

	public static void main(String[] args) {

		
		for(int j=1;j<=9;j++){
			for(int i=2;i<=9;i++) {
			System.out.print(i+"*"+j+"="+(j*i)+"\t");
			}
			System.out.println();
		}	
		
	}

}

 


#08_02. while문, do while문

for문 : 수치에 의한 반복.
while문 :수치가 아닌 행위에 의한 행위에 의한 반복수행제어문
while(논리형 조건식){
 실행문자;
}
ㄴ 초기식과 증감식이 제거된 상태.
ㄴ수치를 이용하지 않고 반복을 한다.
ㄴ과거에는 반복적인 데이터나 메뉴를 나타낼때 출렸했었다
ㄴ 선조건 후실행 (조건을 비교해서 조건이 만족하면 반복을 함)

do while문: 반복문장이 한번은 실행되는 제어문
do{반복될 문장;
}while(조건식);

ㄴ 선실행 후조건. 우선 한번 실행하고 그 다음에 조건을 물어본다음 반복

-과거에는 유효성검사를 할때 사용함 :데이터의 유효성이 있는지 없는지 판단. 

package day08;

public class Day08_02 {

	public static void main(String[] args) {

		/*선 조건 후실행
		1. 기본형식//횟수에 제한없는 반복구문을 출력 처리
		while(true) {
			System.out.println("안녕하세요.");
		}*/
		
		/*2. for문처럼도 사용가능*/
		int i = 1;
		while(i<=10) {
			System.out.print(i);
			i++;
			
		}		System.out.println();

		
		char j='A';
		while(j<'Z') {
			System.out.print(j+" ");
			j++;
		}
		System.out.println();

		/*do~while 선실행 후조건*/
		int z = 0;
		do {
			System.out.println("내 이름은 홍길동");
			z++;
		}while(z<=0);
		/*  1.z=0
			2.출력
			3.z=1
			4.z<=0
		 */	
	}

}

 

 


#08_03. while과 do-while문을 이용하여 숫자 판별 프로그램 만들기

 

 

package day08;
import java.io.*;
public class Day08_03 {

	public static void main(String[] args) 
	throws IOException{
		
		while(true) {
		
			System.out.println("[숫자 판별 프로그램]");
		
			int user = 0;
		
			do {
				System.out.print("숫자 입력(0=은 종료):");
				user =System.in.read();
				System.in.skip(2);
			}while(!(user>=48 &&user<=57));
			

			if(user=='0') { // '0'작은따옴표 꼭하기..
				System.out.println("프로그램을 종료합니다.");
				System.exit(0);
			}
			System.out.println("입력한 숫자:"+(char)user);
		}
	
	
	}

}

ㄴ 0에서 종료가 되지 않았는데 '0'을 붙이지 않아서 프로그램이 인식을 못했었다. 까먹지 말기...

 


#08_04. 보조제어문(continue, break)


[보조제어문]
고투나 레이블 실무에서 절대 쓰지 말 것. 논리적 흐름이 깨지기 때문에 
*break: 프로그램을 강제로 중단시키는 역할
*continue: 반복문을 계속 수행하기 위한 역할
-if를 제외한 나머지 제어문에게 적용됨.
*Return:메소드를 종료하는 역할( 기억만 하다가 메소드 수업때 다시 배울예정)

package day08;

public class Day08_04 {

	public static void main(String[] args) {
		
		for(int j=1;j<=3;j++){
			for(int i=1;i<=10;i++) {
			if(i==5) {
//				break; // 제어문을 종료.
				continue;  //반복의 연속성은 살리면서 반복문의 처음으로 올라갈 수 있도록 제시하는 연산자.
				// 나와 가장 가까운 제어문을 종료한다.
			}
			System.out.print(i);
			
		}
		}
	}
}


\


#08_05. 보조제어문(continue, break) 예제.

1~20까지의 수 중 짝수만 출력하세요.

package day08;

public class Day08_05 {

	public static void main(String[] args) {
		
				for(int i =1;i<=20;i++) {
					if(i%2!=0) {
						continue;
				}
					System.out.println(i);
			}
	}
}

#08_05. 보조제어문(continue, break) 예제.

1~100까지 수의 누적을 구하되 그 누적된 값이 1000이 넘어가는 순간 그 누적을 넘어간 숫자를 출력하고 프로그램을 중지.

package day08;

public class Day08_06 {

	public static void main(String[] args) {

		int sum = 0;
		
			for(int i=1;i<=100;i++) {
				sum = sum+i;

				if(sum>=1000) {
					break;
				}
			}
			System.out.println("sum="+sum);
	}
}

 

#08_ex,예제.가위바위보 게임 만들기

package day09;
import java.io.*;
public class Game {

	public static void main(String[] args) 
	throws IOException{
		
		while(true) {
		System.out.println("------------------");
		System.out.println("가위 바위 보 게임 v1.0");
		System.out.println("------------------");
		System.out.println("1.가위  2.바위  3.보  4.종료");
		System.out.println("=====================");
		
		int user = 0;
		
		do {
			System.out.print("메뉴>");
			user = System.in.read()-'0';
			System.in.skip(2);
		}while(!(user>=1 && user<=4));
		
		if(user==4) {
			System.out.println("프로그램을 종료합니다.");
			System.exit(0);
		}
		
		System.out.println("사용자:"+user);
		
		int com = (int)(Math.random()*3+1);
		System.out.println("컴퓨터:"+com);
		
		switch(user-com){
			case -2:case 1 :System.out.println("사용자 승!");break;
			case -1:case 2 :System.out.println("컴퓨터 승!");break;
			case 0 :System.out.println("비겼음!");	
		}
		}
	}
}