문자열

hyo·2021년 9월 25일
0

나만의질문

목록 보기
2/2

나의해석 :
2번줄 if문안의 word1.length > word2.length 이 성립되면
우선 shortLen = word2.length 인상태로 , if문안의 또다른 if문으로 넘어가고 5번줄 if문이 성립되면 shortLen = word3.length 이고, 성립되지않으면 shortLen = word2.length 값으로 2번줄 if문 탈출하고 그대로 그아래에 else if 문으로 내려가서 else if문이 성립이 안되면 그대로
shortLen = word2.length 로 끝! else if문 성립하면 shortLen = word3.length 값으로 끝! return shortLen을 하면 가장 마지막 값으로 매겨진 word3.length의 값이 리턴!

9번줄 else if를 if로만 조건문을 만들면

이렇게 뜬다.
만약 word1.length = 6 , word2.length = 2 , word3.length = 3
일때, 코드에 넣어보면 2번줄if문 성립되고 그안의 if문은 성립되지않으므로
우선 shortLen = word2.length 이고 , 그아래로 내려가 9번 if문도 성립하므로 shortLen = word3.length이다. 오류를 읽어보면 3이출력된다.
2번if문의 shortLen= word2.length 는 무시되고 9번 if문을 거친 마지막 shortLen = word3.length의 값이 나왔다.

else if 를 쓰면 왜 맞는걸까????

if 문으로만 여러번 쓸경우 위에if문 성립된걸 무시하고 맨 마지막 if문 성립된 그 값이나옴
else if 는 말그대로 else if문 위에 있는 if문들이 아닐시 적용되는 조건문이므로 위에서 성립이 안되었을시 내려와서 else if문에 적용되어 성립되는지 안되는지 읽힘.
if , else if , else 는 순서대로 if문 성립 안되었을시 내려갈수 있는게 else if 그리고 else if문이 성립 안되었을시 최종적으로 else로 내려감
하지만 if만 여러개 쓰이는건 그 if 문 마다 return 값을 정하여
각각 따로 리턴할때 쓰이는거 같다.
위글에선 우선 변수를 선언해두고, if문안에 if문을 쓰고 그안에 return이 아닌 변수에 임시로 할당해두고(shortLen = word2.length 와같이) 조건문을 거쳐서 마지막 최종값을 return으로 반환함.

profile
개발 재밌다

0개의 댓글