결론부터 말하자면, break문은 break; 를 적어준 곳에서 해당 조건문 블록과 그 밖의 반복문 자체를 탈출한다. continue문은 해당 조건문 블록을 탈출하여 아래 명령문은 실행하지 않고, 다음 반복문 실행절차를 수행한다. 아래에서 좀 더 자세히 반복문을 탈출하는 break 문과 조건문을 탈출하는 continue 문에 대해 알아보자. break 와 continue 를 이용하면 개발자가 본인 임의로 반복문의 실행 흐름을 제어할 수 있다. break문 switch~ case 문에서 break문은 case의 실행문 수행 후 바로 해당 switch 블록을 빠져나가는 역할을 했다. 반복문에서도 마찬가지로 해당 블록을 빠져나하는 역할을 하며, break가 속한 반복문을 탈출한다. 다음 예시를 보자. 반복문은..
위와같이 main 에 throws Exception 해주지 않거나 try-catch 로 예외처리 하지 않으면 readLine() 메서드에 에러가 나는 이유가 갑자기 궁금해져 집요하게 파보았다. 사실 이런건 왜 발생하는가 보다 발생했을때 어디서 어떻게 처리할까 를 중점으로 고민하는것이 좋지만 어쩔수 없는 성격상 피치 못하게 파헤쳐 보게 되었다..ㅎㅎ 일단 IOException은 checkedException 이기 때문에 반드시 예외처리를 해야한다. readLine() 을 까보았다. 일단 리턴타입이 boolean 이다. synchronized(lock) 은 쉽게 동시에 호출되는것을 막아주는 메서드인데, lock을 걸고 한번에 한 사용자만 readLine 메서드에 접근해서 InputStreamReader가 열..
다음은 Scanner 프로그램을 구현하다 발견한 오류이다. 두가지 해결 방법을 찾았다. 오류 코드 예시: 오류 원인 : Scanner.nextInt() 메소드가 사용자가 입력한 enter(개행문자) 를 제거하지 않기 때문이다. 사용자는 콘솔창에 숫자입력 후 enter를 누르는데, 이때 nextInt() 가 숫자는 입력받고, 개행문자는 제거하지않은 채 그대로 남겨둔다. 남겨진 개행문자가 다음 scan.nextLine() 의 입력으로 처리되어 곧바로 개행되고, 위와같이 출력된다. 오류 해결 방법 : 해결방법 1 - scan.nextInt 후 scan.nextLine() 하기 전, scan.nextLine() 을 한번 더 작성하여 개행문자 제거 해결방법 2 - scan.nextLine() 로 읽어들인 후 In..
while while문은 for문과 같은 반복문이지만 구성요소의 배치가 다르다. while문은 비교적 형태는 간단하다. 형식은 다음과 같다. 변수 선언및 초기화; while ( 조건식 ) { 실행문 ; } for문에서 했던 0부터 100까지 출력하는 동일한 반복문을 while문으로 작성해보았다. while문은 위와같이 반복 수행할 변수를 while 문 위에 선언하고 초기화한다. 그리고 while문 괄호 안에는 조건식만 존재한다. 증감식과 실행문은 블록안에 작성한다. 실행 흐름은 다음과 같다. while 문의 실행흐름은 for 문과 거의 비슷하다. 1 에서 변수를 i 를 선언하고, 0으로 초기화했다. i = 0 인 상태로 while문에 진입한다. 2 에서 i 가 조건식 i
반복문은 이름 그대로 같은 명령문을 여러번 반복하기 위한 것이다. 반복문은 왜 필요할까? 예를 들어보자. 0부터 100까지를 출력하려고 한다. 지금까지 배운 바로는 System.out.println(0); System.out.println(1); System.out.println(2); System.out.println(3); . . . System.out.println(100); 이렇게 101번을 직접 작성해서 실행해야 할 것이다. 매우 비효율적이다. 이럴때 반복해서 실행할 명령문을 공식화하면 간단히 해결할 수 있다. 그래서 고안해낸 것이 반복문 이다. 우리가 0부터 100까지 출력하려고 할 때, 다음을 생각할 수 있다. 첫번째, 무엇을 반복 할 것인가? = 0~100 의 출력문을 반복 할 것이다. =..
개발자가 N진수를 알아야하는 이유 사람에겐 3과 5를 더하는 것이 익숙하기 때문에 주어진 수를 이용하여 바로 계산이 가능하지만, 컴퓨터는 그렇지 않다. 컴퓨터는 사람이 계산하는 방식과 다른 원리로 계산을 한다. 이 원리를 이해하기 위해서는 '진수' 라는 개념에 대한 이해가 필요하다. 진수란? 진법으로 나타내어진 수를 의미한다 n진법이란? 0부터 n개의 숫자를 사용해서 수를 표현하는 방법이다. 즉,0~ (n-1) 까지 표현한다. n진법으로 나타낸 수가 n진수이다. 이것을 알면 각 진법을 간단히 생각할 수 있다. 2진법이란, 0~1까지의 2개의 숫자를 사용해서 수를 표현한다. 8진법이란, 0~7 까지의 8개의 숫자를 사용해서 수를 표현한다. 16진법이란, 0~9 까지의 10개의 숫자를 사용하고 남는 자리는 ..