[java] 제어 문_반복 문

DEVELOPERS_Ivan ㅣ 2023. 7. 26. 18:21

제어 문(조건 문 & 반복 문)
반복문

 

반복문
● 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문을 사용시 조건식 for & while 구문을 사용한다.
● TIP. 조건이 참(true)인 동안 반복 수행
● TIP. 조건이 맞지 않으면 반복하던 수행을 멈추게 됨
● TIP. 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단됨

● 조건과 상관 없이 한번은 수행문을 수행시에는  조건식 do-while 구문을 사용한다.
● TIP. while문은 조건을 먼저 체크하고 반복 수행이 된다면, do-while은 조건과 상관 없이 수행을 한 번 하고나서 조건을 체크한다.

for / while / do-while 수행 순서

// 제어문(조건문 & 반복문)_반복문 (for 문)

package ch05;
public class ForMainTest2 {
public static void main(String[] args) {

// for(초기화식; 조건식; 증감식) {
// }
// i 변수 활용해서 증감 시키고 조건을 판단
// 맨 처음 i 값 = 1로 시작했다.
// i = 1, i = 2, 1 = 3, 1 = 4 .... i = 10, i = 11 이 되는 순간 조건식에 결과 값은 false 가 나온다.

System
.out.println("======== 문제 ========");
System.out.println("======== 구구단 2단 출력 ========");

// 화면에 구구단 2단을 출력하시오.
int num = 2;

// num + " 2 * 1 = 2 " ->
// System.out.println(num + " * 1 = " + (num * 1));
// System.out.println(num + " * 2 = " + (num * 2));
// System.out.println(num + " * 3 = " + (num * 3));
// System.out.println(num + " * 4 = " + (num * 4));
// System.out.println(num + " * 5 = " + (num * 5));
// System.out.println(num + " * 6 = " + (num * 6));
// System.out.println(num + " * 7 = " + (num * 7));
// System.out.println(num + " * 8 = " + (num * 8));
// System.out.println(num + " * 9 = " + (num * 9));


// 반복적인 부분을 확인 후 for을 활용

// 구구단 2단 출력
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
} // end of for

System.out.println("======== 구구단 3단 출력 ========");
// 구구단 3단 출력
num = 3;
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));

} // end of for
} // end of main
} // end of class


Console 보기
======== 문제 ========
======== 구구단 2단 출력 ========
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

======== 구구단 3단 출력 ========
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

 

// 제어문(조건문 & 반복문)_반복문 - for 문

package ch05;
public class ForMainTest3 {
 public static void main(String[] args) {
// 1 부터 10 까지 더하는 결과를 화면에 출력하시오.

int num = 0;
// num = num + 1; // .. 1
// num = num + 2; // .. 3
// num = num + 3;
// num = num + 4;
// num = num + 5;
// num = num + 6;
// num = num + 7;
// num = num + 8;
// num = num + 9;
// num = num + 10;

System.out.println("결과 : " + num);

// 반복적인 부분을 확인 후 for을 활용
// 아래 예시 1과 2는 같은 값이 나온다.

System.out.println("======== 예시 1 ========");
for (int i = 1; i < 11; i++) {
num = num + i;
} // end of for
System.out.println(num);
System.out.println("======== 예시 2 ========");
 // 11, 10, 9, 8, 7, ...
num = 0;
for (int i = 10; i >= 1; i--) {
num += i;
} // end of for

System.out.println(num);

} // end of main
} // end of class

Console 보기
결과 : 0
======== 예시 1 ========
55
======== 예시 2 ========
55

 

// 제어문(조건문 & 반복문)_반복문 (While 문)
package ch05;
public class WhileMainTest1 {
public static void main(String[] args) {
// While(조건식) { 수행구문 }
// 1 부터 10 까지 덧셈하는 연산을 While 문으로 만들어 보자

int
start = 1;
int sum = 0;
// sum = start +;1
// sum = start +;2 ... 10
// 무한 반복을 조심하자 !!!

while (start < 11) {
System.out.println("================");

} // end of While
System.out.println("================");
System.out.println("sum : " + sum);
System.out.println("================");

} // end of main
} // end of class

* 수정 필요

// 제어문(조건문 & 반복문)_반복문 (While 문)
package ch05;
import java.util.Scanner;
public class WhileMainTest2 {
public static void main(String[] args) {

// 사용자가 입력한 숫자 start 값 받아주세요.
// 사용자가 입력한 숫자 end 값 받아주세요.
// 결과를 출력하는 프로그램 만들어 주세요.

int sum = 0;
Scanner sc = new Scanner(System.in);
System.out.println("start 값을 입력해 주세요.");

int num = sc.nextInt();
System.out.println("start 값을 입력해 주세요.");
// int num = sc.nextInt();
System.out.println("end 값을 입력해 주세요.");
int score = sc.nextInt();
// while() ) {
sum = sum + num;
// 반드시 종료되는 조건 식을 추가해서 무한 반복을 조심하자.
num++;
;
} // end of main

// System.out.println("합산에 결과 값은 : " + sum + " 입니다.");
// System.out.println("================");

} // end of class

* 수정 필요

// 제어문(조건문 & 반복문)_반복문 (While 문)

package ch05;
import java.util.Scanner;
public class WhileMainTest3 {
public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("======== 런타임 필요 입력 값 입력 후 출력됨 ========");

int input = -1;
while (input != 0) { // input 값이 0이 아니라면 true 결과가 나온다.
System.out.println(" 1. 저장 2. 수정 3. 삭제 4. 조회 0. 종료 ");
input = sc.nextInt(); // 사용자 한테 정수값을 입력 받는 기능

if (input == 1) {
System.out.println(" 저장을 선택 하셨습니다. ");
} else if (input == 2) {
System.out.println(" 수정을 선택 하셨습니다. ");
 else if (input == 3) {
System.out.println(" 삭제을 선택 하셨습니다. ");
} else if (input == 4) {
System.out.println(" 조회을 선택 하셨습니다. ");

} // end of else if
} // end of while
System
.out.println(" 종료 ");
} // end of main
} // end of class

Console 보기
======= 런타임 필요 입력 값 입력 후 출력됨 ========
1. 저장 2. 수정 3. 삭제 4. 조회 0. 종료
4
조회을 선택 하셨습니다.
1. 저장 2. 수정 3. 삭제 4. 조회 0. 종료
2
수정을 선택 하셨습니다.
1. 저장 2. 수정 3. 삭제 4. 조회 0. 종료
1
저장을 선택 하셨습니다.
1. 저장 2. 수정 3. 삭제 4. 조회 0. 종료
0
종료

 

// 반복문 - do-while 문


package ch05;
import java.util.Scanner;
public class DoWhileMainTest1 {
public static void main(String[] args) {

// do {
// 한번은 반드시 수행되는 구문
// }While(조건식);

Scanner sc = new Scanner(System.in);
System.out.println("======== 런타임 필요 입력 값 입력 후 출력됨 ========");
int userlnput;
do {
System.out.println(" 메뉴를 입력해 주세요.");
System.out.println("0번 종료, 1번 메인 화면 출력");

userlnput = sc.nextInt(); // 사용자한테 정수 값을 입력 받는 기능

} while (userlnput != 0); // end of do While
System.out.println("프로그램을 종료하였습니다.");

} // end of main
} // end of class

Console 보기
======== 런타임 필요 입력 값 입력 후 출력됨 ========
메뉴를 입력해 주세요.
0번 종료, 1번 메인 화면 출력
1
메뉴를 입력해 주세요.
0번 종료, 1번 메인 화면 출력
0
프로그램을 종료하였습니다.

'Java' 카테고리의 다른 글

[java] 객체 지향 언어  (0) 2023.07.27
[java] 제어 문(조건문 & 반복문)_반복 문(Break 문, Continue 문)  (0) 2023.07.27
[java] 제어 문_조건 문  (0) 2023.07.26
[java] 산술 연산자  (0) 2023.07.26
[java] 상수와 형 변환  (0) 2023.07.25