이 글은 백기선님의 라이브 스터디의 참여 및 학습 내용 정리를 위한 글입니다.
제어문이란 프로그램 실행의 흐름을 개발자가 의도하는 방향으로 바꿀 수 있도록 흐름을 제어할 수 있게 해주는 구문
제어문 종류
프로그램이 개발자가 의도한 조건에 따라 코드의 실행 흐름을 다르게 제어하는 구문
조건문 종류
사용법
if(조건식) { // 해당 조건식의 결과가 true일 경우에만 블럭 안에 내용 실행
// 조건을 만족할 경우 수행할 코드
}
조건문을 사용한 코드 예시를 보자, 변수를 조건에 만족할 때 문장을 출력하는 코드다
public class IfTest {
public static void main(String[] args) {
int a = 10;
// if 사용
if (a % 2 == 0) {
System.out.println(a + " 는 2의 배수입니다."); // a는 2의 배수이므로 해당 문장 출력
}
a = 13;
// if else 사용
if (a % 2 == 0) {
System.out.println(a);
} else {
System.out.println(a + " 는 2의 배수가 아닙니다."); // 13은 2의 배수가 아니므로 해당 문장 출력
}
a = 55;
// else if 사용
if (a < 0) {
System.out.println("음수입니다.");
} else if (a % 2 == 0) {
System.out.println(a + " 는 2의 배수입니다.");
} else {
System.out.println(a + " 는 음수도 2의 배수도 아닙니다."); // 해당 문장 출력
}
}
}
위 코드는 if 조건절만을 사용해서 구현해봤다. 다음은 switch
구문을 사용했다.
public class SwitchTest {
public static void main(String[] args) {
int a = 10;
int b = 2;
char op = '+';
switch(op) {
case '+':
System.out.println("a + b = " + (a+b)); // 해당 문장 출력
break;
case '-':
System.out.println("a - b = " + (a-b));
break;
case '*':
System.out.println("a * b = " + (a*b));
break;
case '/':
System.out.println("a * b = " + (a/b));
break;
default:
System.out.println("사칙 연산 연산자가 아닙니다.");
break;
}
}
}
switch문 사용시 참고 사항
1. switch 문의 표현식에서 다음과 같은 차이가 있다
특정 작업이 반복적으로 수행되길 원할때 사용하는 구문
반복문의 종류
사용법
// 1. 일반 for문
for (초기식; 종료 조건식; 증감식) {
// 반복 수행할 코드...
}
// 2. 향상된 for문
for (자료형 변수명 : 배열 or 컬렉션) {
// 반복 수행할 코드...
}
// 3. while문
while (조건식) {
// 반복 수행할 코드...
}
// 4. do-while
// do-while은 무조건 먼저 한번 실행하고, 조건식이 true일 경우 반복, false일 경우 벗어남
do {
// 반복 수행할 코드...
} while (조건식);
다음은 위 반복문들을 사용하는 예시 코드이다.
public class LoopTest {
public static void main(String[] args) {
int[] arr = new int[] {1, 2, 3, 4, 5};
// 1. 일반 for문 arr의 length 크기 만큼 반복
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 2. 향상된 for문
for (int data : arr) {
System.out.println(data);
}
int i = 0;
// 3. while 문
while (i < arr.length) {
System.out.println(arr[i]);
i++;
}
int j = 0;
// 4. do-while 문
do {
System.out.println(arr[j]);
j++;
} while (j < arr.length);
}
}
과제 사항 추가 예정..