제어문(control statement) - 프로그램의 흐름을 바꾸는 역할을 하는 문장
1. 조건문 - 조건에 따라 다른 문장 수행
2. 반복문 - 특정 문장을 반복해서 수행
1. 조건문 - if, switch
1.1 if 문
if(조건식) { // 조건식이 참(true 일 때 수행될 문장들을 적는다 }
조건식 구성요소 (비교연산자, 논리연산자)
하기 쉬운 실수 : 등가비교 연산자 == 대신 대입연산자 = 를 사용하는 경우 ,,
조건식의 결과는 반드시 true or false여야 한다.
블럭{} : 항상 해주자.
1.2 if-else문
if (조건식) { // 조건식이 참(true) 일 떄 수행될 문장을 적는다.
} else { // 조건식 이외의 경우 수행될 문장을 적는다.
}
1.3 if-else if
if(조건식1) { }
else if(조건식2) { }
else if(조건식3) { }
else { }
순차적으로 실행하고, 참인 조건식을 만나면 { } 을 수행한 뒤, if-else if 전체를 빠져나온다.
1.4 중첩 if문
if (조건식1) {
if(조건식2) {
else { }
} else {
}
if안에 또 if-else가 있는경우.
1.5 switch문
- 조건식을 계산한다
- 조건식의 결과와 일치하는 case문으로 이동한다.
- 이후의 문장을 수행한다.
- break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
- 만약 break문을 설정하지 않으면 아래 case로 넘어가서 수행한다. break;를 만날때까지
switch문의 제약조건
1. 조건식은 정수 또는 문자열이어야 한다. switch(정수, or 문자열)
2. case문의 값은, 정수 상수만 가능하며, 중복되지 않아야 한다. case ?:
Tip (Math.random())
0.0 <= Math.random() < 1.0
ex) 만약 1~3 사이의 정수를 구하기를 원한다면, 다음과 같은 과정으로 난수를 구하는 식을 얻을 수 있다.
1. 각 변에 3을 곱한다.
0.0 * 3 <= Math.random() *3 < 1.0*3
0.0 <= Math.random() *3 < 3.0
2. 각 변을 int형으로 변환한다.
(int) 0.0 <= (int)(Math.random())*3 < (int) 3.0
0 <= (int)(Math.random())*3 < 3.0
3. 각 변에 1을 더한다.
0 + 1 <= (int)(Math.random()) * 3 + 1 < 3 + 1
1 <= (int)(Math.random()) * 3 + 1 < 3 + 1
Tip ( 글자 N번째 빼가지고 오기)
Scanner scnr = new Scanner(System.in);
String radio = scnr.NextLine();
char channer = radio.charAt(N);
switch(channer)
case 1: case 2:
뭐 이런 식으로 사용할 수 있다.
switch문도 if문처럼 중첩으로 사용이 가능하다.
2. 반복문 - for, while, do-while
2.1 for문의 정리
for( 초기화 ; 조건식 ; 증감식 ) { 내용수행 }
초기화는 처음 한번만 쓰이고 조건식-> 내용수행 -> 증감식 - > 조건식의 true 판단 으로 반복이 계속 된다.
for(int i = 1; i<=5; i++){
내용
}
이러면 초기화식이 시행되고 나머지는 조건식 -> 내용수행->증감식
다시 조건식 -> 내용수행 -> 증감식 -> 조건식 맞나 확인
이런 식으로 계속 반복이 된다. 조건식이 참인 동안 계속 반복이 된다.
만약 for( ; ; ) 이렇게 다 생략이 된 경우에는 참으로 간주되어 무한반복문이 된다.
중첩반복문으로
for ( int i = 1; i<=5 ; i ++)
{ for(int j =1 ; j<=5; j ++){ 내용 } }
이렇게 사용하는 경우도 있고, 배열같은 경우 배열 컨트롤을 위해
for ( int i = j ; i<=count ; i++){ 내용 }
이런 식으로 해주는 경우도 있다. 그리고 배열에서 배열의 길이만큼 수행해주기 위해
int [] arr = {10,20,30,40,50};
for ( int i =0;i<arr.length; i++) 이런것처럼 length로 arr 이 가지고 있는 길이를 나타낼 수 있다.
2.2 while의 정리
while문은 조건식과 블럭{}만으로 이루어져있다.
조건식이 참(true) 인 동안, 조건식이 거짓이 될 떄까지 블럭내의 문장이 반복된다.
while문 총 정리.
while문의 주요 포인트이다.
1. 수행내용
2. 탈출구조
- while(조건식) { 내용 수행} 조건식이 i <=0, i-- <=0, i<=0 { i -- } 이런식으로 많이들 쓰인다.
- boolean flag; while(flag) { if ( ){} else flag = false;
- do { } while(조건)
- while(true){ if( ) break; }
이런식으로 빠져나가는 조건이 항상 존재하고, 그게 boolean타입이 되었든 while문 안의 if로 표현이 되어있다.
do{ } while() ; 조건식 후에 ; 달아주는 거 잊지 말자.
빠져나가는 거는 break; or continue가 있는데, break;는 해당 반복문을 빠져나간다. continue는 밑에는 생략하고 해당 반복문을 처음부터 다시 시작한다. 그리고 반복문에 이름을 붙여줄 수 있다. loop 1: while () 뭐 이런 식으로
그러면 빠져나갈 떄 break loop1; 이렇게 나가도 되고 해당부분부터 시작하고 싶으면 continue loop1 ; 이걸 만나면 loop1부터 다시 시작이 된다.
'Java(k)' 카테고리의 다른 글
Chapter 05. 배열 array (0) | 2022.02.12 |
---|---|
Chapter 02. 변수 variable (0) | 2022.02.10 |
Chapter 03 Operator (0) | 2022.02.10 |