if (조건식) {
//조건식이 참(true)일 때 수행될 문장들을 적는다.
}
if (조건식) {
// 조건식이 참(true)일 때 수행될 문장들을 적는다.
}
esle {
// 조건식이 거짓(false)일 때 수행될 문장들을 적는다.
}
if (조건식1) {
// 조건식1의 연산결과가 참(true)일 때 수행될 문장들을 적는다.
} else if (조건식2) {
// 조건식2의 연산결과가 참(true)일 때 수행될 문장들을 적는다.
} else if (조건식3) {
// 조건식3의 연산결과가 참(true)일 때 수행될 문장들을 적는다.
} else{
// 위의 어느 조건식도 만족하지 않을 때 수행될 문장들을 적는다.
}
switch(조건문) {
case 1:
//조건문의 연산결과가 1일 때 수행될 문장들을 적는다.
break;
case 2:
//조건문의 연산결과가 2일 때 수행될 문장들을 적는다.
break;
default:
//case가 없는 조건식 결과일 때 수행될 문장들을 적는다.
break;
}
switch문의 처리 방법
- 조건식을 계산한다.
- 조건식의 결과와 일치하는 case문으로 이동한다.
- 이후의 문장들을 수행한다.
- break문이나 switch문을 만나면 전체 switch문을 빠져나가게 된다.
switch문의 제약조건
- switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
- case문의 값은 정수 상수만 가능하며, 중복되지 않아야 한다.
Math.random()을 사용하면 난수(임의의 수)를 얻을 수 있다.
0.0 <= Math.random() < 1.0
만일 1부터 50 사이의 정수를 구하기를 원한다면
int num = (int)(Math.random() * 50) + 3;
for(초기화; 조건식; 증감식) {
// 조건식이 참일 때 수행될 문장들을 적는다.
}
- 초기화가 수행된다.
- 조건식이 참이면
- 수행될 문장들이 수행된다.
- 수행될 문장들이 수행된 후 증감식이 수행된다.
- 반복되다가 조건식이 거짓이되면 for문 전체를 빠져나가게 된다.
for(int i = 1; i <= 10; i++) {...} // 변수 i 의 값을 1로 초기화한다.
for(int i = 1, j = 0; i <= 10; i++) {...} // int타입의 변수 i와 j를 선언하고 초기화
for(int i = 1, j = 10; i <= 10; i++, j--) {...} // i는 1부터 10까지 증가, j는 10부터 1까지 감소
Scanner scanner = new Scanner(System.in);
String tmp = scanner.nextLine(); //화면을 통해 입력받은 내용을 tmp에 저장
int num = Integer.parseInt(tmp); //입력받은 문자열 tmp를 숫자로 변환
for(타입 변수명 : 배열 또는 컬렉션) {
// 반복할 문장
}
while (조건식) {
//조건식의 연산결과가 참(true)인 동안, 반복될 문장들을 적는다.
}
do {
//조건식의 연산결과가 참일때 수행될 문장들을 적는다.
} while (조건식); // 끝에 ';'을 잊지 않도록 주의
while(true) {
if(sum > 100)
break; // if문이 성립되면 while문을 벗어난다.
++i;
sum += i;
}
for(int i = 1; i <= 10; i++) {
if(i % 3 == 0)
continue; // 조건식이 참이 되어 continue문이 수행되면 블럭의 끝으로 이동한다.
System.out.println(i);
}
실행결과 -> 1 2 4 5 7 8 10
outer:
for(int i = 2; i < 10; i++) {
for(int j = 1; j <= 9; j++) {
if( J == 5)
break outer;
System.out.println(i + "*" + j + "=" + i*j);
}
System.out.println();
} //end of outer
실행 결과 -> 2*1=2 \n 2*2=4 \n 2*3=6 \n 2*4=8