본문 바로가기

Java/Chapter 05. 실행 흐름의 컨트롤

(5)
[Java] 05.05 - 반복문의 중첩 들어가며 이번에는 반복문 관련하여 응용을 해보려고 한다. 우리는 이미 '하나의 문장 안에 다른 문장을 삽입할 수 있음'을 알고 있다. 예를 들면 for문 안에 if문을 삽입하는 경우이다. 마찬가지로 for문 안에 while문도, do ~ while문도 그리고 for문도 삽입할 수 있다. 이처럼 하나의 반복문 안에 다른 반복문이 삽입된 경우를 가리켜 '반복문의 중첩'이라고 한다. 생각해 볼 수 있는 중첩의 종류는? 반복문의 종류가 3가지 이니, 도출되는 경우의 수는 9가지 형태다. for + for for + while for + do ~ while while + for while + while whlie + do ~ while do ~ while + for do ~ while + while do ~ wh..
[Java] 05.04 - break & continue 들어가며 break와 continue는 실행 흐름의 조절을 목적으로 반복문 내에 삽입되는 키워드이다. 따라서 이 둘을 적절히 활용하면 다양한 흐름을 보이는 반복문을 구성할 수 있다. break문 break문은 앞서 switch문을 빠져나가는 용도로 소개한 바 있는데, 마찬가지로 반복문을 빠져나가는 용도로 사용된다. 보통은 if문ㅇ과 함께 사용되어 특정 조건이 만족 될 때, 이를 감싸는 반복문을 빠져 나가도록 구성이 된다. 이와 관련하여 다음 예제를 보자. public class temp { public static void main(String[] args){ int num = 1; boolean search = false; while (num < 100){ if (((num % 5) == 0) && (..
[Java] 05.03 - for, while 그리고 do ~ while 들어가며 앞서 소개한 컨트롤 문장들은 조건에 따른 코드의 '선택적 실행'을 위한 것들이다. 그러나 지금부터 소개하는 컨트롤 문장들은 조건에 따른 코드의 '반복 적 실행'을 위한 것들이다. 반복문 - while while문의 동작 방식을 이해하는 것은 if문을 이해하는 것만큼이나 쉽다. 따라서 간단한 예제와 그 실행 결과를 통해서 관찰할 수 있는 기회를 먼저 제공하겠다. public class temp { public static void main(String[] args){ int num = 0; while (num < 5){ System.out.print(num + " "); num++; } } } /* 실행 결과 0 1 2 3 4 */ 실행 결과를 관찰해보면 while문 안에 위치한 두 문장이 총 5..
[Java] 05.02 - switch와 break 들어가며 이어서 소개하는 switch문도 조건에 따라 실행할 문장을 구분한다는 측면에서 if ~ else if ~ else 문과 유사하다. 실제로 이 문장을 대체하는 용도로 사용이 된다. 특히 중간에 else if가 많이 들어가는 상황에서는 switch문이 더 좋은 선택이 될 수 있다. switch문의 기본 구성 다음 그림은 switch문의 기본 구성을 보여준다. 이렇듯 switch문은 switch, case 그리고 default로 이뤄진다. 위 그림에 존재하는 키워드 case와 default를 가리켜 '레이블(Label)'이라 한다. 레이블이라고 하면 생소하게 느낄 수 있다. 그러나 다음과 같이 말하면 친근하게 느껴진다. '라벨(Label)' 다음 그림은 문구점에서 구입이 가능한 라벨(레이블)이다. 흔..
[Java] 05.01 - if 그리고 else 들어가며 특정 조건이 만족될 때에만 실행하고픈 문장이 있다면 if 키워드를 사용하면 된다. 그리고 2개의 문장 중 조건에 따라 하나만 실행하고 싶다면 거기에 else를 더 추가하면 된다. if 문과 if ~ else 문 if 문과 if ~ else 문이 제공하는 기능을 스스로 파악할 수 있도록 예제를 하나 제시하겠다. public class temp { public static void main(String[] args){ int n1 = 5; int n2 = 7; // if 문 if (n1 < n2){ System.out.println("n1 < n2 is true"); } // if ~ else 문 if (n1 == n2){ System.out.println("n1 == n2 is true"); } ..