배열
전 시간
for
while
while(조건)
{
//명령
}
for(초기식; 조건식; 증감식
{
//명령
}
나이, 성격, 이름...
변수 🐶 많아...
string A사람_이름
char A사람_성별
int A사람_나이
string B사람_이름
char B사람_성별
int B사람_나이
.
.
.
사람들의 이름
사람들의 나이
사람들의 성별
변수2
변수3
변수1
1: 변수1
2: 변수2
변수3
배열
배열 = 변수들을 하나로 묶은 것
배열하다
일정한 차례나 간격에 따라
비슷한 것 끼리
벌려놓음
배열(array)
동일한 성격의 데이터를 관리하기 쉽도록 하나로 묶는 일.
색인(index) : 0~
원소, 요소(element)
크기(length/size/count)
선언
초기화
데이터 타입[] 이름;
ex) int[] array; char[] array;
이름 = new 데이터 타입[크기];
이름 = new 데이터 타입[크기]{원소1, 원소2,...};
(크기는 정수)
ex) array = new int[5];
array = new int[5]{1, 2, 3}; (X)
array = new char[5]{'a', 'p', 'p', 'l', 'e'};
using System;
class Program
{
static void Main(string[] arg)
{
int[] array;
char[] apple;
array = new int[5];
// 초기화 할때 다 초기화 해야 됨
//array = new int[5]{1, 2, 3};
apple = new char[5]{'a', 'p', 'p', 'l', 'e'};
}
}
원소(요소) 접근
이름[인덱스];
ex) array[0]
array[3]
if (인덱스 > 크기)
에러 발생:
System.IndexOutOfRangeException: Index was outside the bounds of the array.
using System;
class Program
{
static void Main(string[] arg)
{
char[] apple = new char[5]{'a', 'p', 'p', 'l', 'e'};
Console.WriteLine(apple[0]); // output: a
Console.WriteLine(apple[1]); // output: p
apple[1] = 'A';
Console.WriteLine(apple[1]); // output: A
//apple = [A, p, p, l, e]
}
}
배열 요소 중 특정 구간 확인
int age[] = new int[5]{3, 13, 2, 5, 6}
에서 0~3번 사람의 나이를 확인 하고 싶음.
for(int i = 0; i < 3; i++)
{
Console.WriteLine(age[i]);
}
using System;
class Program
{
static void Main(string[] arg)
{
int[] age = new age[5]{3, 13, 2, 5, 6};
// 일일이 쓰기
Console.WriteLine(age[0]);
Console.WriteLine(age[1]);
Console.WriteLine(age[2]);
//반복문으로 간단하게 쓰기
for(int i = 0; i < 3; i++)
{
Console.WriteLine(age[i]);
}
}
}
Console.WriteLine(age[0]);
Console.WriteLine(age[1]);
Console.WriteLine(age[2]);
배열 요소 전체 확인
int age[] = new int[5]{3, 13, 2, 5, 6}
에서 0~3번 사람의 나이를 확인 하고 싶음.
for(int i = 0; i < 5; i++)
{
Console.WriteLine(age[i]);
}
using System;
class Program
{
static void Main(string[] arg)
{
int[] age = new age[5]{3, 13, 2, 5, 6};
for(int i = 0; i < 5; i++)
{
Console.WriteLine(age[i]);
}
for(int i = 0; i < age.Length; i++)
{
Console.WriteLine(age[i]);
}
}
}
for(int i = 0; i < age.Length; i++)
{
Console.WriteLine(age[i]);
}
배열 요소 전체 확인
foreach(int element in array)
{
Console.WriteLine(element);
}
using System;
class Program
{
static void Main(string[] arg)
{
int[] age = new age[5]{3, 13, 2, 5, 6};
foreach(int element in age)
{
Console.WriteLine(element);
}
}
}
foreach; for + 각각의
전체를 탐색하는 경우이니 짧게 쓰자!
foreach(배열과 같은 타입 이름 in 배열)
{
//명령
}
using System;
class Program
{
static void Main(string[] arg)
{
int[] age = new age[5]{3, 13, 2, 5, 6};
foreach(int element in age)
{
Console.WriteLine(element);
}
}
}
cf) string은 배열일까?
string : char - char - char -...
char[] = 0: char, 1: char, 2: char...
string > char[]
(char[]는 배열, string은 배열을 쓴 자료구조)
ex)
string str = "banana";
Console.WriteLine(str[0]); // b
Console.WriteLine(str[1]); // a
using System;
class Program
{
static void Main(string[] arg)
{
string str = "banana";
//for문 사용
for(int i = 0; i < str.Length; i++)
{
Console.WriteLine(str[i]);
}
//foreach문 사용
foreach(int element in str)
{
Console.WriteLine(element);
}
}
}
Q.
나이가 12, 44, 21, 55, 16인 사람이 있다.
이때 위 나이를 배열에 넣고
foreach 혹은 for을 이용하여
나이의 평균을 구하여 출력하자.
입력: X
출력 : 29.6
다음 시간 예고
다차원 배열
가변 배열
리스트
배열
By qwd0214
배열
- 61