상세 컨텐츠

본문 제목

자바강의 - [2주차] 자바 프로그래밍 자바기초(4)

Programming

by leediz 2022. 1. 31. 22:16

본문

자바강의 - [2주차] 자바 프로그래밍 자바기초(4)


조건문 - if문

  • 주어진 조건에 따라 다른 실행이 이루어 지도록 구현
  • 조건식과 실행될 하나의 문장 또는 블럭 또는 블럭 {}로 구성됨
  • if문은 조건이 참일 경우 수행되며 else는 조건이 참이 아닐 경우 수행됨
  • 예제 문법
if (조건식) {
  수행문1; // 조건식의 true일 때 수행될 문장들
} else {
  수행문2; // 조건식의 결과가 false일 때 수행될 문장들
}
  • 예제 코드
if (age >=8 ) {
    System.out.println("학교에 입학할 나이");
} else {
    System.out.println("아직 학교에 갈 나이가 아님");
}
  • 변수 age가 8 이상일 경우에는 “학교에 입학할 나이”라는 문구가 출력됨
  • 변수 age가 8보다 작을 경우 “아직 학교에 갈 나이가 아님”이라는 문구가 출력됨

조건이 여러 개 일 때의 if 문

  • 하나의 상황에 대한 조건이 여러 개로 나뉘고 각 조건에 다른 수행이 이뤄져야 할 경우를 사용
  • 예제 문법
if (조건식1) {
  수행문1; // 조건식1의 결과가 true일 때 수행될 문장들
} else if (조건식2) {
  // 조건식1의 결과는 false
  수행문2; // 조건식2의 결과가 true일 때 수행될 문장들
} else if (조건식3) {
  // 조건식1과 조건식2 결과는 false
  수행문3; // 조건식3의 결과가 true일 때 수행될 문장들
} else {
  수행문4; // 조건식의 결과가 모두 false일 때 수행될 문장들
}
  • 예제 코드
if (age < 8)  {
  System.out.println("미 취학 아동입니다.");
} else if (age < 14) {
  System.out.println("초등학생 입니다.");
} else if (age < 20) {
  System.out.println("중, 고등학생 입니다.");
} else {
  System.out.println("일반인 입니다.");
}
  • 변수 age가 8보다 작을 경우 “미 취학 아동입니다.”라는 문구가 출력됨
  • 변수 age가 8보다 같거나 크고 14보다 작을 경우 “초등학생 입니다.”라는 문구가 출력됨
  • 변수 age가 14보다 같거나 크고 20보다 작을 경우 “중, 고등학생 입니다.”라는 문구가 출력됨
  • 변수 age가 20보다 클 경우 “일반인 입니다.”라는 문구가 출력됨

조건이 여러 개일 때 간단히 표현되는 switch-case 문

  • if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현
  • if 문의 조건식과 달리, 조건식의 계산결과가 int타입의 정수와 문자열만 가능
  • 조건식의 계산결과와 일치하는 case문으로 이동 후 break문을 만날 때까지 문장들을 수행
  • break문이 없으면 switch문의 끝까지 진행
  • 일치하는 case문의 값이 없는 경우 default문으로 이동 (default문은 생략 가능)
  • case문의 값으로 변수를 사용할 수 없음(리터럴, 상수, 문자열 상수만 가능)
  • 예제 문법
switch (조건식) {
  case 값1:
    // 조건식의 결과가 값1과 같을 경우 수행될 문장들
  case 값2:
    // 조건식의 결과가 값1과 같을 경우 수행될 문장들
}

Java 14부터 지원되는 Switch Expression

  • 여러 조건을 쉼표로 구분하여 한 라인으로 처리할 수 있음
  • Switch 블록 내에서 계산된 값을 반환하는 yeield 라는 키워드 사용 가능
  • Switch 내에서 라벨이 일치하는 경우, case -> A 와 같은 형식으로 표현 가능
  • 예제 코드
int day = switch (month) {
  case 1, 3, 5, 7, 8, 10, 12 -> {
    System.out.println("한 달은 31일 입니다.");
    yield 31;
  }
  case 4, 6, 9, 11 -> {
    System.out.println("한 달은 30일 입니다.");
    yield 30;
  }
  case 2 -> {
    System.out.println("한 달은 28일 입니다.");
    yield 28;
  }
  default -> {
    System.out.println("존재하지 않는 달입니다.);
  }
}

반복문 - while 문

  • 조건식과 수행할 블럭{} 또는 문장으로 구성
  • 예제 문법
while (조건식) {
  수행문1; // 조건식이 참인 동안 반복 수행
}
  • 예제 코드
int num = 1;
int sum = 10;
while (num <= 10) {
  sum += num;
  num++;
}
  • 위 코드는 1부터 10까지의 합을 구하는 코드이다. 변수 num의 초기값이 1이므로 while 조건문에 참이 된다. 따라서 변수 sum은 0+1이되어 1이 되고, num은 2가 된다. 변수 num이 10이 될때까지 반복하므로 자연스럽게 1+ 2+ 3+ 4 + ... + 10까지 코드가 반복된다. 이후 변수 num이 11이 되므로 while문의 조건식에 맞지 않으므로 while문을 빠져 나가 다음 코드를 수행하게 된다.

반복문 - for 문

  • 초기화, 조건식, 증감식, 수행할 블럭{} 또는 문장으로 구성
  • 예제 문법
for (초기화; 조건식; 증감식) {
  // 조건식이 true일 때 수행될 문장들
}
  • 예제 코드
int count = 1;
int sum = 0;
for (int i = 0; i < 10; i++) {
  sum += count;
  count++;
}
  • 위 코드는 i가 0부터 시작해서 10보다 작을때까지 실행되며 한번 실행될 때마다 i의 값은 1씩 증가한다. 따라서 count가 1부터 10이될 때까지 실행되므로 1부터 10까지의 합을 구하는 코드가 된다. count의 값과는 별개로 i의 값이 0부터 9까지 실행되므로 정확히 10번만 실행되는 코드이다.

중간에 멈추는 break문

  • 자신이 포함된 하나의 반복문 또는 switch문을 빠져나옴
  • 주로 if문과 함께 사용해서 특정 조건을 만족하면 반복문을 빠져나옴

무시하고 계속 진행하는 continue 문

  • 자신이 포함된 반복문의 끝으로 이동 (다음 반복문으로 넘어감)

  • continue문 이후의 문장들은 수행되지 않음

  • break와 continue 예제 코드

참고자료


Java & SpringBoot로 시작하는 웹 프로그래밍 강의 : #패스트캠퍼스 #내일배움카드 #K디지털크레딧 #바이트디그리 #자바인강

댓글 영역