자바 숏코딩

Programming/Java 2012. 10. 25. 17:01 |

이번 학기는 OCU 에서 자바수업을 듣고있다. 이래저래 창피하긴 하지만 졸업하기위해 학점 따려면...


그 자바수업에서 나온 중간고사 대체 과제라는것이 

1. 두 숫자를 입력받아서 작은숫자 출력하기.

2. 1~16을 출력하면서 4의 배수일때 4의배수라고 표시하기 이다.


두번째 문제를 해결하면서 Short circuit 을 이용해보았다.


for (int i = 1; i <= 16; i++) {
	out.printf("반복횟수 : %d", i);
	if(i%4==0){
		out.printf("(4의배수)");
	}
	out.printf("\n");
}

Short circuit 를 사용하면 위와 같은 평범한 코드를 아래와 같은 난해한 코드로 바꿀수 있다.

while (i < 16
		&& (++i % 4 == 0 
			& !out.printf("반복횟수 : %d", i).checkError() 
			&& out.printf("(4의배수)").checkError() 
			|| !out.printf("\n").checkError()
		)
	)



이것의 결과가 왜



이렇게 출력되는지 안다면 숏코딩에 대해 조금은 관심이 있었던 사람이라고 볼수 있겠다.


물론 코드가 짧아지진 않은것 같지만 말이다.

Posted by 동적할당
: