증감 연산자
타입 | 설명 | 사용 예 |
전위형 | 값이 참조되기 전에 증가 시킨다. | j = ++i; |
후위형 | 값이 참조된 후에 증가 시킨다. | j = i++; |
비트 연산자
| (OR) | 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다. 그 외에는 0을 얻는다. |
& (AND) | 피연산자 양 쪽이 모두 1이어야만 1을 결과로 얻는다. 그 외에는 0을 얻는다. |
^ (XOR) | 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 같을 때는 0을 얻는다. |
향상된 for 문
for ( 타입 변수명 : 배열 또는 컬렉션) {
// 반복할 문장
}
ex)
for (int = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
는 아래와 같음
for(int tmp : arr) {
System.out.println(tmp);
}
do - while문
while 문은 조건식의 결과에 따라 블럭{} 이 한번도 수행되지 않을 수 있지만, do - while 문은 최소한 한번은 수행될 것을 보장한다.
do {
// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
} while (조건식) ;
continue 문
continue 문은 반복문 전체를 벗어나지 않고 다음 반복을 계속 수행한다는 점이 break문과 다르다.
주로 if문과 함께 사용되어 특정 조건을 만족하는 경우에 continue문 이후의 문장들을 수행하지 않고 다음 반복으로 넘어가서 계속 진행하도록 한다.
이름 붙은 반복문
break문은 근접한 단 하나의 반복문만 벗어날 수 있기 때문에, 여러 개의 반복문이 중첩 된 경우에는 break문으로 중첩 반복문을 완전히 벗어 날수 없다.
이때는 중첩 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복을 건너뛸 수 있다.
System.arraycopy( )를 이용한 배열의 복사
배열의 복사는 for문보다 System.arraycopy( )를 사용하는 것이 효율적이다.
for (int i = 0; i < num.length; i++) { newNum[i] = num [i]; }
는 아래와 같이 쓸 수 있다.
System.arraycopy(num, 0, newNum, 0, num.lenght) ;
'JAVA' 카테고리의 다른 글
자바의 정석 공부 1~2단원 (0) | 2020.11.13 |
---|