티스토리 뷰
4일차는 오후 개인면담 때문에 오전에만 수업을 진행했다. 수업내용은 연산자(Operator)에 관해 중점적으로 수업했고,
예외처리(Exception, IOException)의 개념과 System 객체 속의 System.in.read()의 개념도 공부했다.
특히 헷갈리는 부분이 있었는데
우리가 원하는 출력값은 abcdef .. 를 for문의 제어값 만큼 보여주는것이었고 char 타입의 c 변수에 'a'값을 넣어준 뒤
출력해보니까 원하는 값을 얻을 수 있었다.
여기서 헷갈리는 점이... 존재했는데 char c 값에 'a'가 들어가서 for문의 역할 때문에 'a' + 1이 반복적으로 실행되어 a -> b-> c-> d.. 순으로 커지는 건데 'a' 값에 integer 1을 더하면 'b'가 되는것이 'a'가 아스키코드로 97이기 때문에 97값에 1을 더한 98값이 'b'값으로 출력되는걸로 이해를 완료했다.
같은 맥락으로 c값에 '0'의 값으로 다시 초기화 해주면 순서대로 0,1,2,3,4,5,6,7.. >> 값이 출력되는것을 알 수 있다.
두 번째로 헷갈렸던 개념이 바로 전,후위 연산자였다.. 작년에 공부할 때도 헷갈리더니,, 그때 완벽히 숙지한줄 알았는데 숙지하지 못한듯싶다.. a라는 변수의 방을 만들어 10이라는 데이터를 배정한다. 그리고는 b라는 방을 만들고 데이터를 넣어주려고 봤는데, ++a의 전위 연산자가 등장했다면, 일단은 a의 값이 1 증가되어 a라는 변수의 방에 있던 10이라는 값은 11이되고 b방에도 마찬가지로 a의 초기값(10)에서 1이 증가된 11의 값이 들어가게 된다는것이다.
반대의 개념으로 후위 연산자는 a라는 방을 만들고 10이라는 값을 배정한다. 그리고는 b라는 방을만들고 a++ 값을 배정해야하므로 일단은 b에는 a값(10)이 배정되고 그 후에 a값을 11로 올리면 되니 최종적으로는 a의 방에 11이 존재하고 b방에 10이 존재하는 결과값이 남는다.
복합연산자의 개념은 프로젝트 당시에 많이 사용하려고 노력했기 때문에 많이 익숙해졌다. 복합연산자의 사용으로 시스템에 과부하를 주는것을 일부 방지할 수 있다고 한다.
public static void main(String[] args) throws Exception 예외처리 필수 구문은 Java에서 값을 입력해야 입력하고, 입력한 값을 사용하여 코드가 진행될 때 필수적으로 처리해야되는 것이다.
현재 a의 형태는 byte로 (1byte) b, c의 형태는 short로 (2byte)로 존재한다.
c의 값에 a + b의 값으로 초기화를 진행하면 integer의 형태로 계산되기 때문에 integer(4byte)보다 작은 short(2byte)에 들어가지 못하기 때문에, (int) c = a + b; 처럼 Casting 형 변환을 해야한다.