본문 바로가기

웹개발 수업/JAVA

[Day +7]분기문

210701 목

 

Chap03. 분기문

 

1. Break

:  반복문에서는 break문 자신이 포함된 가장 가까운 반복문을 빠져나가는 구문

package com.kh.chap03.branch;

import java.util.Scanner;

public class A_Break {

	public void method1() {
		//"exit" 입력 전까지 문자열을 계속 입력 받는 프로그램
		
		Scanner sc = new Scanner(System.in) ;
		
		
		while(true){
			System.out.print("문자열을 입력해주세요 : ");
			String str = sc.nextLine();
			
			if(str.equals("exit"))
				break;
			System.out.println("입력 받은 문자열 : " + str);
		}
		//break를 안쓴다면 사용할 수 없는 구문 why? 안 빠져나왔기 때문
		//무한 반복문 안에서 break가 없는 경우  코드 오류 발생
		System.out.println("exit입력으로 종료 되었습니다");
	}
	
	public void method2() {
		
		//1부터 사용자가 입력한 숫자까지의 합계
		Scanner sc = new Scanner(System.in);
		
		System.out.println("숫자 하나를 입력하세요 : ");
		int num = sc.nextInt();
		
		int sum = 0;
		
		//for문(무한반복)
		for(int i = 1 ; ; i++) {
			sum += i;
			if(i == num) break;
		}System.out.println("합계 : " + sum);
		// ? ? 
		}


	public void method3() {
		//사용자에게 반복적으로 정수 두 개와 연산기호(+, -)를 입력 받고
		// 그에 해당하는 결과를 출력하기
		//제시된 연산 기호를 입력하지 않고 다른 기호 입력 시 반복 멈춤
		Scanner sc = new Scanner(System.in);
		
		while(true) {
			System.out.print("정수 : ");
			int num1 = sc.nextInt();
			
			System.out.print("정수2 : ");
			int num2 = sc.nextInt();
			
			System.out.print("연산기호(+, -) : ");
			String op = sc.next();
			
			int result = 0;
			
			if(op.equals("+")) {
				result = num1 + num2;
			}else if(op.equals("-")) {
				result = num1 - num2;
			}else {
				System.out.println("잘못 입력하였습니다.");
				break;
			}
			System.out.println(num1 + " " + op + " " + num2 + " = " + result);
			
		}
		
	}
	
		
	}

 

2. Continue 

: 반복문 내에서만 사용 가능하며 반복문 실행 시 continue 아래 부분은 실행하지 않고 반복문 다시 실행

for문의 경우 증감식으로 이동, while(do~while)문의 경우 조건식으로 이동

전체 반복 중에 특정 조건을 만족하는 경우를 제외하고자 할 때 유용

 

package com.kh.chap03.branch;

public class B_Continue {

	public void method1() {
		
		//1부터 10까지 홀수 출력 => continue를 이용
		for(int i = 1; i<=10 ; i++) {
			
			if(i% 2 == 0) continue;
			
			
			System.out.print(i + " ");
		}
	}
	
	public void method2() {
		//1부터 100까지의 정수들의 합 출력
		//단, 4의 배수는 빼고 계산
		
		int sum = 0;
		
		for(int i = 1; i<=100 ; i++) {
			
			if(i%4 == 0) continue;
			sum += i;
			
		}
		System.out.println("4의 배수를 뺀 1에서 100까지의 합 : " + sum);
		
		//답 : 4의 배수를 뺀 1에서 100까지의 합 : 3750
	}
	
	public void method3() {
		//2 ~ 9단까지의 구구단 출력
		//단, 4의 배수의 단은 제외하고 출력
	
		//***인강 다시 들어라
		
		for(int dan = 2 ; dan < 10; dan++) {
			System.out.println("====" + dan + "단====");
			
			for(int su = 1 ; su < 10 ; su++) {
				if(su % 4 == 0) continue;
	
				System.out.println(dan + " * " + su + " = " + (dan * su));
			}
	}
	}
	
	
	
	public void method4() {
		//2 ~ 9단까지의 구구단 출력
		//단, 짝수 수는 빼고 출력
		//2 * 1 = 2
		//2 * 3 = 6
		//2 * 5 = 10
		
		for(int dan = 2 ; dan < 10; dan++) {
			System.out.println("====" + dan + "단====");
			
			for(int su = 1 ; su < 10 ; su++) {
				if(su % 2 == 0) continue;
	
				System.out.println(dan + " * " + su + " = " + (dan * su));
			}
		}
		
	}
	
	
	
	
	
}
package com.kh.chap03.run;

import com.kh.chap03.branch.A_Break;
import com.kh.chap03.branch.B_Continue;

public class chap03_run {

	public static void main(String[] args) {
		
		//A_Break a = new A_Break();
		//a.method3();
	
		B_Continue b = new B_Continue();
		b.method4();
		
	}

}

'웹개발 수업 > JAVA' 카테고리의 다른 글

[Day +9]배열2  (0) 2021.07.11
[Day +8] 배열1  (0) 2021.07.11
[Day +6]반복문  (0) 2021.07.11
[Day +5]조건문  (0) 2021.07.11
[Day +4] 연산자  (0) 2021.07.11