Java/Standard

Java/Standard

break 와 continue의 차이

결론부터 말하자면, break문은 break; 를 적어준 곳에서 해당 조건문 블록과 그 밖의 반복문 자체를 탈출한다. continue문은 해당 조건문 블록을 탈출하여 아래 명령문은 실행하지 않고, 다음 반복문 실행절차를 수행한다. 아래에서 좀 더 자세히 반복문을 탈출하는 break 문과 조건문을 탈출하는 continue 문에 대해 알아보자. break 와 continue 를 이용하면 개발자가 본인 임의로 반복문의 실행 흐름을 제어할 수 있다. break문 switch~ case 문에서 break문은 case의 실행문 수행 후 바로 해당 switch 블록을 빠져나가는 역할을 했다. 반복문에서도 마찬가지로 해당 블록을 빠져나하는 역할을 하며, break가 속한 반복문을 탈출한다. 다음 예시를 보자. 반복문은..

Java/Standard

BufferedReader의 readLine() 은 왜 throws Exception 해주어야할까?

위와같이 main 에 throws Exception 해주지 않거나 try-catch 로 예외처리 하지 않으면 readLine() 메서드에 에러가 나는 이유가 갑자기 궁금해져 집요하게 파보았다. 사실 이런건 왜 발생하는가 보다 발생했을때 어디서 어떻게 처리할까 를 중점으로 고민하는것이 좋지만 어쩔수 없는 성격상 피치 못하게 파헤쳐 보게 되었다..ㅎㅎ 일단 IOException은 checkedException 이기 때문에 반드시 예외처리를 해야한다. readLine() 을 까보았다. 일단 리턴타입이 boolean 이다. synchronized(lock) 은 쉽게 동시에 호출되는것을 막아주는 메서드인데, lock을 걸고 한번에 한 사용자만 readLine 메서드에 접근해서 InputStreamReader가 열..

Java/Standard

Scanner.nextInt() / nextLine() 오류 : 두가지 해결방법

다음은 Scanner 프로그램을 구현하다 발견한 오류이다. 두가지 해결 방법을 찾았다. 오류 코드 예시: 오류 원인 : Scanner.nextInt() 메소드가 사용자가 입력한 enter(개행문자) 를 제거하지 않기 때문이다. 사용자는 콘솔창에 숫자입력 후 enter를 누르는데, 이때 nextInt() 가 숫자는 입력받고, 개행문자는 제거하지않은 채 그대로 남겨둔다. 남겨진 개행문자가 다음 scan.nextLine() 의 입력으로 처리되어 곧바로 개행되고, 위와같이 출력된다. 오류 해결 방법 : 해결방법 1 - scan.nextInt 후 scan.nextLine() 하기 전, scan.nextLine() 을 한번 더 작성하여 개행문자 제거 해결방법 2 - scan.nextLine() 로 읽어들인 후 In..

Java/Standard

반복문 : while 과 do~while

while while문은 for문과 같은 반복문이지만 구성요소의 배치가 다르다. while문은 비교적 형태는 간단하다. 형식은 다음과 같다. 변수 선언및 초기화; while ( 조건식 ) { 실행문 ; } for문에서 했던 0부터 100까지 출력하는 동일한 반복문을 while문으로 작성해보았다. while문은 위와같이 반복 수행할 변수를 while 문 위에 선언하고 초기화한다. 그리고 while문 괄호 안에는 조건식만 존재한다. 증감식과 실행문은 블록안에 작성한다. 실행 흐름은 다음과 같다. while 문의 실행흐름은 for 문과 거의 비슷하다. 1 에서 변수를 i 를 선언하고, 0으로 초기화했다. i = 0 인 상태로 while문에 진입한다. 2 에서 i 가 조건식 i

Java/Standard

반복문 완전 기초 이해하기 : for문

반복문은 이름 그대로 같은 명령문을 여러번 반복하기 위한 것이다. 반복문은 왜 필요할까? 예를 들어보자. 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 의 출력문을 반복 할 것이다. =..

Java/Standard

2진수,8진수,16진수의 모든것

개발자가 N진수를 알아야하는 이유 사람에겐 3과 5를 더하는 것이 익숙하기 때문에 주어진 수를 이용하여 바로 계산이 가능하지만, 컴퓨터는 그렇지 않다. 컴퓨터는 사람이 계산하는 방식과 다른 원리로 계산을 한다. 이 원리를 이해하기 위해서는 '진수' 라는 개념에 대한 이해가 필요하다. 진수란? 진법으로 나타내어진 수를 의미한다 n진법이란? 0부터 n개의 숫자를 사용해서 수를 표현하는 방법이다. 즉,0~ (n-1) 까지 표현한다. n진법으로 나타낸 수가 n진수이다. 이것을 알면 각 진법을 간단히 생각할 수 있다. 2진법이란, 0~1까지의 2개의 숫자를 사용해서 수를 표현한다. 8진법이란, 0~7 까지의 8개의 숫자를 사용해서 수를 표현한다. 16진법이란, 0~9 까지의 10개의 숫자를 사용하고 남는 자리는 ..

hyeindev
'Java/Standard' 카테고리의 글 목록