오늘 아침 에 일어나 는 일 이 정말 괴로웠 다 . 밤 에 잠 이 안 와서 늦 게 잠들 었 는데 모기 까지 잠 을 방해 하 는 바람 에 힘들 었 지만 6 개월 동안 은 죽 이 되 든 밥 이 되 든 열심히 해 보 자는 마음 으로 무거운 발걸음 으로 비 까지 오 는 날씨 속 에서 늦 지 않 게 도착 했 다 . 어제 배운 for 문 좀 더 응용 한 중첩 for 문 을 배우 고 for 대신 에 사용 가능 한 while 반 복문 을 배웠 는데 뭔가 쉬운 거 같 으면서 도 머릿속 에 입력 은 잘 되 지 못했었 던 것 같 다 . 오늘 오전 에 배운 내용 을 적 어 보 고 마무리 하 겠 다 . 중첩 for 문 이란 ? 기존 에 for 문 안 에 새로운 for 를 추가 하 여 반복 활용 한 것 기본 적 인 틀 for ( 반복 변수 ; 반복 조건 ( 반복 횟수 ) ; 반복 변수 증가 ) { for ( 반복 변수 ; 반복 조건 ( 반복 횟수 ) ; 반복 변수 증가 ) { }} ex ) for ( int i = 1 ; i <= 2 ; i ++) { for ( int j = 1 ; j <= 3 ; j ++){ System . out . println ( " i = " + i + " , j = " + j ) ; } } 결 괏 값 i = 1 , j = 1 i = 1 , j = 2 i = 1 , j = 3 i = 2 , j = 1 i = 2 , j = 2 i = 2 , j = 3 i 의 반복 횟수 1 , 2 2 번 j 의 반복 횟수 1 , 2 , 3 3 번 따라서 결 괏 값 은 2 * 3 = 6 개 의 결과 를 얻 음 예제 문제 1 ==== 중첩 for 문 이용 한 구구단 출력 ( 가로 형 ) ==== 가로 로 2 단 ~ 9 단 까지 구구단 구현 코드 System . out . println ( " 구구단 출력 하 기 "); for ( int dan = 2 ; dan <= 9 ; dan ++) { System . out . println ( ) ; for ( int i = 1 ; i <= 9 ; i ++) { System . out . print ( dan + " x " + i + "=" + ( dan * i ) + "＼ t "); / / ＼ t 는 일정 한 간격 으로 출력 하 게 함 . }} 결과 값 예제 문제 2 ==== 중첩 for 문 이용 한 구구단 출력 ( 세로 형 ) ==== 세로 로 2 단 ~ 9 단 까지 구구단 구현 코드 System . out . println ( " 구구단 출력 하 기 "); for ( int dan = 1 ; dan <= 9 ; dan ++) { System . out . println ( ) ; for ( int i = 2 ; i <= 9 ; i ++) { System . out . print ( i + " x " + dan + "=" + ( dan * i ) + "＼ t " ) ; }} 결 괏 값 예제 문제 3 ==== 중첩 for 문 이용 한 별 순차 적 출력 ==== 순차 적 으로 별 을 1 개 부터 5 개 까지 출력 for ( int line = 1 ; line <= 5 ; line ++) { for ( int n = 1 ; n <= line ; n ++) { System . out . print ( "★"); } System . out . println ( ) ; 결 괏 값 예제 문제 4 ==== 중첩 for 문 이용 한 별 역순 으로 출력 ==== 역순 으로 별 을 5 개 부터 1 개 까지 출력 for ( int i = 1 ; i <= 5 ; i ++) { for ( int n = 5 ; n >= i : n --) { System . out . print ( "★") } System . out . println ( ) ; 결 괏 값 while 반 복문 이 란 ? 반복 조건 에 해당 되 면 while 안 의 코드 가 무한 으로 실행 되 는 것 기본 적 인 틀 while ( 반복 조건 ) { 실행 되 는 부분 } 다양 한 방법 예시 예시 1 ) int num = 1 ; System . out . println ( " while 문 실행 "); while ( num <= 10 ) { System . out . println ( num ) ; num ++; } System . out . prinln ( " while 문 종료 "); 결 괏 값 while 문 실행 1 부터 10 까지 세로 로 출력 while 문 종료 예시 2 ) int num = 1 ; System . out . println ( " while 문 실행 "); while ( true ) { System . out . println ( num ) ; num ++; if ( num > 10 ) { break ; } } System . out . println ( " while 문 종료 "); 결 괏 값 while 문 실행 1 부터 10 까지 세로 로 출력 while 문 종료 예시 3 ) boolean run = true ; System . out . println ( " while 문 실행 "); while ( run ) { System . out . println ( num ) ; num ++; if ( num > 10 ) { run = false ; } } System . out . println ( " while 문 종료 "); 결 괏 값 while 문 실행 1 부터 10 까지 세로 로 출력 while 문 종료 예제 문제 1 ==== while 문 이용 한 1 부터 10 까지 합 구하 기 ==== while 문 을 통해 1 ~ 10 까지 의 합 을 계산 과정 과 함께 출력 하 기 int num = 1 ; int sum = 0 ; / / 합 을 저장 할 변수 선언 while ( num <= 10 ) { sum = sum + num ; System . out . prin ( num ) ; if ( num <= 9 ) { System . out . print ( "+"); } else { System . out . print ( "=" + sum ) ; } num ++;} 결과 값 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55 예제 문제 2 ==== while 문 이용 한 1 부터 N 까지 의 합 구하 기 ==== while 문 을 통해 1 ~ N 까지 의 합 을 계산 과정 과 함께 출력 하 기 Scanner scan = new Scanner ( System . in ) ; System . out . print ( " 마지막 값 입력 "); int lastNum = scan . nextlnt ( ) ; int i = 1 ; int sum = 0 ; while ( i <= lastNum ) { System . out . print ( i ) ; sum = sum + i ; if ( i < lastNum ) { System . out . print ( "+"); } else { System . out . print ( "=" + sum + "＼ n "); } i ++;} System . out . println ( 1 + " 부터 " + lastNum + " 까지 의 합 은 " + sum ) ; 결 괏 값 마지막 값 입력 7 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 1 부터 7 까지 의 합 은 28