배열
엄청나게 많은 연속적인 원소들이 차례대로 나열 될 수 있고 그런 식으로 저장하고 처리하는 방법
데이터가 많을 때 사용 ->
하없이 많을 수 있으면서 그 데이터 개수가 변경될 수 있는 데이터들의 집합을 지정해 줄 수 있기 때문에 사용
int [] array = new int [100];
new -> 어떠한 인스턴스를 만들 때 사용하는 하나의 언어
[] 로 지금 사용하고자 하는게 배열임을 알 수 있다
[100] 은 배열의 크기를 의미
0 | 1 | 2 | 3 | 4 | ... | 99 |
원하는 개수만큼의 배열 생성 및 최댓값 구하는 프로그램 작성
import java.util.Scanner; public class Main { public static int max (int a, int b) { return (a > b) ? a : b; } // 두 값을 비교하여 더 큰 값을 리턴해주는 max public static void main (String[] args){ Scanner scanner = new Scanner (System.in); System.out.print("생성할 배열의 크기를 입력하세요 : "); int number = scanner.nextInt(); // 사용자가 입력하는 정수를 넣을 수 있게 함 int[] array = new int [number]; // 입력 받은 number이란 값을 배열의 크기로 지정 for (int i = 0; i < number; i++){ System.out.print("배열에 입력할 정수를 하나씩 입력하세요 (양수) : "); array[i] = scanner.nextInt(); // 각각의 인덱스에 해당하는 원소에 값을 넣어줄 수 있도록 한다 } int result = -1; // 프로그래밍 오류 for (int i = 0; i < number; i++){ result = max(result, array[i]); // 배열 안에 있는 값 중 가장 큰 값을 각각 비교하여 찾아주기 } System.out.println("입력한 모든 정수 중에서 가장 큰 값은 : " + result + " 입니다."); } } |
원하는 개수만큼의 배열 생성 및 최댓값 구하는 프로그램을 작성합니다.
100개의 랜덤 정수의 평균을 구하는 프로그램을 작성합니다.
public class Main { public static void main (String[] args){ int[] array = new int[100]; for (int i = 0; i < 100; i++){ array[i] = (int)(Math.random() * 100 + 1); // 랜덤한 어떠한 정수를 배열에 넣어주기 // Math : 자바가 기본적으로 제공하는 라이브러리 // Math.random() : 랜덤한 숫자를 하나 가져오는 것 /* Math.random() : 0 < x < 1 사이의 어떠한 숫자를 가져오는 것 여기에 100을 곱해주면 0 <= x < 100 이 된다 1을 더 하면 0 < x < 101로 1부터 100까지의 숫자가 됨 앞에 (int)를 붙여 정수로 만들어 소숫점 자리 지워주기 즉 array[0] 부터 array[99]까지 만든 배열에 1~100 의 랜덤한 숫자가 들어가게 된다 */ } int sum = 0; for (int i = 0; i < 100; i++){ sum += array[i]; } System.out.println("100개의 랜덤 정수의 평균값은 " + sum / 100 + "입니다."); } } |
다차원 배열
배열이 배열의 원소로 들어가는 구조
a[0][0] | a[0][1] | a[0][2] | a[0][3] |
a[1][0] | a[1][2] | a[1][3] | a[1][4] |
a[2][0] | a[2][1] | a[2][2] | a[2][3] |
10 * 10의 정수 랜덤 데이터를 생성하여 전체 데이터를 분석하기
public class Main { public static void main (String[] args){ int N = 50; // 가로 세로 행과 열의 데이터 길이 int [][] array = new int [N][N]; for (int i = 0; i < N; i++){ for (int j = 0; j < N; j++){ array[i][j] = (int)(Math.random() * 10); // 10을 곱해 0 ~9 까지의 랜덤한 데이터가 들어감 } } for (int i = 0; i < N; i++){ for (int j = 0; j < N; j++){ System.out.print(array[i][j] + ""); // 열을 출력할때는 줄바꿈이 일어나지 않게 해주기 } } System.out.println(); } } |
'JAVA' 카테고리의 다른 글
자바 기초 6 (상속) (0) | 2021.10.13 |
---|---|
자바 기초 5 (클래스) (0) | 2021.10.13 |
자바 기초 3 (반복 함수와 재귀 함수) (0) | 2021.10.13 |
자바 기초 2 (객체지향) (0) | 2021.10.12 |
자바 기초 1 (0) | 2021.10.12 |