제어 흐름

대부분의 프로그래밍 언어와 마찬가지로, 자바에서 제어 흐름이란 프로그램이 실행되는 경로를 결정하는 분기반복 메커니즘을 의미한다

분기 메커니즘 특정 조건에 따라 코드의 실행 경로를 나누는 방법이다. 자바에서는 크게 두 가지 방식을 사용한다

  • if, else if, else: 조건의 참/거짓에 따라 실행할 블록을 결정한다
  • switch: 변수의 값에 따라 일치하는 case로 이동하여 실행한다

반복문 특정 코드 블록을 여러 번 반복해서 실행해야 할 때 사용하며, 세 가지 유형이 있다

  • while: 조건이 참인 동안 계속 반복한다
  • do-while: 코드를 최소 한 번 실행한 후, 조건에 따라 반복 여부를 결정한다
  • for: 주로 반복 횟수가 정해져 있을 때 사용한다

불리언 표현식 대부분의 분기문과 반복문은 불리언 표현식에 의해 제어된다

  • 결과값: 불리언 표현식은 계산 결과로 오직 true 또는 false 만을 가진다
  • 기본 타입: 자바의 기본 데이터 타입 중 하나인 boolean 역시 truefalse 두 가지 값만 가질 수 있다

문자열에 == 연산자 사용하기

자바에서 == 연산자가 문자열에 어떻게 작동하는지 명확히 이해해야 한다

기본 타입과의 비교: int, double 같은 기본 타입의 경우, ==를 사용하여 두 이 같은지 올바르게 확인할 수 있다

객체와의 비교: 하지만 String과 같은 객체에 ==를 적용하면, 값이 아닌 메모리상의 위치(주소)가 같은지를 비교하게 된다

  • 두 문자열의 내용이 “Hello”로 같더라도, 서로 다른 메모리 위치에 저장되어 있다면 ==false를 반환한다

해결책: 문자열의 내용(값)아 같은지 비교하려면 반드시 전용 메서드를 사용해야 한다

  • string1.equals(string2): 대소문자까지 완벽히 일치하는지 확인
  • string1.equalsIgnoreCase(string2): 대소문자 구분 없이 내용이 같은지 확인