Java

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

조건문 if~else 와 switch~case

프로그래밍 한다 는 것은 어떤 기능을 처리하기 위한 명령들을 구현하는 것이다. 프로그램을 실행한다는 것은 프로그램에서 구현한 명령들을 실행하는 것을 의미한다. 조건문은 명령문을 실행시킬 때, 특정 조건에 따라 다음에 실행할 명령문을 지정하기 위해서 사용한다. 조건문을 알면 프로그램의 실행 흐름을 조절할 수 있다. 조건문을 작성했을 때의 실행흐름은 아래와 같다. 조건문을 만났을때 조건을 검사해서 true이면 실행문1을 수행하고, false 이면 실행문2를 수행하게끔 구현한다. 좀 더 구체적인 예시를 들어보자. 개발자가 시험성적에 관련한 프로그램을 구현했다고 가정하자. 성적이 70점보다 높은 학생은 통과이고, 아닌 학생은 재시험 처리를 할 것이다. 이럴 때 조건문을 사용한다 같은 그림을 적용시켜 이해해보자...

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