[3] JavaScript • 삼항연산자 (절대값, 최대값 구하기)

kangsun·2022년 8월 14일

JavaScript

목록 보기
3/9
post-thumbnail

📌 삼항연산자


  • [ (조건) ? 참 : 거짓 ]
    참/ 거짓 중 하나가 실행된다.
[단항, 이항 연산자]
let a=3;
document.write(a*-1);  //이항. -3   
document.write(-a);    //단항. -3
[삼항연산자 연습문제]

문1) 절대값을 구하시오 (양수값을 구하시오)
    let num=-5;
    let result=(num<0) ? num*-1 : num;
    
    document.write(num+ " 절대값: " + result);

    [문1 해설]
    let num=-5;
    let result=(num<0) ? num*-1 : num;
             // -5 <0   -5 * -1
             
    num은 -5
    num이 0보다 작다는 조건이 참이면? num * -1 : 틀리면 num 출력.
    -5는 0보다 작기때문에 참조건으로 가서 num * -1 식이 실행된다.
    따라서 결과는 -5가 출력된다.




문2-1) 세개의 수 중에서 가장 큰 값을 구하시오(최대값 구하기) - 양수값
    let x=7, y=5, z=9;
    let max=(x<y) ? y : x;
    max=(max<z) ? z : max;

    document.write("세개의 수 최대값: " + max);
    
    [문2 해설]
    let x=7, y=5, z=9;
    
    let max=(x<y) ? y : x;
          //(7<5)       7
          // max = 7
    max=(max<z) ? z : max;
        //7<9     9 
        
    1. 삼항연산자를 이용해 두개의 수를 먼저 비교한다.
   	2. y값이 큰가? -> X
    3. 거짓 -> X값이 max변수에 들어감.
	4. max보다 z값이 큰가? -> O
    5. z값이 max변수에 들어감.
    6. z=9 최대값 도출 완료~!
    
    
문2-2) 세개의 수 중에서 가장 큰 값을 구하시오(최대값 구하기) - 음수값
    let x=-7, y=-5, z=-9;

    let max=(x<y) ? y : x;
    max=(max<z) ? z : max;
    
  // 음수값으로 변경해도 최대값 도출된다.
profile
코딩 공부 💻

0개의 댓글