본문 바로가기

자바스프링웹공부(2024)/자바스크립트

2024.07.30. 자바스크립트 - if, if-else, if-elseif-else

반응형

* if문

- 특정 조건에 따라 문장을 실행하는 조건문
- 자바에서의 if문과 거의 동일
- 조건식은 반드시 결과가 true 또는 false 인 식만 사용 가능하며, 변수 사용도 가능
- 단일 if문 :  if문에 주어진 조건을 판별하여 true 일 때 지정된 블럭 내의 문장들을 수행하는 if문

< 기본 문법 >
문장1;
if(조건식) {
// 조건식 판별 결과가 true 일 때 실행할 문장들...
문장2;
}
문장3;

=> 조건식 판별 결과가 true 일 때 : 문장1 -> 문장2 -> 문장3 순으로 실행됨
=> 조건식 판별 결과가 false 일 때 : 문장1 -> 문장3 순으로 실행됨(문장2 실행은 생략됨)

// =>주의! 맞기는 하지만. 이렇게 하면 연산을 두번한다. true면 true냐고 묻는 격이기 때문에 
//if(selected == true){ 

if(selected) { // 변수 하나만 써줘도 true로 인식함. 
	document.write("프로그램을 종료합니다.<br>");
}

 


 

* if ~ else 문

- if문에 주어진 조건 판별 후 true 일 경우 if 문 내의 문장을 수행하고,  false 일 경우 else 문의 문장을 수행하는 조건문
 

< 기본 문법 >
문장1;
if(조건식) {
// 조건식 판별 결과가 true 일 때 실행할 문장들...
문장2;
} else {
// 조건식 판별 결과가 false 일 때 실행할 문장들...
문장3;
}
문장4;

=> 조건식 판별 결과가 true 일 때 : 문장1 -> 문장2 -> 문장4 순으로 실행됨(문장3 생략됨)
=> 조건식 판별 결과가 false 일 때 : 문장1 -> 문장3 -> 문장4 순으로 실행됨(문장2 생략됨)


* if ~ else if 문(= 다중 else if 문)

- if문에 주어진 조건을 판별하여 true 일 경우 if 문의 블럭 내의 문장들을 수행하고,
  false 일 경우 다음 if 문(else if)의 조건을 판별 후 true 이면 else if 내의 문장들을 수행
  아니면 다음 if 문 조건을 계속 판별함
  => 만약, 모든 조건식의 판별 결과가 false 이면 else 문이 있을 경우 해당 블럭 문장 수행 (단, else 문은 생략 가능함)
- 주의! if문은 위에서부터 순서대로 조건을 판별하므로 else 문은 항상 가장 마지막 조건으로 기술해야한다!

< 기본 문법 >
if(조건식1) {
// 조건식1 판별 결과가 true 일 때 실행할 문장들...
} else if(조건식2) {
// 조건식1 판별 결과가 false 이고, 조건식2 판별 결과가 true 일 때 실행할 문장들...
} else if(조건식n) {
// 조건식1, 2 판별 결과가 false 이고, 조건식n 판별 결과가 true 일 때 실행할 문장들...
} else {
// 위의 모든 조건식 판별 결과가 false 일 때 실행할 문장들... (else 문은 생략 가능)
}

 

* 조건식의 순서 문제.

Q. num2 변수에 정수값 저장 후 "홀수!" "짝수!" "0" 판별하라.

// 조건식의 순서가 중요하다. 
let num2 = 1;

if(num2 % 2 == 0) {
	document.write (num2 + " : 짝수<br>")
} if(num2 == 0){ // 무조건 0이 나머지 중에 먼저 나오면 된다. 
	document.write (num2 + " : 0이다<br>")
} else  if(num2 % 2 == 1) {  
	document.write (num2 + " : 홀수.<br>")
} 
document.write("<hr>")
// 조건들의 순서가 중요함. 처음에 if 조건문에 홀/짝수를 모두 넣으면 0 이 판단이 안된다. 
// => 따라서 이런경우 짝수 판별 조건식보다 0 판별 조건식이 먼저 수행되어야 한다. (순서중요!!)

 

Q. 정수 1개를 입력받아 10 보다 작고 5보다 큰 수, 5 보다 작고 0보다 큰 수 판별하라.
     ex.  입력받은 정수 15 : 10보다 크다!
            입력받은 정수 7   : 10보다 작고 5보다  크다!

let num3 = ;
if(num3 >= 0) { // 입력받은 숫자가 0 이상일 경우	
	if(num3 > 10) {
		document.write(num3 + " : 10보다 크다!<br>");
	} else if(num3 >= 5) { // 5보다 크지않을때 else if 가 수행되므로 생략가능함. < 10
		document.write(num3 + " : 10보다 작고 5보다 크거나 같다!<br>");
	} else { //기본조건이 0이상이고 위의 조건에서 5보다 크지않으므로 5보다 작다 조건 생략가능함.
		document.write(num3 + " : 5보다 작고 0보다 크거나 같다!<br>");
	}	
} else { // 입력받은 숫자가 0보다 작을 경우
	document.write(num3 + " : 숫자범위를 벗어남.")
}
반응형