package edu.kh.control.branch;
import java.util.Scanner;
public class branchExample {
public void ex1() {
Scanner sc = new Scanner(System.in);
// 1부터 10까지 1씩 증가하며 출력하는 반복문 작성
// 단, 5를 출력하면 반복문 종료
// 1 2 3 4 5
for (int i = 1; i <= 10; i++) {
System.out.println(i + " ");
if (i == 5) {
break;
}
System.out.println(i + " ");
}
}
public void ex2() {
Scanner sc = new Scanner(System.in);
int input = 0;
int sum = 0;
// while문을 처음에 무조건 수행하고, 특정 조건에 종료하는 방법
// 1) input에 초기값을 0이 아닌 다른값 while (input != 0)
// 2) do ~ while 문 사용
// 3) 무한 루프 상태의 while문을 만들고
// 내부에 break 조건 작성
while (true) { // 무한루프
System.out.println("정수 입력: ");
input = sc.nextInt(); // 입력
sum += input;
if (input == 5) {
break;
}
sum += input;
}
System.out.println("합계 : " + sum);
}
public void ex3() {
// 입력받은 모든 문자열을 누적
// 단, "exit@" 입력시 문자열 누적을 종료하고 결과 출력
Scanner sc = new Scanner(System.in);
String str = ""; // 빈 문자열
// 쌍따옴표("")라는 기호를 이용해 String 리터럴임을 지정
// 하지만 내용은 없음.
while (true) {
System.out.println("문자열 입력(exit@ 입력 시 종료) : ");
String input = sc.nextLine();
// next() : 다음 한 단어(띄어쓰기 포함 X)
// nextLine() : 다음 한 줄 (띄어쓰기 포함 O)
if (input.equals("exit@")) {
// String 자료형은 비교연산자(==)로 같은 문자열인지 판별할 수 없다.
// 비교 연산자는 보통 기본자료형 끼리의 연산에서만 사용 가능하다.
// -> String은 기본자료형이 아니라 참조형이다.
// == 해결방법 : 문자열1.equals(문자열2)
break;
}
str += input + "\n";
}
System.out.println("================================================");
System.out.println(str);
}
public void ex4() {
// 중첩 반복문 내부에셔 break 사용하기
// 구구단 2~9단
// 단, 2단은 *2까지, 3단 *3까지, 4단 *4.... 9단은 +9까지 출력
for (int dan = 2; dan <= 9; dan++) {
for (int num = 1; num <= 9; num++) {
System.out.printf("%d x %d = %2d ", dan, num, dan * num);
if (num == dan) {
break;
}
}
System.out.println();
}
항상 좋은 글 감사합니다.