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 |