728x90
반응형
<목차>
1) 반복문
1-1) 개념 및 유형
1-2) 유형별 예시코드
2) eclipse 실습 코드
1) 반복문
1-1) 개념 및 유형
반복문 : 같은 문장을 반복하여 사용할 경우 반복 조건, 반복 횟수의 제어를 통해 반복 처리
- while 문
- do-while 문
- for 문
- 예약어 break, continue – 반복문을 제어;
<for 문 실행 순서>
(1) 제어변수 i를 초기화
(2) 조건식(i <= 10)이 참(true)이면 {} 안의 코드를 실행시킨 후 증감식을 실행
(3) 조건식이 거짓(false)이 될 때까지 2의 과정 반복
<반복문을 제어하는 break, continue>
예약어 break, continue는 반복문을 제어할 때 사용되어 진다!
- break : 해당 반복문을 종료
- continue : 이후의 문장을 수행하지 않고 처음으로 돌아가 증감식을 수행
for (int i = 1; i <= 10; i++) {
if (i == 7) {
break; // 조건에 해당하면 해당 코드를 중단시킴
continue; // 조건에 해당하면 해당 코드를 skip함
}
System.out.println(“안녕” + i);
}
1-2) 유형별 예시코드
WhileTest1
package chapter05.loop;
public class WhileTest1 {
public static void main(String[] args) {
// while
int fileSize = 720;
int download = 0;
while(download < fileSize) {
download += 120;
System.out.println(download + "K 다운로드 중....");
}
System.out.println("다운로드 완료");
}
}
WhileTest2
package chapter05.loop;
public class WhileTest2 {
public static void main(String[] args) {
// 1 ~ 100 합
int sum = 0;
int i = 1;
while (i <= 100) {
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
DoWhileTest
package chapter05.loop;
import java.util.Scanner;
public class DoWhileTest {
public static void main(String[] args) {
// do-while
Scanner scan = new Scanner(System.in);
int num;
int sum = 0;
do {
System.out.print("숫자 입력(종료는 0): ");
num = scan.nextInt();
sum = sum + num;
} while (num != 0);
System.out.println("총 합계: " + sum);
}
}
BreakTest
package chapter05.loop;
public class BreakTest {
public static void main(String[] args) {
// break
for (int i = 1; i <= 10; i++) {
if (i == 7)
break;
System.out.println("반복회차: " + i);
}
// exit label
loop: // 여기서 "loop"는 아래의 전체 이중 for 문이 아니라 이중 for 문 구조에서 가장 바깥의 for 문(int i = 0)을 가리킴을 명시할 것!!
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i == 3 && j == 3)
break loop;
System.out.print("0 ");
}
System.out.println();
}
}
}
ContinueTest
package chapter05.loop;
public class ContinueTest {
public static void main(String[] args) {
// continue
for (int i = 1; i <= 10; i++) {
if (i == 7)
continue;
System.out.println("반복회차: " + i);
}
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 != 0)
continue;
sum += i;
}
System.out.println(sum);
}
}
NestLoop
package chapter05.loop;
public class NestLoop {
public static void main(String[] args) {
// 중첩 반복문
for (int i = 2; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.println(i + " * " + j + " = " + i * j);
}
System.out.println();
}
// 가로 version
for (int i = 1; i <= 9; i++) {
for (int j = 2; j <= 9; j++) {
System.out.print(j + " * " + i + " = " + i * j + "\t");
}
System.out.println();
}
}
}
2) eclipse 실습 코드
패키지 chapter05.loop
1) Loop_Example02.class
package chapter05.loop;
import java.util.Scanner;
public class Loop_Example02 {
public static void main(String[] args) {
/*
정수 5개를 입력받아 그 합을 출력하시오
출력 결과 :
정수 입력: 1
정수 입력: 2
정수 입력: 3
정수 입력: 4
정수 입력: 5
15
*/
Scanner scan = new Scanner(System.in);
int sum = 0;
for (int i = 1; i <= 5; i++) {
System.out.print("정수 입력: ");
int num = scan.nextInt();
sum += num;
}
System.out.println(sum);
}
}
2) Loop_Example03.class
package chapter05.loop;
import java.util.Scanner;
public class Loop_Example03 {
public static void main(String[] args) {
/*
합 구하기
2개의 정수를 입력받아 입력받은 정수를 포함한
사이값들의 총합을 구하시오.
단, 입력 순서에 상관없이 합을 구할 것.
출력 결과 :
숫자 입력: 5 숫자 입력: 10
숫자 입력: 10 숫자 입력: 5
45 45
*/
/*
// 내 version
Scanner scan = new Scanner(System.in);
int sum = 0;
int num = 0;
int num1 = 0;
int num2 = 0;
for (int i = 0; i < 2; i++) {
System.out.print("숫자 입력: ");
num = scan.nextInt();
if (i == 0) {
num1 = num;
}
if (i == 1) {
num2 = num;
}
}
if (num1 > num2) {
for (int j = num2; j <= num1; j++) {
sum += j;
}
System.out.println(sum);
} else if (num2 > num1) {
for (int j = num2; j >= num1; j--) {
sum += j;
}
System.out.println(sum);
} else {
System.out.println("입력하신 두 숫자의 값이 같으니 다시 입력 바랍니다.");
}
*/
// 교수님 version
Scanner scan = new Scanner(System.in);
System.out.print("숫자 입력: ");
int start = scan.nextInt();
System.out.print("숫자 입력: ");
int end = scan.nextInt();
int sum = 0;
int temp = 0;
if (start > end) {
temp = start;
start = end;
end = temp;
}
for (int i = start; i <= end; i++) {
sum += i;
}
System.out.println(sum);
}
}
3) Loop_Example04.class
package chapter05.loop;
public class Loop_Example04 {
public static void main(String[] args) {
/*
1번 2번 3번
0 0 0 0 0 0 0 0 0 0 0 1 2 3 4
0 0 0 0 0 1 1 1 1 1 0 1 2 3 4
0 0 0 0 0 2 2 2 2 2 0 1 2 3 4
0 0 0 0 0 3 3 3 3 3 0 1 2 3 4
0 0 0 0 0 4 4 4 4 4 0 1 2 3 4
*/
// 1번 문제
System.out.println("1번");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("0 ");
}
System.out.println();
}
// 2번 문제
System.out.println("2번");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print(i + " ");
}
System.out.println();
}
// 3번 문제
System.out.println("3번");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print(j + " ");
}
System.out.println();
}
}
}
'Java' 카테고리의 다른 글
Java(7) - 배열(Array), 다차원 배열 (0) | 2024.04.18 |
---|---|
Java(6) - 반복문(for 문) 예제 풀이 (0) | 2024.04.17 |
Java(4) - 조건문(switch-case 문), 반복문(for 문) (0) | 2024.04.15 |
Java(3) - 제어문(if 조건문), eclipse 실습 코드 (0) | 2024.04.12 |
Java(2) - 변수, 진수, 데이터 타입, 연산자 (0) | 2024.04.11 |