728x90
ch04. 흐름 제어문 (조건문과 반복문)
04-1. 조건문 : if문, switch문
🟦조건문
[if문]
: 조건식의 결과값 (T or F)에 따라 블록 실행 여부 결정
[if-else문]
: 조건식의 결과값이 T이면 if문 블록을, F이면 else문 블록 실행
[if-else if-else문]
: 조건식 여러 개인 경우 사용
: else if문 사용은 제한 없음
: 여러 조건식 중 T값 갖는 블록 내부를 실행하고, 모든 조건식이 F이면 else문 실행
<임의의 실수 뽑는 메소드>
**Math.random()메소드**
: 기본적으로 0.0 <= a < 1.0 사이 임의의 double 실수값 하나를 리턴
→ (1~10 사이의 정수 난수 반환받기)
int num = (int) (Math,random() *10) + 1; //1 <= num < 1+10 사이값 가짐
→ start부터 시작하는 n개의 정수 중에서 난수 얻기
int num = (int) (Math.random() * n) + start; // start <= num < start+num 사이값
→ 주사위 (1~6) 사이의 정수 난수 뽑기
int num = (int) (Math.random() * 6) + 1;
[switch문]
: 변수값에 따라 실행문을 선택 (변수값으로 char문자, string문자열타입도 가능)
: 코드 간결
: 각 case문 탈출할 break; 사용
: 모든 case에 일치값 없으면, default 블록 실행
04-2. 반복문 : for문, while문, do-while문
🟦반복문
[for문] | 반복 횟수를 알고 있을 때
for (초기식 ; 조건식 ; 증감식 ) {
실행문;
}
- for문 블록 내부에서 선언된 변수는 해당 블록 안에서만 유효한 ‘로컬 변수’
- 초기화식에서 루프카운터 선언 시, float타입(부동소수점 쓰는) 올 수 없다
- 0.1은 float타입으로 정확히 표현 못하므로 그냥 쓰지말 것
[중첩 for문] |
- 바깥 for문 1번 당/ 안쪽 for문 전체 반복
for(i=0; i<7; i++) {
//바깥 i에 대한
for( j=0; j<7; j++) { //안쪽 j 싹 돈다.
실행문;
}
}
[while문] | 조건식이 T인 동안만 내부 블록 실행
→ for문과 호환O
while(조건식) {
실행문;
}
[do-while문] | 우선 do문 실행 후, while문 조건식 판단하여, 반복 결정
do {
실행문;
} while (조건식);
🟦 분기문
[break문] : 블록 탈출
반복문(for, while, do-while문)과 switch문에서 사용
- 기본적으로 중첩 반복문에서 가장 가까운 블록 반복만 종료.
- 만약 중첩 반복문에서 가장 바깥 반복문까지 탈출 원하면
바깥쪽 반복문에 ‘이름:’ 붙여서 -> break 이름; 사용하면 된다.
**Outer:** for(char i = 'A'; i <= 'Z'; i++ ) {
for(char j = 'a'; j<= 'z'; j++) {
**break Outer;**
}
}
[continue문]
: 반복문(for, while, do-while문)에서만 사용된다.
: 반복문 내부에서, 특정 조건만 건너뛰고, 마저 남은 다음 반복을 수행한다.
728x90
'Java > [문법]_Java(자바)' 카테고리의 다른 글
ch06. 클래스 (0) | 2021.08.02 |
---|---|
ch05. 참조 타입 (0) | 2021.07.29 |
ch03. 연산자 (0) | 2021.07.29 |
ch02. 변수와 타입 (0) | 2021.07.28 |
ch01. 자바 시작하기 (0) | 2021.07.28 |