자바

JAVA STEP 17. for문

2023. 2. 9. 18:09
728x90

★ 반복문

- 특정 코드를 원하는 횟수만큼 반복 실행

- 생산성 향상 + 유지보수성 향상

- 종류

  • for
  • while
  • dowhile

★ for문

  • 기본 조건문 양식
    •  
for (초기식; 조건식; 증감식) {
		실행문; x	반복
}
  • ex1) 요구사항 : 안녕하세요 * 5번 출력
  • 소스코드
  •  
//-i : 루프 변수(***)
		for(int i=1; i<=10; i=i+1) {
			//System.out.println("Hello");
			hello();
		}
		
	}//m1

		//for 문 실행 순서
		//1. 초기식 실행 : int i=1;
		//2. 조건식 실행 : i<=3;
		//2.1 true : 실행블럭을 실행한다.
		//2.2 false : for문을 빠져나간다.
		//3. 실행문 : Hello
		//4. 증감식 실행 : i=i+1
		//5. 조건식 실행 : i<=3;
		//6. 실행문 : Hello
		//7. 증감식 실행 : i=i+1
		//8. 조건식 실행 : i<=3;
		//9. 실행문 : Hello
		//10. 증감식 : i=i+1
		//11. 조건식 실행 : i<=3; -> i=4 따라서 false
		//12. for문 탈출(종료)
  • ex2) 요구사항] 숫자 1~10까지 출력
  • 소스코드
  •  
		int num = 1;
		
		for(int i=0; i<100; i++) {
		System.out.println(num);
		num++;
		}
		
		//초기식, 조건식, 증감식
		for (int i=2; i<=100; i+=2) {
			System.out.println(i);
		}
		System.out.println();
	}//m3()
  • ex3) 요구사항]  1~10까지의 합?
  • 소스코드
  •  
		int sum = 0; //누적 변수(***반드시 0으로 초기화)
		
		for(int i=1; i<=100; i++) {
			//sum = 0+1
			//sum = 1+2
			
			sum += i; 
			
			
		}
		System.out.println(sum);
	}//m4()
  • ex4) 요구사항] 사용자로부터 숫자를 입력받아 1~입력한 숫자까지 총 합을 구하시오.
  • 소스코드
  •  
		Scanner scan = new Scanner(System.in);
		
		System.out.print("숫자 : ");
		int num = scan.nextInt();
		
		int sum = 0;
		
		for (int i=1; i<=num; i++) {
			sum += i;
		}
		System.out.printf("1 ~ %d = %d\n", num, sum);
	}//m5()
  • ex5) 요구사항] 사용자로부터 숫자를 10개 입력받아 총합을 구하시오.
  • 소스코드
  •  
		Scanner scan = new Scanner(System.in);
		
		int sum = 0;
		
		for (int i=0; i<10; i++) {
		
			System.out.print("숫자를 입력하세요 : ");
			int num = scan.nextInt();
			
			sum += num; //사용자가 입력한 숫자를 sum에 누적하기
		
		}
		System.out.println(sum);
	}//m6();
  • ex6) 요구사항] 구구단 출력
  • 소스코드
  •  
		/*
		 	5 x 1 = 5
		 	5 x 2 = 10
		 	..
		 	5 x 9 = 45
		 */
		
		for (int i=1; i<10; i++) {
			
			System.out.printf("5 x %d = %2d\n", i, (5*i));
			
		}
		//구구단 출력 > 사용자가 입력한 단 출력
		Scanner scan = new Scanner(System.in);
		
		System.out.print("단을 입력하세요 : ");
		int dan = scan.nextInt();
	
		for (int i=1; i<10; i++) {
			
			System.out.printf("%d x %d = %2d\n",dan, i, (dan*i));
			
		}
	}//m7()
  • ex7) 무한 루프, Infinite Loop
  • 소스코드
  •  
		int n = Integer.MIN_VALUE;
		System.out.println(n);
		
		//10바퀴 
		/* 이렇게 증감 연산자를 잘못 입력해서 돌면 대략 > int최대값 : 21억 바퀴가 돔.
		 	for (int i=0; i<10; i--) {
			System.out.println("안녕하세요.");
		}*/
		
		//무한 루프 일부러 만들기
		// > 회전수를 미리 예측하기 힘든 경우에 사용
		/* 진정한 무한루프
		 	for (;;) {
			System.out.println("무한 루프");
		}*/
	}//m8()
  • ex8) 분기문
  •  break
  • continue
  • 독립 사용 불가능
  • 반복문과 같이 사용
  • if문은 인식하지 않는다. (if문은 탈출 대상으로 인식하지 않는다.) 
  • 소스코드
  •  
for (int i=1; i<=10; i++) {
			
			//break; //break를 여기다가 두면, Unreachable code 즉, 아래 코드가 실행되지 않는다.
				     //자신이 속한 제어문을 탈출한다.(for)
			
			if (i == 5) {
				break;	//자신이 속한 제어문을 탈출한다.(if(x) > for(O))
			}
			
			System.out.println(i);
		
		}
		
		System.out.println("종료");
	}//m9()
	
		public static void m10() {
		
		//기본적으로 1~10까지 출력 루프
		// > 사용자가 개입 > 루프 횟수 추가 지정
		
		Scanner scan = new Scanner(System.in);
		
		System.out.print("숫자 : ");
		int num = scan.nextInt();
		
		//방법 1
		for(int i=1; i<10; i++) {
			
			System.out.println(i);
			
			if(i==num) {
				break;
			}
		}
		
		//방법 2
		for (int i=1; i<=num; i++) {
			System.out.println(i);
		}
		
	}//m10()
  • ex9) 요구사항] 사용자로부터 숫자를 원하는 만큼 입력 > 합을 구하시오.
  • 소스코드
  •  
//		 횟수를 예측하지 못하는 반복문 > 무한 루프
		
		Scanner scan = new Scanner(System.in);
		
		int sum = 0;
		int count = 0;
		
		for(;;) {
			
			System.out.print("숫자(0을 입력하면 종료) : ");
			int num = scan.nextInt();
			
			if(num==0) {
				System.out.printf("총 %d개의 숫자를 입력했고, 입력하신 숫자의 합은 : %d 입니다.",count, sum);
				break;
			}
			
			sum += num;
			count++;
			
		}
		
	}//m11()
	
	public static void m12() {
		
		//break 	> 완전 중지
		//continue	> 일시 중지 
		
		for(int i=1; i<=10; i++) {
			
			if (i == 5) {
				continue; //나머지 코드를 실행하지 않고, 반복문의 시작으로 돌아가라
						  //즉, 1~4까지 실행되고 5를 만났을 때, 아래로 가지 않고, 위로 올라가서 바로 6이되서 출력이 되는 것임.(skip)
			}
			
			System.out.println(i);
			
		}
		
	}

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'자바' 카테고리의 다른 글

JAVA STEP 19. for문 예제모음  (0) 2023.02.10
JAVA STEP 18. if문 & for문 예제 모음  (0) 2023.02.09
JAVA STEP 16. DateTime&if&switch 예제 모음  (0) 2023.02.08
JAVA STEP 15. if&switch  (0) 2023.02.08
JAVA STEP 14. DateTime  (0) 2023.02.08
'자바' 카테고리의 다른 글
  • JAVA STEP 19. for문 예제모음
  • JAVA STEP 18. if문 & for문 예제 모음
  • JAVA STEP 16. DateTime&if&switch 예제 모음
  • JAVA STEP 15. if&switch
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
Developer Story HouseIT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • 코딩테스트
  • css
  • 자바
  • ajax
  • 웹페이지
  • jquery
  • DB
  • 백준
  • IT개발자
  • 앱개발자
  • IT자격증
  • 정보처리기사
  • 프론트엔드
  • 알고리즘
  • 데이터베이스
  • java
  • JavaScript
  • html
  • 정보보안전문가
  • 정보처리기사필기
  • 개발블로그
  • React
  • 웹개발자
  • IT자격증공부
  • 백엔드
  • jsp
  • it
  • DBA
  • 개발자
  • 웹개발

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
JAVA STEP 17. for문
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.