관심있는 주제/Java

반복문(while , for)

Lynn123 2018. 11. 9. 23:14
반응형

  반복문은 대표적을 두 가지가 있다.


1. while loop

  

  기본 구조는 while ( 조건 ) { 실행할 내용 } 이다. while은 for loop 과 달리 while문 밖에 초기 값이 꼭 필요하다. 따라서 처음에 int i = 0; 으로 할당하고 i <4 일 때만 while을 실행한다. while문 안에서 한번 loop이 돌 때 마다 i++ 을 해줘야 한다. (안하면 i = 0으로 고정되어 무한 루프 ! 항상 i = 0 < 4 이니까)


  그러면 이렇게 출력이 된다. 

즉 i = 0 일 때 while 돌아서 출력. i++ => i =1 while 돌아서 출력. i ++ = > i=3 while 돌아서 출력. i++ => i = 4 <4 가 아니니까 멈춘다.



2. for loop

  

  for 문은 초기 값 지정, 조건 , i++ 의 과정을 모두 괄호 안에 넣고 시작한다. for와 while은 서로 대체 가능한 관계에 있으므로 위의 예시를 이용할 것이다.


  즉 for ( 변수 declare and 초기 값 할당 ; 조건 ; 반복실행 ) { 실행할 내용} 이다. 여기서 괄호 안에 있는 값들은 꼭 3가지 다 채울 필요는 없다. 하지만 각 부분에 세미콜론은 꼭 써줘야 한다. 


3. 반복문의 제어


  반복문 안에 조건문을 넣어 제어할 수 있다. 예시로 만약 i 가 5 이라면 break 한다는 조건을 넣었다. 그러면 iter : 1 ~ 5 값을 출력한다.


  또는 continue 라는 것을 넣어서 5일 때만 제어를 하고 나머지 loop 은 계속 돌리는 방법도 있다. 

저기 예시에서는 i =5 일 때 continue 를 했다. 때문에 아래의 System.out.println은 무시하고 다시 while loop 의 처음으로 돌아가 반복문을 실행한다. 이때 i =6 부터 다시 시작한다. 


4. 반복문의 중첩


  반복문 안에 또 반복문을 넣을 수 있다. 아래처럼 i 와 j 를 이용하여 1 ~ 99까지의 수를 출력해 보았다. i = 0 일 때 안에 있는 for 문을 돌고 (j를 0~9 까지) => 00 01 02 03 04 05 06 07 08 09

, 또 i =1 일 때 j의 for 문을 돌고 => 10 11 12 13 14 15 16 17 18 19

이런 식으로 99까지 돈다.


  반복문의 중첩으로 0 ~ 99까지의 수를 출력해 보았는데 이건 Sysout 을 한거기 때문에 사실 어디에 저장되어 있는 값은 아니라고 생각했다. 그래서 이걸 array에 넣을 수 있을까 라는 생각이 들었다. 


  일단 길이가 100인 int array 를 만들었다. 그리고 for 문을 돌려서 나오는 i 들을 array에 담았다. 여기서 i + 1을 해준 이유는 i 가 0부터 시작하기 때문이다.

  아래의 for문은 array 에 들어있는 모든 int 를 더하는 코드다. 출력 해보면 5050이 나온다. 

반응형

'관심있는 주제 > Java' 카테고리의 다른 글

메소드  (0) 2018.11.13
배열 (Array)  (0) 2018.11.12
조건문(if, switch) + 논리 연산자  (0) 2018.11.09
불린(Boolean)  (0) 2018.11.09
연산자  (0) 2018.11.08