java 프로그래밍

제6장 for 문

jeongho son 2019. 3. 20. 23:23

이번 글에서는 for문 과 다중 for문에  대해 다뤄보겠습니다!

이번 부터는 완전 초보자라면 충분히 헷갈릴수도 있습니다 그러면 공책이나 어디에 쓰면서 풀어보세요!



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
예를들면 Hello World 라는 문장을 3번 출력하고싶다?? 
그런데 나는 반복문을 모른다???
반복문 몰라도 사실 문제는 없죠 물론 손과 머리가 아파져서 그렇죠 ㅋㅋㅋㅋㅋ
그러면 우리는 손과 머리를 편하게 하고싶으니까 어서 for 문을 배우로 가봅시다!!
아참 그러고 다음 글에서 배울 while문도 for처럼 같은 반복문인데 뭐가 다르냐 
물어보시면 for문은 유한반복 이말은 for문은 반복은 하되 반복하는 횟수가 정해져있고
while문은 반복하는 횟수가 정해지지 않은 무한반복문입니다 while 문은 다음 글에서 다루기로하고
 
for 문의 기본형태는
 
for(초기화식; , 조건식 ; 증감식){
    실행문;        /* 여기서 실행문은 for문에서 초기화된 값이 
                조건식에 들어갔을때 true 값일때만
                진행됩니다.
                만약 false 값이면 어떻하냐??
                그렇게 되면 for문은 가차없이 실행문을 무시하고 계산을 끝내버립니다
                그러면 예시로 한번 보시조! */
 
}
 
 
for(int i = 1; i<=3; i++){              // i=1 이라는 변수를 선언해서; i가3보다 크거나 같을때 까지 ; i를1씩증가시켜라
    System.out.println("hello world");     // 이식대로라면 i의 처음값은 1이다 하지만 증가 연산자를 만난 i는
                                        // 증가식에 의해서 1+1=2 이되고 그래도 아직 i의걊이 3보다 작기때문에                                        
}                                        // 2+1=3 3이되었으니까 값이같죠?? 그러면 출력이 끝나는거 아닌가? 
                                        // 라고 할수있습니다 하지만 앞에서 말했듯이 for문은 조건식이 true일때만 
                                        // 진행되기 때문에 3+1=4가될때야 false가되므로 빠져나가게 됩니다.
                                        // 이 값을 출력시켜보면 hello world 라는 문구가 3번 연속해서 나오게 됩니다                            
                                        // 아참 추가로 팁을 드리자면 저값을 출력하면     hello world 라는 값이    
                                        // 세로로 나오게 되는데 저기서 println 에서 ln을 빼고 print만 입력하고 안에 출력할 문장을 넣으면
                                        // hello world 라는 문장이 세로가 아니라 가로로 나오게 됩니다! 
cs



요기 까지가 일반적인 for 문이고 이번에 해볼거는 이중 for문을 이용해서 구구단 1단만 출력해도록 해보겠습니다


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
이번에는 구구단 1단만 출력한번 해보도록 하겠습니다.
 
 
for(int i = 1; i<=1;i++) {    //먼저 i가 구구단에 단이 되고 j가 뒤에 오는 숫자가 되기 때문에 i는 1 까지만 증가시킵니다.
        for(int j = 1; j<=9;j++) {     //여기서는 구구단 1단뒤에 증가하는 숫자들이기 때문에 1부터 9까지 나와야 되므로 j는 j<=9 가되겠죠??
            System.out.println(i + " x " + j + " = " + i*j);
        }        
            // 자 여기서 부터 이제 궁금하신분들이 있을거같은데 저기서 보이듯이 예를들면 1 x 1 = 1 , 1x2=2 이런식으로 나오게 하기위해서
            // i + " x " + j + " = " + i*j 요롷게 쓰게 되면 i의 값은 1에서 증가를 안하니까 1이되고 뒤에 문자를 출력하기위해서
            // "x"는 1 x 2 = 2 에서 곱하기를 표현하기 위해서 넣었고 j 의값은 위에서 봤듯이 저러한 이유로 1에서 9까지 나오게 됩니다
            // 그래서 j뒤에 "="가 들어간 이유는 저 큰따옴표?? 맞나? 하여튼 저게 없이 출력문에서 = 나 x가 들어가게 되면 오류가 나게 됩니다
            // 왜냐면 저기 x 와 = 는 문자로 쓰기 위해 들어간거기 때문에 "" 를붙여주는거구요 그러고 마지막에 i*j 의경우에는
            // i 와 j 의 값을 곱해준값을 출력해 주기 위해서 쓰여졌구요 저식에다가는 ""를 붙여주게 되면 여러분이 생각하는거처럼 구구단이 안나옵니다
            // 이 식을 배우고 난다음에는 꼭 여러가지 예제를 보면서 풀어 보시기를 추천드립니다 왜냐면 나중에 가면 헷갈리거든요 
    }
cs