• 선택문
  • 반복문

# 0. 들어가기 앞서

 컴퓨터가 없어진지 벌써 1주일이 되었다. 과제를 하기 위해 안드로이드앱에서 지원해주는 자바 에디터도 활용해보았으나 이것은 도저히 사람이 쓸 것이 아니었다.

 1) 갤럭시탭의 Dex모드를 활용하여 Termux 앱 내에 우분투를 설치하고 누군가 만들어놓은 VSCode(웹서버) 를 설치해보았으나 java 관련된 extension 들은 설치할 수 없었다(이것만 해도 시간이 굉장히 오래 걸렸다;;;)

 2) 다음으로는 repl을 활용했지만 약간 이것은 전지구인들이 나의 미약한 코드를 본다는 생각에 아니라고 판단. 

 3) 결국 집에서 열심히 쉬고(?)있는 라즈베리파이(라즈비언lite... 아 젠장) 에 jdk 를 설치하여 HelloWorld를 찍어보았다. 하필 lite라니... GUI가 없다니......... 일단 뭐... 각종 설정하는 것에 한 6~8시간 정도를 소모한 것 같은데 와 "Hello World" 가 이렇게 반가울줄이야. 

  3-1) 어쨋든 IDE는 컴퓨터가 배송될 때 까지는 없다. 

  3-2) 이번주 과제가 2주 짜리인 것은 정말 감사한 일이다. (그전에 컴퓨터를 구할 수 있겠지?!?) 

 

#1 선택문 > 흐름을 제어(선택)하는 문 

 1.1) if - else if - else 문

: 조건으로는 boolean 값만 올 수 있음.

else if인 경우에는 첫번째 if에서는 이미 false 이고, else if의 조건식에서 true 가 해당하는 경우에만 else if 내부의 블록이 수행됨. 

else는 이도저도 다 false 인경우

 

 1.2)  switch 문 

: switch 의 조건식을 계산하여 해당 case 값과 일치하는 것을 선택함.

  . key가 중복된 경우, 먼저 일치하는 값으로 제어를 인도할 줄 알았으나 실제로는 컴파일 단계에서 중복이라고 출력됨 

  . fallthrough(break문이 없는 경우 계속 case문을 흝고 다님...) 하기 때문에, 의도적인 경우 주석으로 이를 알려주는 것이 매너!

코드 편집기 앱인데 정말 기능이 장난아니네;;;


#2 반복문 

for / while 문에 대한 것(+ continue문)은 주석 및 다른 자료를 참고해보면 좋을 듯하다. 

다만 여기서 짚고 넘어가고 싶은 것은 "break" 문이다. 

일반적으로 break문은 반복문을 탈출시키는데 사용되는데,  그렇다면 위에서의 switch 문은 반복문인가? 그것은 아닐 것이다. 

결과적으로 break문은 

   a. switch 문을 종료시키는 기능

   b. 반복문을 종료시키는 기능이 존재한다. 

 

While, For 문 
break문의 이중성(?)

예전에는 공부를 하면서, 그냥 당연한거다 라고 생각을 했었는데, 오히려 배워갈 수록 당연한건 없구나라는 생각이 늘어만 간다. 

 

+ Recent posts