배열은 언제쓸까? 같은 자료형인 변수가 100개 200개 무수히많은때 그변수들 담아놓기위해 배열을 사용한다 즉, 무수한 자료의 같은 데이터형을 처리할때 배열을 사용하면 자료를 효율적으로 사용할수있다는것이다.
예) int[] a = new int[5] 이런 방식으로 사용한다. 배열의 a라는 배열명은 그 배열의 시작 주소를 가리킨다. 이점은 매우 중요하다.
문제로 풀어볼까
배열 출력해보기(숫자)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void main(String[] args) {
/* 5개 정수를 입력받은후 차례로 출력하는 프로그램
* 입력예) 5 10 9 3 2
* 출력예) 5 10 9 3 2
* */
*
Scanner scn = new Scanner(System.in);
int[] a = new int[5]; // 5개의 방을만들고 배열의 시작주소를 a에게 넣는다.
int i;
for(i=0; i<5; i++)
{
System.out.print(i + "번째 값 입력 : ");
a[i] = scn.nextInt();
}
for(i=0; i<5; i++)
{
System.out.print(a[i]+ " ");
}
System.out.println(a);
}
배열 출력해보기(문자)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) {
/* 문제) 문자10개를 저장할 수 있는 배열을 선언하고 10개의 문자
* 입력 받아 입력받은 문자를 이어서 출력하는 프로그램
* 입력예)A B C D E F G H I J
* 출력예)ABCDEFGHIJ
Scanner scn = new Scanner(System.in);
char[] a = new char[10];
int i;
for(i=0; i<10; i++)
{
// a[i]=scn.next(); //공백을 기준으로 한단어,문자씩 입력받는다.
a[i]=scn.next().charAt(0);
System.out.printf("%c", a[i]);
}
}
배열 출력해보기 (자리수 지정)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) {
문제) 정수 10개를 입력받은후, 세번째, 다섯번째와 마지막으로 입력
* 받은 정수를 차례로 출력하는 프로그램
* 입력예)5 3 9 6 8 4 2 8 10 1
* 출력예)9 8 1
Scanner scn = new Scanner(System.in);
int[] a = new int[10];
int i;
for(i=0; i<a.length; i++)
{
a[i] = scn.nextInt();
}
//System.out.printf("%d %d %d ", a[2], a[4], a[9]);
System.out.printf("%d %d %d ", a[2], a[4], a[a.length-1]); // lengh사용하여 배열의 길이를 셀수있다.
}
배열 출력해보기(짝수 자리수)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) {
/* 문제)최대 100개까지의 정수를 차례로 입력받다가 0이 입력되면
* 입력을 중단하고 짝수번째에 입력된 정수를 모두 출력하는
* 프로그램 작성
* 입력예) 11 25 3 9 15 6 8 7 12 0
* 출력예) 25 9 6 7
* /
Scanner scn = new Scanner(System.in);
int i;
int count = 0;
int a[] = new int[100]; //배열을 초기화한다.
for(i=0; i<100; i++)
{
a[i] = scn.nextInt();
if(a[i] == 0)
{
break;
}
count ++;
}
for(i=1; i<count; i+=2)
{
System.out.printf("%d ", a[i]);
}
}