반복문 for
반복문 for를 활용할 수 있는 예제들을 적어두었다.
예제 01. 별
public class FiveStars {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {//줄
System.out.println("*****");
}
}
}
출력결과:
*****
*****
*****
*****
*****
public class Fivestars2 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {//줄
for (int j = 0; j < i + 1 ; j++) {//별
System.out.print("*");
}
System.out.println("");
}
}
}
출력결과:
*
**
***
****
*****
package May24;
public class FiveStars3 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i + 1 ; j++) {
System.out.print("*");
}
System.out.println("");
}
for (int i = 5; i > 0; i--) {
for (int j = 0; j < i - 1 ; j++) {
System.out.print("*");
}
System.out.println("");
}
}
}
출력결과:
*
**
***
****
*****
****
***
**
*
package May24;
public class FiveStars4 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4-i; j++) {//스페이스
System.out.print(" ");
}
for (int j = 0; j < 2*i+1; j++) {//별
System.out.print("*");
}
System.out.println("");
}
}
}
출력결과:
____*
___***
__*****
_*******
*********
package May24;
public class FiveStars5 {
public static void main(String[] args) {
for (int i= 0; i < 5; i++) {
if(i % 4 == 0) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
} else {
System.out.println("*___*");
}
}
}
}
출력결과:
*****
*___*
*___*
*___*
*****
package May24;
import java.util.Scanner;
public class FiveStars6{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("n을 입력하세요: ");
int input = sc.nextInt();
int n=input;
for (int i = 0; i < 2*n-1; i++) {
for (int j = 0; j < 2*n-1; j++) {
if(j%(2*n-2) == 0) {
System.out.print("*");
} else {
if(i==j) {
System.out.print("*");
} else {
System.out.print("_");
}
}
}
System.out.println();
}
}
}
출력결과:
n을 입력하세요: 5
*_______*
**______*
*_*_____*
*__*____*
*___*___*
*____*__*
*_____*_*
*______**
*_______*
예제02. 구구단
// 구구단 2~9단
for (int i = 2; i <= 9 ; i++) {
System.out.println(i + "단");
for (int j = 1; j <= 9; j++) {
System.out.println(i + " x " + j + " = " + i*j );
//System.out.printf("%d x %d = %d \n", i, j, i*j);
}
System.out.println("");
}
+ 변수를 포함한 문구 출력 시 두 가지 표현이 가능하다.
System.out.println(i + " x " + j + " = " + i*j );
System.out.printf("%d x %d = %d \n", i, j, i*j); //\n: 줄넘김, \t: 탭
01) break : 가장 가까운 반복문 탈출
// 구구단 2~9단
for (int i = 2; i <= 9 ; i++) {
for (int j = 1; j <= 9; j++) {
if (조건) {
break;
}
System.out.printf("%d x %d = %d \n", i, j, i*j);
}
System.out.println("");
}
위 코드를 실행하면 조건에 해당하는 줄이 만나는 순간 반복문을 탈출하므로 조건에 맞는 줄 부터 출력되지 못한다.
02) continue : 가장 가까운 반복문으로 이동
// 구구단 2~9단
for (int i = 2; i <= 9 ; i++) {
for (int j = 1; j <= 9; j++) {
if (조건) {
continue;
}
System.out.printf("%d x %d = %d \n", i, j, i*j);
}
System.out.println("");
}
위 코드를 실행하면 조건에 해당하는 줄은 출력 구문을 만나지 못하고 가장 가까운 다음 줄으로 넘어가게 되어 출력이 되지 못한다.
03) 라벨문
중첩된 반복문에서 이름을 줄 수 있다.
즉, 라벨을 이용하여 원하는 반복문을 탈출하거나 제어할 수 있다.
// 구구단 2~9단
A: for (int i = 2; i <= 9 ; i++) {
B: for (int j = 1; j <= 9; j++) {
if (조건) {
continue A;
}
System.out.printf("%d x %d = %d \n", i, j, i*j);
}
System.out.println("");
}
위 코드를 실행하면 조건에 해당하는 줄은 출력 구문을 만나지 못하고 A 반복문으로 이동하게 된다.
예제03. 숫자 맞추기
컴퓨터가 랜덤한 숫자 두 자리수를 뽑는다
사용자가 숫자를 입력하면 UP/DOWN을 출력하고
일치한다면 "축하합니다"라고 하면서 출력 종료하는 프로그램
1. for 문으로 20번 실행하기
2. 일치하면 for 문 강제 종료하고 프로그램 종료하기
package May24;
import java.util.Scanner;
public class Random{
public static void main(String[] args) {
int random02 = (int) (Math.random() * 99 + 1 );
System.out.println(random02);
Scanner sc = new Scanner(System.in);
int num = 0;
for ( int i = 0; i < 20; i++) {
System.out.println("숫자를 입력하세요.");
int input = sc.nextInt();
num ++;
if(input == random02) {
System.out.printf("성공! %d번 만에 성공하였습니다. 랜덤 숫자는 %d 입니다.", num, random02);
break;
}
else {
if(input < random02 ) {
System.out.println("UP");
}
else {
System.out.println("DOWN");
}
}
}
}
}
'BackEnd > Java' 카테고리의 다른 글
[Java] 무한 반복문 While, Do While (0) | 2021.07.01 |
---|---|
[Java] 스위치 Switch (0) | 2021.07.01 |
[Java] 조건문 if (0) | 2021.07.01 |
[Java] 연산자 (0) | 2021.07.01 |
[Java] 변수와 자료형 (0) | 2021.07.01 |
댓글