3층 1구역 - 개발의 장/JAVA

JAVA - for문과 배열의 관계(2022-07-19)

상이태상 2022. 7. 19. 22:02

반복문인 for문으로 배열을 출력할 수 있다.

 

예제 2가지를 비교해보자.

package arrays;

public class Ex02 {

	public static void main(String[] args) {
		int[] arr = new int[5];
		
		arr[0] = 100;
		arr[1] = 200;
		arr[2] = 300;
		arr[3] = 400;
		arr[4] = 500;
		
		
		System.out.println("arr[0] : " + arr[0]);
		System.out.println("arr[1] : " + arr[1]);
		System.out.println("arr[2] : " + arr[2]);
		System.out.println("arr[3] : " + arr[3]);
		System.out.println("arr[4] : " + arr[4]);

	}

}

결과

arr[0] : 100
arr[1] : 200
arr[2] : 300
arr[3] : 400
arr[4] : 500

 

 

이전 포스팅에서 올린 예제 2번이다.

예제 2번에선 각각 방에 수를 입력하여 각각 출력했는데....

 

for문을 쓰면 좀 더 간편하게 각각 방의 수를 출력할 수 있다.

다음 예제를 보자.

 

package arrays;

public class Ex03 {

	public static void main(String[] args) {
		int[] arr = new int[5];
		
		for(int i = 0; i < arr.length; i++) { //for문을 사용할 땐 배열에 규칙이 있어야 한다.
			arr[i] = 100*(i+1);
		}
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println("arr["+i+"] : " + arr[i]);
		}
		

	}

}

결과

arr[0] : 100
arr[1] : 200
arr[2] : 300
arr[3] : 400
arr[4] : 500

 

이전 포스팅에서 int[] arr = new int[5]; 라고 했을 때, 방이 5개 생성된다고 했고, 방 번호는 각 0, 1, 2, 3, 4가 된다.

라고 언급했었다.

 

for문을 활용시 i가 0부터 arr배열의 5개의 방까지 i의 수가 1씩 늘어나고 그렇기 때문에

i에는 0, 1, 2, 3, 4가 들어가면서 arr[i] = 100*(i+1);이 연산되면서 예제 2번과 같은 결과가 출력되는 것을 알 수 있다.

 

다음 예제3번을 보도록 하자.

package arrays;

public class Ex04 {

	public static void main(String[] args) {
		//int[] arr = new int[] {10, 20, 30, 40, 50};
		
		int[] arr = {10, 20, 30, 40, 50, 60, 70, 80};  // new int는 생략도 가능함.
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println("arr[" + i + "] : " + arr[i]);
		}

	}

}

이전 포스팅 예제1번을 보면 주석을 걸어놨을테지만,

int[] arr = new int[5]; 이렇게 써서 총 5개의 방을 만들어주는 방법도 있고, i

int[] arr = new int[] {10, 20, 30, 40, 50}; 입력값 5개를 제시하고 입력값이 알아서 방을 생성하는 방법도 있으며,

int[] arr = {10, 20, 30, 40, 50}; new int는 생략도 가능하다.

 

다음 방법을 위 예제에 적용하여 출력해보면

 

결과

arr[0] : 10
arr[1] : 20
arr[2] : 30
arr[3] : 40
arr[4] : 50
arr[5] : 60
arr[6] : 70
arr[7] : 80

 

이 다음 설명할 두 예제는 Scanner 를 사용하여 입력값을 직접 방을 배정해주고,

그 값을 출력해주는 예제이다.

 

package arrays;

import java.util.Scanner;

public class Ex05 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int[] arr = new int[5];
		
		for(int i = 0; i < arr.length; i++) {
			System.out.print((i+1) + " 번째 입력 : ");
			arr[i] = sc.nextInt();
		}
		
		for(int i = 0; i < arr.length; i++) {
			System.out.println("arr[" + i + "] : " + arr[i]);
		}

	}

}

예제 5번 정수형을 사용해서 정수값을 입력 및 출력해주는 예제이다.

 

결과

1 번째 입력 : 100
2 번째 입력 : 200
3 번째 입력 : 300
4 번째 입력 : 400
5 번째 입력 : 500
arr[0] : 100
arr[1] : 200
arr[2] : 300
arr[3] : 400
arr[4] : 500

 

package arrays;

import java.util.Scanner;

public class Ex06 {
	
public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	
	String[] arr = new String[5];
	
	for(int i = 0; i < arr.length; i++) {
		System.out.print((i+1) + " 번째 입력 : ");
		arr[i] = sc.next();
	}
	
	for(int i = 0; i < arr.length; i++) {
		System.out.println("arr[" + i + "] : " + arr[i]);
	}
	
	
	}
}

예제 6번은 문자열을 사용하여 문자값을 입력 및 출력하는 예제이다.

 

결과

1 번째 입력 : a
2 번째 입력 : b
3 번째 입력 : c
4 번째 입력 : d
5 번째 입력 : f
arr[0] : a
arr[1] : b
arr[2] : c
arr[3] : d
arr[4] : f