티스토리 뷰

프로그래밍 언어/Java(연습)

array

얗마 2016. 4. 25. 22:22

[주제]

- '배열'의 작동구조 및 방식



[중요]

- 동적할당 방식

- 참조형 변수

- 다차원 배열



[소스 코딩]

package arrayClass;
 
import java.util.Scanner;
 
class arrayClass {
    public static void main(String[] args) {
/*
        [배열]
        자료형 변수이름[] = new 자료형[공간개수]
        - 같은 자료형을 묶은 변수
        - 공간개수의 위치는 'index'라고 표현하며 '0'부터 시작  ※ ex) 공간개수가 5 = 0, 1, 2, 3, 4
        - '[]'의 위치는 변수 '앞' 또는 '뒤'에 위치
*/
//      생성, 초기화 별개로 선언
        int arr[] = new int[5];
 
        arr[0= 1;
        arr[1= 2;
        arr[2= 3;
        arr[3= 4;
        arr[4= 5;
 
        for (int i = 0; i < 3; i++) {
            System.out.println("arr[" + i + "] = " + arr[i]);
        }
 
//      생성, 초기화 동시에 선언  ※ 동적할당
        int arr1[] = {1122334455};
//          index 번호 0   1   2   3   4
 
        for (int i = 0; i < 3; i++) {
            System.out.println("arr1[" + i + "] = " + arr1[i]);
        }
 
//      생성, 초기화 동시에 선언  ※ 동적할당 x
        int arr2[];
        arr2 = new int[5];
 
        arr2[0= 1;
        arr2[1= 2;
        arr2[2= 3;
        arr2[3= 4;
        arr2[4= 5;
 
        for (int i = 0; i < 3; i++) {
            System.out.println("arr2[" + i + "] = " + arr2[i]);
        }
 
        char arr3[];
        arr3 = new char[3];
 
        arr3[0= 'A';
        arr3[1= 'B';
        arr3[2= 'C';
 
        for (int i = 0; i < 3; i++) {
            System.out.println("arr3[" + i + "] = " + arr3[i]);
        }
 
//      참조형 변수
        int n[] = new int[3];
        int m[];
        m = n;   // '배열 n'을 '배열 m'에 복사 == 'm'과 'n'은 항상 동일한 값을 가짐  ※ 대입 + 분신생성
 
        n[0= 111;
        n[1= 222;
        n[2= 333;
 
        for (int i = 0; i < 3; i++) {
            System.out.println("m[" + i + "] = " + m[i]);
        }
 
        // 배열 생성
        // 입력
        // 합계, 평균 구하기
 
        int sum = 0
            count = 3,
            avg = 0;
        int arrNum[] = new int[count];
 
        Scanner sc = new Scanner(System.in);
 
        System.out.println("숫자 3개를 입력해주세요");
        
        for (int i = 0; i < arrNum.length; i++) {  // length: 배열 길이를 구함
            arrNum[i] = sc.nextInt();
            sum = sum + arrNum[i];
        }
        avg = sum / arrNum.length;
 
        System.out.println();
        System.out.println("숫자 3개의 합 = " + sum + ", 평균 = " + avg);
 
        // 1 ~ 100 사이의 숫자 5개를 입력
        // 최소 값, 최대 값을 산출하기
 
        count = 5;
        int arrMinMax[] = new int[count];
        int min, max;
 
        System.out.println("숫자 5개를 입력해주세요");
 
        for (int i = 0; i < arrMinMax.length; i++) {
            arrMinMax[i] = sc.nextInt();
        }
 
        min = arrMinMax[0];
        max = arrMinMax[0];
 
        for (int i = 0; i < arrMinMax.length; i++) {
            if (min > arrMinMax[i]) {
                min = arrMinMax[i];
            }
            else if (max < arrMinMax[i]) {
                max = arrMinMax[i];
            }
        }
        System.out.println("최소 값 = " + min + ", 최대 값 = " + max);
 
 
//      [다차원 배열]
 
//      int language[] = {80, 92, 65};
//      int math[] = {75, 90, 55};
 
        int count1[][];
        count1 = new int [2][3];
 
//      count1[0] = new int[3];
//      count1[1] = new int[3];
 
        count1[0][0= 92;
        count1[0][1= 85;
        count1[1][0= 75;
        count1[1][1= 90;
 
        for (int i = 0; i < 2; i++)    {
            for (int j = 0; j < 3; j++)    {
                System.out.println("count1[" + i + "][" + j + "] = " + count1[i][j]);
            }
        }
 
        int ko[] = new int[3];
        ko[0= 92;
        ko[1= 85;
        ko[2= 75;
 
        int san[] = new int[3];
        san[0= 75;
        san[1= 90;
        san[2= 100;
 
        count1[0= ko;
        count1[1= san;
 
        for (int i = 0; i < 2; i++)    {
            for (int j = 0; j < 3; j++)    {
                System.out.println("count1[" + i + "][" + j + "] = " + count1[i][j]);
            }
        }
 
        int Array2[][] = {
            { 12 },
            { 56 }
        };
 
        for (int i = 0; i < Array2.length; i++)    {
            for (int j = 0; j < Array2[i].length; j++)    {
                System.out.println("Array2[" + i + "][" + j + "] = " + Array2[i][j]);
            }
        }
 
        System.out.println("Array2의 길이: " + Array2.length);
        System.out.println("Array2[0]의 길이: " + Array2[0].length);
 
 
        char star[][] = {
            {'*''*'' '' '},
            {'*''*'' '' '},
            {'*''*''*''*'},
            {'*''*''*''*'}
        };
 
        for (int i = 0; i < star.length; i++)    {
            for (int j = 0; j < star[i].length; j++)    {
                System.out.print(star[i][j]);
            }
            System.out.println();
        }
        sc.close();
    }
}
cs



■ 실행결과

'프로그래밍 언어 > Java(연습)' 카테고리의 다른 글

string2(진수 변환)  (0) 2016.04.25
string(문자열)  (0) 2016.04.25
계산기(두 수만 입력 받기)  (0) 2016.04.25
continue  (0) 2016.04.25
break  (0) 2016.04.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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 27 28 29 30 31
글 보관함