강의 내용
[1] 선택문 : switch~case
[2] 반복문(loop) : for, foreach
[1] 선택문 : switch~case
주로 다중 선택에 사용하며, 선택한 하나만 동작한다.
수식과 일치하는 상수에 해당하는 case문이 실행된다.
다중 if문보다 간결하지만, 사용 영역은 if~else문에 비해 제한적이다.
예) 콘센트 : 스위치에 꼽은 콘센트만 전류가 흐름(선택한 스위치만 동작)
*break문 : switch문 밖으로 빠져나가게 하는 역할(없으면 다음 문장이 계속 실행된다)
*default문 : 일치하는 case문이 없을 때 실행되는 문장
switch(수식) {
case 상수1:
문장1;
break; // 필요할 때 사용(선택적)
case 상수2:
문장2;
break; // 필요할 때 사용(선택적)
default: // 필요할 때 사용(선택적)
문장N;
}
Q. switch ~ case 문을 활용하여 요일에 해당하는 운동을 출력하시오.
public class SwitchCaseTest { public static void main(String[] args) { // Q. switch ~ case 문을 활용하여 요일에 해당하는 운동을 출력하시오. String day = "Wednesday"; switch (day) { case "Sunday" : System.out.println("야구하기"); break; case "Monday" : System.out.println("농구하기"); break; case "Tuesday" : case "Wednesday" : System.out.println("수영하기"); break; default : System.out.println("휴식"); } } }
[2] 반복문(loop) : for, foreach
for
데이터를 효율적으로 처리하는 방법
반복을 하려면 언제부터 언제까지 반복할건지가 정해져야 함(반복하는 횟수가 정해진 경우에 사용)
초기식, 조건식, 증감식으로 구성되며, 세미콜론(;)으로 구분함
초기식은 처음 한 번만 수행되며, 조건식 → 반복할 문장 → 증감식이 반복적으로 수행된다.
조건식이 참이면 반복할 문장이 실행된다.
증감식에 따라 값이 증가하거나 감소된 후 조건식을 확인한다.
조건식이 거짓이되면 더 이상 반복을 하지 않고 반복문을 빠져나오게 된다.
(1) 초기식 : 초기값 지정
(2) 조건식 : 언제까지 반복할 건지에 대한 조건을 지정
(3) 증감식 : 데이터를 증가 or 감소시키는 식(조건식이 참인 동안만 반복)
for(초기식; 조건식; 증감식) { 반복할 문장; }
코드의 규칙을 찾으면 반복문을 작성하기 훨씬 수월해진다.
(1) 초기식 : 1(초기값)
(2) 조건식 : 10(<=10)(최종값)
(3) 증감식 : 1씩 증가
System.out.println(1); System.out.println(2); System.out.println(3); System.out.println(4); System.out.println(5); System.out.println(6); System.out.println(7); System.out.println(8); System.out.println(9); System.out.println(10);
foreach(향상된 for문)
컬렉션 안에 저장된 여러개의 데이터를 처리하기가 용이하다.
컬렉션에서 데이터를 하나씩 꺼내와 변수에 넣는다.
더 이상 꺼내올 게 없으면 반복문 밖으로 빠져나오게 된다.
*컬렉션 : 데이터가 여러개로 된 형태(컬렉트 : 모으다)
for(변수 : 컬렉션) {
반복할 문장;
}
Q. 반복문을 이용하여 알파벳 대문자와 아스키 코드 값을 출력하시오.
*char는 수치형 자료이므로 연산 가능
Q. int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 배열 원소를 향상된 for문으로 출력하시오.
public class ForLoopTest {
public static void main(String[] args) {
// Q. 반복문을 이용하여 알파벳 대문자와 아스키 코드 값을 출력하시오.
for (char c = 'A'; c <= 'Z'; c++) { // 대문자(char)
System.out.println(c + " : " + (int)c);
}
System.out.println(); // 줄바꿈
for (int i = 65; i <= 90; i++) { // 대문자(int)
System.out.println((char)i + " : " + i);
}
System.out.println(); // 줄바꿈
for (char c = 'a'; c <= 'z'; c++) { // 소문자(char)
System.out.println(c + " : " + (int)c);
}
System.out.println(); // 줄바꿈
for (int i = 97; i <= 122; i++) { // 소문자(int)
System.out.println((char)i + " : " + i);
}
// Q. int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; 배열 원소를 향상된 for문으로 출력하시오.
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i = 0; i < numbers.length; i++) { // for문
System.out.println(numbers[i]);
}
for (int num : numbers) { // 향상된 for문
System.out.println(num); // 배열에서 하나씩 꺼내 변수에 넣음
}
}
}
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.