본문 바로가기
인천일보아카데미/- 학습일지

[학습일지]JAVA교육일지 14일차

by w1z 2022. 5. 29.

9.4) 조건문

9.4.1 if, else, else if

* if 문

  • if 뒤에 소괄호( ) 안의 조건식이 참으로 평가되면 중괄호{ } 안의 코드를 실행하는 조건문
  • 숫자, 문자열, undefined, null 등 무엇을 써도 참/거짓으로 평가됨
if (조건식) {
조건식이 참이면 실행할 코드
}

- 블록/블록문/코드블록 : 한 개 이상의 js코드를 중괄호로 묶은 것

* else 문

  • if 문의 조건식이 거짓일 때 실행되는 블록문 정의
  • if문 없이 단독으로 사용할 수 없음
  • 하나의 if 문에는 하나의 else 문만 사용 가능
if (조건식) {
조건식이 참이면 블록문 실행
} else {
조건식이 거짓이면 블록문 실행
}

* else if 문

  • if 문에 조건을 추가하고 싶을 때 사용
  • else if 문의 개수에는 제한 없음
  • 항상 if 문 다음에 사용, else 문보다는 먼저 사용해야함
if (조건식1) {
조건식1이 참이면 블록문 실행
} else if (조건식2) {
조건식2가 참이면 블록문 실행
} else {
조건식이 모두 거짓이면 블록문 실행
}

* 중첩하기

  • 분기처리 : 어떤 조건식을 만족할 때 어떤 블록문을 실행할지 결정하는 것
  • if 문은 작성하려는 코드의 분기 처리에 따라 중첩해서 사용가능
  • 중첩 횟수 제한 없음

9.4.2 switch

  • switch 뒤에 오는 소괄호( ) 안의 값과 일치하는 case 문이 있을 때 해당 코드를 실행하는 조건문
  • 일치 여부 확인은 일치 연산자(===)를 사용한 비교 연산처럼 값과 자료형을 함께 비교
  • 하나 이상의 case 문과 default 문, break 문 사용
switch (key) {
case value1 :
key가 value1일 때 실행할 블록문
case value2 :
key가 value2일 때 실행할 블록문
break ;
default :
아무것도 일치하지 않을 때 실행할 블록문
break ;
}
  • break 문은 코드 실행을 멈춤
  • 실행되는 블록문은 break 문을 만나기 전까지 실행됨
  • default 문 : if 문의 else 문과 같음, 일치하는 case 문이 없으면 기본으로 실행되는 코드
  • 의도적으로 break 문을 생략하기도 함
  • case 문의 블록문이 비어있으면 break 문을 만날 때 까지 case 문 연속 실행
  • default 문은 생략가능
  • case문이나 default문 중 하나 이상은 있어야 함

9.4.3 if 문과 조건식 : 조건에 식을 사용, 논리 연산자나 비교 연산자를 식에 이용할 수 있음

9.4.4 if 문 vs switch 문

  • if 문 : 조건에 "식" 사용 / switch 문: 조건에 "값" 사용
  • switch 문은 조건으로 값을 받기 때문에 값이 범위일 때는 모든 값을 일일이 case 문으로 정의 해야함
  • 범위를 이용한 조건 작성에는 if 문이 적합
  • 값이 하나 일 때는 switch 문이 적합

9.5) 반복문(loop)

지정한 조건이 참(true)으로 평가되는 동안 지정한 블록문을 반복해서 실행하는 문법

while, do...while, for 문

9.5.1 while 문 : 특정 조건을 만족하는 동안 블록문 실행

while (조건식) {
조건식이 참이면 실행
}

9.5.2 무한 반복문

반복문의 조건이 계속 참으로 평가되어 반복문이 끝나지 않고 무한이 실행되는 것

끝나지 않는 반복문은 프로그램에 치명적인 성능 저하를 일으킬 수 있으므로 주의해야 함

9.5.3 do...while 문 : 특정 조건이 참으로 평가되는 동안 do 다음에 오는 블록문을 반복 실행

do {
블록문
} while (조건식) ;
  • 블록문을 한 번 수행한 우에 조건식 평가
  • 조건식이 거짓(false)로 평가되어도 do 블록문이 한번은 실행됨

9.5.4 for 문 : 횟수를 지정해 지정한 횟수가 끝날 때까지 블록문 반복 실행하는 반복문

조건식과 증감식이라는 독특한 실행 구조로 되어있음

for (초깃값; 조건식; 증감식) {
블록문
}
  • 초깃값→조건식→블록문(조건식이 참일 때)→증감식→조건식 순으로 실행됨
  • 초깃값은 최초 1회만 실행됨

* for 문 중첩하기

  • 기본이 되는 반복문은 가장 외부에서 실행되는 for문
  • 내부 for문은 외부 for 문의 실행이 종료되면 같이 종료됨
  • 가장 외부에 있는 for 문의 초깃값은 실행시 1번만 실행
  • 내부 반복문의 초깃값은 외부 블록문이 실행될 때마다 새로 설정됨

9.5.5 for 문과 배열

  • 배열과 같은 자료형을 반복 횟수 용도로 for 문을 사용할 수 있음
  • 배열에 length 속성 : 배열의 데이터 개수(배열의 길이) 확인

9.5.6 for...in

for (가변수 in 배열/객체 리터럴) {
블록문
}
  • for문의 소괄호( ) 안에 in 키워드, in 오른쪽에는 탐생대상이 되는 배열 또는 객체 리터럴, 왼쪽에는 배열 또는 객체 리터럴을 탐색해서 키를 저장할 가변수(임시 변수)

* 객체 리터럴을 반복할 경우

for...in 문으로 객체 리터럴 반복 탐색하면 탐색 결과로 가변수에 객체 리터럴의 키가 할당되어 객체 리터럴의 키와 값 출력

* 배열을 반복할 경우

(ex)

let arr = ["orange", "banana", "apple"] ;

for (let index in arr) {

console.log(index + ": " + arr[index]) ;

}

실행결과

0: orange

1: banana

2: apple

9.5.7 break 문

  • 종료 조건을 만족하지 않아도 인위적으로 반복문을 종료하는 방법
  • 반복문 내부에 break문을 바로 사용하지 않고 if 문으로 처리하는 것이 일반적
  • if (조건식) break ;

9.5.8 continue 문

  • 반복문을 건너뛰고 실행하라는 명령
  • 반복문의 블록문에서 continue문을 만나면 해당 반복 실행만 건너뜀

 


그대로 재현해보기 

팀원들 각자 서로 코드짜오고 맞춰보기 

6월 3일까지

보이는화면까지만