제어문
>의미
: 위에서 아래로 순차적으로 실행되는 코드의 흐름을 제어할 수 있음.
>구분
- 조건문
- 반복문
조건문
>의미
: 제어문 중 하나
: 코드의 흐름 중 원하는 코드만 실행시키게 하는 제어문.
>구분
- if문
- if...else문
- switch문
>if문
if (조건식) {
: 조건식이 참인 경우 실행됨.(=block)
: 조건식이 거짓인 경우 조건문 자체를 지나침.
}
>if...else문
if (조건식) {...}
else if (조건식) {...} : if문의 확장판
... : 원하는 만큼 else if로 구분 가능
else {...} : else의 block은 default값으로 생각. (생략 가능)
>switch문
if문과 다를게 없지만 이따금 가독성을 위해 사용할 필요가 있는 구문
switch (변수명) { //(변수명)의 타입으로는 int, char, String이 올 수 있음.
case 변수값1 : 변수명=변수값1일때, 실행되는 실행문;
break;
case 변수값2 : 변수명=변수값2일때, 실행되는 실행문;
break;
...
default : default 실행문; (생략 가능)
break;
} //enhanced switch문도 존재함.(우선은 존재만 알아두자)
-fall through
: switch문의 특징
: break로 하나의 case를 탈출하지 않으면 다음의 case까지 실행되는 특징. (잘 이용하면 편하게 사용가능)
반복문
>의미
: 제어문 중 하나
: 코드의 흐름 중 원하는 코드를 반복적으로 실행시키게 하는 제어문.
>종류
- for문 (+Enhanced for문)
- while문 (+do-while)문
>for문: 기본 for문
for(초기화; 조건식; 증감식){...}
-초기화: for문의 증감식에 사용할 변수의 초기화를 실행
-조건식: for문의 탈출 조건; 참인 경우에는 for문 반복, 거짓이 된 경우에는 for문 탈출
-증감식: for문의 초기화 조건이 탈출 조건을 충족하게 만들기 위한 식
-{...} : for문의 조건식이 참일 경우 실행되는 실행문.
-예시.
int sum = 0;
for(int i=0; i<10; i++){
sum += i;
System.out.println("출력: "+sum);
}
/*
출력: 0
출력: 1
출력: 3
*/
-고인물 예시1: 인자로 주어지는 값이 초기값과 같은 경우 아래와 같이 쓸 수 있음.
for(; num>1; num--){...} :num이 인자로 주어지며, 주어진 num의 값을 그대로 초기화 값으로 사용.
-고인물 예시2: compact for loop;
int sum = 0;
for(int i=0; i<3; sum += i++) System.out.println("출력: "+sum);
/*
출력: 0
출력: 0
출력: 1
*/
>for문: Enhanced for문
배열을 검색하는 목적의 for문
for(변수타입 변수명in실행문 : 배열참조변수){...}
변수타입: 블럭{...}에서 각각의 배열의 요소를 저장하는 변수의 타입
변수명in실행문: 블럭{...}에서 각각의 배열의 요소를 저장하는 변수명
배열참조변수: 검색할 배열을 참조하는 변수
예시.
int[] numSet = new int[]{1,2,3}; //배열 생성
for(int num : numSet){
System.out.println(num+"번 손님");
}
/*
1번 손님
2번 손님
3번 손님
*/
>while문: 기본 while문
(증감변수 초기화);
while(조건식){
실행문;
증감식;
}
: for문에서 '증감변수 초기화'와 '증감식'의 위치만 다른 반복문이다.
: 반복문 외부에서 증감변수를 초기화시키고 실행문 내부에서 증감식을 만든다.
: 조건식이 참일 경우 실행문이 실행되고, 거짓인 경우 탈출한다.
예시.
int num=0;
while(num<3){
System.out.println("출력: "+num);
num++;
}
/*
출력: 0
출력: 1
출력: 2
*/
>while문: do-while문
(증감변수 초기화);
do{
실행문;
증감식;
}while(조건식);
: while문과 같은 기능이지만 실행문(do)이 조건식보다 앞서는 구조를 가진 반복문.
: 실행문이 앞서기 때문에 조건식이 거짓이 되어 탈출하게 되어도 실행문이 먼저 실행됨.
: 즉, 무조건 최소 1회 실행이 이루어짐.
예시1.
int num=0;
do{
System.out.println("출력: "+num);
num++;
}while(num<3)
/*
출력: 0
출력: 1
출력: 2
*/
예시2.
int num=1;
do{
System.out.println("출력: "+num);
num++;
}while(num<1)
/*
출력: 1
*/
>break문
: break; 명령어를 입력
: 가장 가까운 반복문을 탈출함
: label을 이용하면 가장 가까운 반복문이 아닌, 원하는 반복문으로 탈출할 수도 있음.
>continue문
: continue; 명령어를 입력
: 다음 반복으로 넘어간다. 즉, 현재 증감문을 건너뜀.
'코드스테이츠_국비교육 > [Section1]' 카테고리의 다른 글
11_객체지향 프로그래밍 기초_22.09.02 (0) | 2022.09.02 |
---|---|
10_배열_22.09.01 (0) | 2022.09.02 |
08_Java의 기초.part(java, 변수, 타입, 문자열, 연산자, 콘솔 입출력)_22.08.30 (0) | 2022.08.30 |
07_Git의 기초_22.08.29 (0) | 2022.08.30 |
06_Linux의 기초_22.08.26 (0) | 2022.08.28 |