while loop에는 두가지 종류가 있는데 하나는 while이 먼저 선언되는 일반적인 while loop이고, 또 하나는 condition이 선언되기 전에 do를 먼저 선언해서 조건에 맞지 않아도 무조건 적으로 최소 1번은 loop이 실행되는 do...while loop이 있다.
예를 들어
int i = 5; while (i < 10) { System.out.println(i); i++; };
위 코드는 일반적인 while loop이다. () 안에 있는 조건에 도달할때까지 반복되는 loop이다. 만약 위 loop의 condition이 (i < 5) 였다면 한 번도 실행되지 않을 것이다.
하지만,
int = 5; do { System.out.println(i); i++; } while (i < 5);
위와 같은 do...while loop은 do 다음에 나오는 while의 조건이 맞지 않음에도 불구하고 최소 한번은 실행된다.
break;와 continue; 문은 loop 이나 switch의 중간에서 빠져나오거나 건너뛸 때 사용된다.
for (let i = 0; i < 5; i++) { if (i == 2) { break; } System.out.println(i); }
위 같은 경우 for loop이 실행되는 도중 i == 2 가 되면 실행이 중지된다. 따라서 0과 1만 print하게 될 것이다.
아래는 continue;의 예제다.
for (let i = 1; i < 10; i++) { if (i == 7) { continue; } System.out.println(i); }
위의 경우 i==7 단계에서 해당 단계를 건너뛰고 나머지 loop을 완성할 것이다. 따라서 결과물은 7을 제외한 1, 2, 3, 4, 5, 8, 9 가 될것이다.
.toUpperCase() 는 string.toUpperCase();의 형태로 사용하여 해당 string을 대문자로 변환하여 반환하는 기능을 하는 메서드다. 그 반대의 기능으로는 .toLowerCase() 가 있다.
.join()의 경우 array를 반환할때 그 안에 한가지 이상의 element가 존재할 경우 각 element 사이에 ','를 추가해서 반환하게 되는데, .join() 메서드를 통해서 ',' 대신 space나 기타문자를 추가할 수 있다.
reduce() 매서드는 array안의 숫자들을 다 더할 수 있는 매서드다.
여기서 a의 위치는 accumulator, b의 위치는 currentValue 이다.
Array[0]는 accumulator가 되고 Array[1]은 currentValue가 된다. 둘의 합이 기존의 accumulator 였던 Array[0]를 대체하게되고, 다음 currentValue인 Array[2]가 Array[0+1]에 더해진다.