inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Java TPC (생각하고, 표현하고, 코딩하고)

배열부분

212

콩이

작성한 질문수 8

0

초반 배열부분 부터 이해가 안가는데 진도를 기냥 진행 해야하나요
이해될때까지 반복해서 봐야하나요 갑자기 for 문나오고 length 가 나오는데 length는 길이구하는거 아닌가요?
왜 더한 합이 되어서 60이 나오는지 모르겠습니다 알려주세요

oop java

답변 1

0

박매일

본수업은 기본적인 프로그래밍 기초가 조금되어 있으면 이해하는데는 큰 문제가 없습니다.
혹시 전혀 프로그래밍 기초가 없으실수있는데 질문자처럼 배열부분에서 어려움이 있을수 있습니다.
이해를 돕기위해서 설명을 다시 드리겠습니다. 동영상을 보시면 배열의 메모리 그림이 있습니다.

 int[] a=new int[3];
a[0]=10;
a[1]=20;
a[2]=30;
아래처럼 a[0] 기억공간에 10이 저장되고
아래처럼 a[1] 기억공간에 20이 저장되고
아래처럼 a[2] 기억공간에 30이 저장됩니다.

a--->a[0] :10
           a[1] :20
           a[2] :30

배열은 전체 길이를 구할수있는 length라는 속성을 사용할수 있습니다.
a.length라고하면 배열의 길이 즉 3을 구할 수있습니다.
배열에 저장된 데이터를 모두 더할려면 반복문( for)를 사용해볼수있는데 반복을 몇 번 할건지를
알기위해서 배열의 길이(a.length)를 구할수가 있습니다.

배열의 길이를 알면 아래처럼 반복문을 사용하여 배열데 저장된 모든 원소의 합을 구해볼수있습니다.
 int sum=0;
 for(int i=0;i<a.length;i++){
     sum+=a[i];
}
System.out.println(sum);  //60출력

위의 반복문을 실행하면  sum에 60(총합=a[0]+a[1]+a[2])이 저장됩니다.
반복문을 해석하면 a.length가 3이므로 i는 0, 1, 2 까지 변하게 됩니다.
그래서 반복문이 아래처럼 3번 실행이 됩니다.
i=0 일때는  sum+=a[0] <-10
i=1 일때는  sum+=a[1] <-20
i=2 일때는  sum+=a[2] <-30
그래서 sum이라는 변수에 10을 더하고, 20을 더하고, 30을 더해서 총 60이 저장이 된다고
이해하시면 됩니다.

프로그래밍의 기초인  반복문의 동작을 이해하시면 되구요, 배열의 모든 원소를 가장 쉽게 접근하는
방법이 반복문이기 때문에 배열에는 반드시 반복문이 따라오게 되어있습니다.
본수업은 메모리를 기반으로 프로그램이 어떻게 동작하는지 원리위주로 설명이 되어있기 때문에
자바기초와 병행해서 들으시면 더 효과적이 될수있을듯합니다.
일단 끝까지 정독하시면서 수업을 들어보시면 점점 이해력이 높아질것입니다.
설명을 한다고는 했지만 지면상 부족한 부분이 있으시면 다시 질문남겨주시기 바랍니다.

0

콩이

감사합니다..엉엉 ㅜ

인프런 자바 강의 보고있는데요. 질문.

0

179

1

질문입니다

0

245

1

call by reference 관련 자바는 call by value방식만 존재하지 않나요?

0

970

1

ArrayLIst에 대해서 궁금합니다

0

379

1

자바버전

0

613

1

오버로딩 생성자

0

460

1

안녕하세요

0

351

1

문자열 String 에 대해 질문이 있습니다.

1

564

1

선생님 질문있습니다.

0

360

1

인강 강의내용

0

451

1

static 멤버 사용

0

431

1

강사님 추상메소드에서 전달하는 매개변수도 재정의 할때 반드시 구현하는건가요?

0

431

1

강사님 abstract 부분 궁금한점 있습니다!!

0

326

1

강사님 private 관련해서 궁금한점 있습니다!

0

340

1

45강 실습관련 질문드립니다

0

361

2

완강했습니다!!

0

368

1

Class생성시 관련하여 질문드립니다

0

235

1

안녕하세요 IDE관련해서

0

353

1

String관련 질문입니다

0

292

1

추상클래스 질문!

0

284

1

Wrapper 클래스란?(실습) 프로젝트에서

0

588

1

java 11로 해도 되나요?

0

435

1

궁금한 게 있습니다.

0

291

1

Java의 Call by Reference

0

266

1