본문 바로가기

JAVA

자바 기초 4 (배열)

배열

엄청나게 많은 연속적인 원소들이 차례대로 나열 될 수 있고 그런 식으로 저장하고 처리하는 방법

데이터가 많을 때 사용 ->

하없이 많을 수 있으면서 그 데이터 개수가 변경될 수 있는 데이터들의 집합을 지정해 줄 수 있기 때문에 사용

 

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