[ JAVA의 배열에 대해서 알아보기 ]


Q. 배열은 왜 사용하는가?


 - 같은 종류의 데이터의 묶음이 필요할 때 사용하며, 많은 양의 데이터를 저장하고 관리할 때 유용하기에 사용이 됩니다.


Q. 배열의 특징과 장/단점?


 - 둘 이상의 변수를 선언할 때 유용합니다.

 - 많은 양의 데이터를 일괄적으로 저장하거나 관리할 때 유용합니다.

 - 1차원뿐만이 아닌 다차원 배열로도 사용이 가능합니다.

 - 배열의 가장 큰 단점으로는 배열 크기를 미리 지정해줘야하는 단점이 있습니다.

 - 또 다른 단점으로는 같은 데이터 타입을 사용해야 한다는 단점 등을 꼽을 수 있습니다.


[ JAVA 배열 예제 ]

 - 2차원 배열을 이용해 각 항목 값을 순차적으로 저장하고 해당 값을 반복문을 이용 Console창에 보여지는 예제입니다.

 - 평균을 나누기 위해 float으로 캐스팅을 사용했습니다.

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
32
33
34
35
36
37
public class ArrayExample {
    
    public static void main(String[] args) 
    {
          int[][] score = {{ 8590100 }, { 204080 }, { 303030 }, { 406040 }, { 905010 }};  // int형 배열 선언
          
          // 각 항목의 총합을 위한 값 초기화
          int koreanTotal = 0
          int englishTotal = 0
          int mathTotal = 0
 
          System.out.println("번호 국어 영어 수학 총점 평균"); 
          System.out.println("============================="); 
 
          for(int i=0; i < score.length; i++) { 
 
                // 총점의 총합을 위한 값 초기화
                int sum=0
                
                koreanTotal += score[i][0]; 
                englishTotal += score[i][1]; 
                mathTotal += score[i][2]; 
                
                System.out.print((i + 1+ "번 : "); 
                
                for(int j=0; j < score[i].length; j++) { 
                      sum += score[i][j]; 
                      System.out.print(score[i][j] + " "); 
                }
                
                // 평균 값을 구하기 위해 나눌 때 float으로 캐스팅.
                System.out.println(sum + " " + sum / (float)score[i].length); 
          } 
          System.out.println("============================="); 
          System.out.println("총점 : 국어 = > " + koreanTotal + " 영어 = > " + englishTotal + " 수학 = > " + mathTotal); 
    } 
}
cs



[ 예제 결과 ]

 - 값의 정렬은 배제하였습니다.



 - 참고 문헌 : Head First JAVA

 - 참고 사이트 : http://alecture.blogspot.kr/2011/04/array.html 

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 데이터 타입  (0) 2016.08.18
[JAVA] Call by Reference, Call by Value  (0) 2016.08.18
[JAVA] 간단한 개념 정리 [JVM, GC]  (0) 2016.08.18

[ JAVA의 데이터 타입의 종류에 대해서 알아보기 ]


1. 기본 자료형 (Primitive Data Type)


 - 논리형 : boolean ( true / false) 기본 값은 false.


 - 정수형

 ① byte : 1byte (-128 ~ 127) 배열이나 데이터 전송에 주로 사용.

 ② char : 2byte (0 ~ 65535) ('A') 문자 한개를 저장하는 데이터 형.

 ③ short : 2byte (-32768 ~ 32767) 다른 언어의 int 자료형과의 호환성을 위해 주로 사용.

 ④ int : 4byte (-2147483648 ~ 2147483647) 정수 값의 기본 자료형. 부호의 기본 값은 양수(+).

 ⑤ long : 8byte (-922경 ~ 922경) int자료형보다 큰 데이터를 저장할 때 사용. 초기화 할 때는 소문자 l이나 대문자 L을 붙여야 함. [long longVar = 111111L;]


 - 실수형

 ① float : 4byte 소수점을 표현할 때 사용. [float floatVar = 1.235f;] 대문자도 사용되어짐.

 ② double : 8byte float보다 큰 데이터를 저장할 때 사용.



2. 참조 자료형


 - 참조 자료형이란 클래스 형태의 데이터 타입을 말하는 것으로써 참조 자료형은 일반적으로 new또는 생성자로 값을 초기화하게 되어집니다.


 - String또한 참조 자료형에 포함되어지지만 특별히 new를 선언하지 않아도 되는 특별한 클래스 자료형입니다. 또한 참조자료형은 +처럼 부호를 붙일 수 없지만 String클래스에는 특별히 부호가 가능합니다.


 - 참조 자료형은 앞서 포스팅 된 Call by Value와 Call by Reference내용에서 보여지는 것처럼 참조 자료형은 참조되는 주소값을 전달하게 되어지는 특징이 있습니다.

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 배열  (0) 2016.08.24
[JAVA] Call by Reference, Call by Value  (0) 2016.08.18
[JAVA] 간단한 개념 정리 [JVM, GC]  (0) 2016.08.18

[ Call by Value와 Call by Reference를 메소드 매개변수로 전달해보고 값 들의 변화를 확인해보기]


package kr.momento.first;


public class ReferenceCall {

public static void add(int intVar){ // add(int) Method

intVar = intVar + 1;

        System.out.println("add(int) 결과: " + intVar);

    }

public static void add(int[] intArr){ // add(int[]) Method

        System.out.print("add(int[]) 결과: ");

        for(int i=0; i< intArr.length; i++){

        intArr[i] = intArr[i] + 1;

            System.out.print(intArr[i] + " ");

        }

        System.out.println();

    }

public static void main(String[] args) {

 

        // 1. Call by Value : 값에 의한 호출

        System.out.println("1. Call by Value !");

        int a = 100;

        add(a);

        System.out.println("add(int) 호출후 값: " + a);

        System.out.println("---------------------");

        

        // 2. Call by Reference : 참조 주소 값에 의한 호출

        // 배열을 이용하여 호출 확인

        System.out.println("2. Call by Reference !");

        int [] array = {100, 200, 300};

        add(array);

        System.out.print("add(int[]) 호출후 값: ");

        for(int i=0; i< array.length; i++){

            System.out.print(array[i] + " ");

        }

        System.out.println();

        System.out.println("---------------------");

        

        // 3. reference(주소)가 아닌 그 Value(값)를 호출한 경우는 Call by Value

        System.out.println("3. Call by Test !");

        add(array[0]);

        System.out.println("add(int) 호출후 값: " + array[0]);

    }

}

'Development > JAVA' 카테고리의 다른 글

[JAVA] 게시판 예제 - 1 (배열, Scanner)  (0) 2016.08.24
[JAVA] Scanner 문자열 입력  (0) 2016.08.24
[JAVA] 배열  (0) 2016.08.24
[JAVA] 데이터 타입  (0) 2016.08.18
[JAVA] 간단한 개념 정리 [JVM, GC]  (0) 2016.08.18

+ Recent posts