본문 바로가기

프로그래밍/Java

자바의 연산자와 배열

■ 연산자
  - 산술 연산자 : +, -,*,/(몫 나누기),%(나머지 나누기)
  - 논리연산자 : &&(and)   ||(or)   ^ (xor)  !(not)
  - 비트연산 : >>, >>>,<< ,&,|
    ex)   8 >> 2     =>   2        8 << 2 => 32
    ex)  -8 >>> 2   =>

■ 배열 : 동일한 타입의 여러개 데이터를 하나의 변수에 저장
 - 데이타를 관리할 목적으로 사용됨
 - 객체로 인식되기때문에 객체와 같이 선언, 생성, 값 할당을 해야 한다.
 - length라는 하나의 속성을 갖으며 배열의 개수를 표현
 - 배열의 개수는 생성할때 결정되며 한번 지정된 개수는 변경되지 않는다
    배열의 개수를 변경할때에는 다시 생성해야 한다.
 - 데이터의 구분은 index로 하며 자바의 모든 인덱스는 0부터 시작
 - 선언 :  DataType[]  id;    or   DataType id[] ;
      ex) int[] i ;    or int i[];
 - 생성 : id = new Datatype[size]; =>생성을 하면 값은 0으로 초기화 됨
      ex) i = new int[2];
 - 할당  : id[index] = value;         ex) i[0] = 10;
 - 생성된 배열 객체의 범위를 벗어난 인덱스를 접근하면 runtime시 에러 발생         
 ex)   int[] j = {1,2,3};
// System.out.println("j[2]:"+j[2]+ j[3]);  //ArrayIndexOutOfBoundsException발생
 - 사용중이던 배열의 개수를 늘리고자 할때 배열객체를 새로 생성해야 한다
    이때 기존 배열의 값을 System.arraycopy(~)를 이용해서 복사할수 있다.
    ex) int[]  kor={90,80,79,88,50};
        int[] kor2 = new int[7];
 for(int i=0; i<kor.length; i++)   kor2[i] = kor[i];

    => System.arraycopy(~)를 이용해서 복사
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
System.arraycopy(kor,0,kor2,0,kor.length);

반응형

'프로그래밍 > Java' 카테고리의 다른 글

상속,다형성,static,final, abstract  (0) 2009.01.21
오버로딩, 캡슐화,bean  (0) 2009.01.21
생성자와 this  (0) 2009.01.21
object와 클래스  (0) 2009.01.21
자바 기본 내용  (0) 2009.01.21