변수, 배열, 반복문에서 이중for문
n이 5라고 가정하고 예시를 들어보겠습니다 그럼 data[5]가 되니깐 길이가 5인 배열이 생성이 되겠죠? 이 배열에 for(int i=0; i 를 하면서 5번 돌아 배열에 값을 집어 넣어주겠네요 data[0] = 1 data[1] = 2 data[2] = 3 data[3] = 4 data[4] = 5 로 설정하겠습니다 int max=0 ; 이라 선언 되어잇고 for(int i = 0; i max) { max = sum; } } } 인 이중 for Loop를 만났네요. 진행해보자면, i=0 인 상태에서 for문을 또 돌게 되는데 for(int j=i; j 결국 풀어보면 for(int j=0; j max도 for문을 돌면서 1,3, 6, 10 이었다가 최종적으로 15가 됩니다. 이렇게 내부에 있는 for문이 끝나게 됩니다. 그렇지만 밖에 있는 for문이 아직 안끝났네요. i++이 되면서 i=1이 됩니다 sum은 다시 0으로 초기화가 되고 또 다시 내부에 있는 for문을 만나는데 i=1이니깐 이번엔 for문이 for(int j=1; j sum += data[j] 인데, 이번엔 1부터 시작합니다. data[1]~[4]를 더해봅시다. 2 3 4 5가 더해져 sum은 14가 됩니다. 하지만 max는 15라 if(sum > max) { max = sum; } 의 조건에 부합하지 않아 그냥 빠져나옵니다. 이렇게 안에 있는 for문이 또 끝났습니다 다시 밖에 있는 for문이 안끝났죠? i++ 로 i=2가 되고 위의 과정을 i=5가 될때까지 반복하게 됩니다. (i가 5가 되면 밖에 있는 for문을 빠져나오게 되면서 마지막에 System.out.println(max)로 max를 출력하고 끝납니다. (max=15) ) import java.util.Scanner; public class DoubleForLoop4 { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int [] data = new int[n]; for(int i = 0; i"); for(int j = i; j max) { max = sum; } System.out.println("j :" + j + ", for Loop sum : " + sum + ", max : " + max); } } System.out.println(max); } } 이걸로 이클립스에서 돌려보세요