yeny_lab

Hello Coding 헬로코딩 프로그래밍 챕터7; 배열

2020. 1. 7. 22:50·기타
728x90

 

수많은 변수를 손쉽게 관리하려면, 배열

+배열이 필요한 이유

+배열

+컨테이너

 


변수의 종류 뒤에 [] 대괄호가 붙었으면.. 다음에 나오는 변수가 배열이라는 의미다.

int나 string 뒤에..

그럼 배열을 선언해보자.

 

//여섯 자리의 숫자를 저장하는 정수형 배열

int[] passcodeNumbers = { 6, 2, 1, 9, 4, 7 };

 

여기서ㅣ passcodeNumbers는 정수형배열 변수라고 함.

숫자를 줄줄이 넣기 위해 중괄호 {}를 사용했고, 쉼표로 구분해줌.


@배열에 들어 있는 값을 사용하는 방법을 알아보자.

 

@배열에 들어 있는 값을 바꾸는 방법은?

 

 

 

1. 배열에 들어있는 몇번째 값을 비교하거나 등..

 

if (passcodeNumbers[0] == userInput1)

{

    Console.WriteLine("첫 번째 숫자가 같습니다.");

}

 

>>이렇게 passcodeNumbers[0]을 userInput1랑 비교했다.

배열에 들어있는 값에 접근할 때는 []를 사용하고, 그 []안에는 숫자를 넣어 읽어올 위치를 지정해준다.

첫, 두, 세 ...번째 값 순서대로 [0] [1] [2] ... 다.

[0]부터 시작한다는거 잊지 말자.

컴퓨터는 숫자를 셀 때 1부터가 아니라 0부터 센다!!

 

 

 

2. 사용자가 입력한 값을 배열로 저장해둘 수는 없을까??

이렇게 하자.

 

int[] userInput = new int[6]

정수형배열 변수인 userInput을 선언했고,

new int[6]가 의미하는 것은 userInput이라는 정수형배열 변수가 여섯개의 정수를 넣을 수 있는 배열이라는 뜻이다.

ㄱ

그렇다면 키보드 입력을 받은 코드를 첫 번째 수로 저장하는 코드는?

userInput[0] = int.Parse(Console.ReadLine());

 

정수형 배열변수인 userInput이 있잖아

그 userInput의 첫번째 자리, 즉 userInput[0]에다가 입력값을 넣는다는 것.

즉!! 코드 그대로

userInput[0] = int.Parse(Console.ReadLine());

 

 

 

++배열의 장점.. ㅂ변수 선언을 줄줄이 길게 할 필요 ㄴ

배열을 사용하여 길었던 변수 선언을 두 줄로 끝내버렸다.

비밀번호 배열이랑, 내가 입력한 배열 변수 이렇게 두개!

 


또 다른 배열을 만들어보자

정수형 변수 배열 뿐만이 아니라 string과 double도 배열로 만들어보자

아까 여섯 개의 정수값을 넣을 수 있는 배열을 만들 때 new int[6]를 사용했다.

그런데 배열 안에 들어갈 값의 개수도 사용자가 직접 정하게 할 수는 없을까?? 오케이~~가능~~!

 

학생 명부 관리 프로그램

키보드로 총학생 수를 입력, 그 수만큼 학생 배열 생성, 그리고 그중 한명의 정보를 입력받기

!! 하지만 컴퓨터에서 수는 0부터 세기 때문에,

우리가 10번째 학생의 정보를 입력하고 싶다면 9로 입력해야 한다는 거 당연히 주의


안전하게 배열을 사용하려면?

 

if (studentNumber >=0 && studentNumber <= studentCount - 1)

{ ... } 

else

{

    Console.Write("0에서");

    Console.Write(studentCount - 1)

    Console.WriteLine("사이의 숫자를 입력하세요.")

}

 

 

 

이런식으로 막으면 되지

 


컨테이너

예를 들어 

passcodeNumber[0]에서 0을 인덱스라고 부른다.  0은 실제 값이 들어있는 위치를 알려주는 인덱스일 뿐이고

실제 값인 6은 passcodeNumber[0]이라는 코드를 통해 가져올 수 있는 값이다.

 

(인덱스와 실제 값의 개념 ㅇㅋ)

 

 

!! 여기서, 0,1,2같은 숫자가 아닌 문자열 같은 단어를 인덱스로 사용하려면 어떻게 해야 할까??

예를 들어서 양현석 하면 27이라는 값이 뜨게끔..

 

이 장에서 만들었던 학생 명부 프로그램에서 학생 번호 (0,1,2따위)가 아니라, 학생 이름인 양현석, 김예은을 인덱스로 쓰면 편할 것 같다.

이럴 때 사용하는 게 딕셔너리라는 컨테이너다.

 

!!배열에서의 인덱스는 정수~!

!!딕셔너리에서의 인덱스는 문자열 사용 가능~!

 


 

숫자야구구구

배열을 숫자야구에 적용해보자

 

>>일일이 변수선언한 코드를 배열형식으로 싹 바꿨다

 

디스웨이....>.<

결과는 똑같다

 

챕터7내용

ㅇ 같은 종류의 변수를 여러 개 만들 때 배열을 쓴다.

ㅇ 인덱스는 배열 안에 들어있는 값의 위치를 나타낸다.

ㅇ 배열 이외에도 리스트, 딕셔너리같은 컨테이너가 있다.

 

728x90

'기타' 카테고리의 다른 글

Hello Coding 헬로코딩 프로그래밍 챕터8; 반복문(while)  (0) 2020.01.16
Hello Coding 헬로코딩 프로그래밍 챕터7; 기초문제 심화문제  (0) 2020.01.08
Hello Coding 헬로코딩 프로그래밍 챕터6; 기초문제 심화문제  (0) 2020.01.06
Hello Coding 헬로코딩 프로그래밍 챕터 6; 조건문  (0) 2020.01.02
Hello Coding 헬로코딩 프로그래밍 챕터5; 기초문제 심화문제  (0) 2020.01.02
'기타' 카테고리의 다른 글
  • Hello Coding 헬로코딩 프로그래밍 챕터8; 반복문(while)
  • Hello Coding 헬로코딩 프로그래밍 챕터7; 기초문제 심화문제
  • Hello Coding 헬로코딩 프로그래밍 챕터6; 기초문제 심화문제
  • Hello Coding 헬로코딩 프로그래밍 챕터 6; 조건문
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (387)
      • 미분류글 (30)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
Hello Coding 헬로코딩 프로그래밍 챕터7; 배열
상단으로

티스토리툴바