JAVA - for문과 배열의 관계(2022-07-19)
반복문인 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