If문의 구조
if (조건1) { 만일 해당 조건1이 참이라면 명령1을 수행하자
명령1;
}else if(조건2) { // 조건1부터 순차적으로 확인하기 때문에 조건1이 참일땐 아래의 조건2,3,4는 확인하지 않음
명령2;
}else if(조건3){
명령3;
}else{ 위의 모두가 참이 아니라면
명령4; 명령4를 수행하자
예시
public static void test(int i) {
if ((i%2==0 && i%3==0)) {
System.out.println("2와 3의 배수입니다.");
} else {
System.out.println("2와 3의 배수가 아닙니다.");
}
tip) 조건은 true or flase 두가지 경우밖에 없다.
==,<,>,≤,≥, 등의 부등호를 통해 조건을 나타낼 수도 있고, 조건에 바로 true ,false값을 줘서 조건을 표시할 수도 있다.
Swith문의 구조
switch (식 또는 값 : 정수형,문자형,문자열) { //입력값과 같다면
case 값1:
case 값2:
case 값3: 해당 값으로 점핑한다. fall through 되어 아래의 값 모두 출력
case 값4:
break; //fall through를 막기위해 break를 걸어준다.
.
.
default: 위의 모두가아니라면 default 아래 명령을 실행한다. if의 else와 같은 역할.
예시
public static void main(String[] args) {.
String s = "한국";
switch(s) {
case "한국" :
System.out.println("korea");
break;
case "중국" :
System.out.println("china");
break;
case "일본" :
System.out.println("japan");
break;
}
while의 구조
1) 초기값
int i= 1;
2) 조건식
while (i<10) { //조건이 참인동안 명령을 수행한다.
system.out.println(i);
3) 증감식
i++;
}
do while 은 적어도 한번은 명령을 수행한다 .
do {
명령; // 일단 명령을 한번 수행하고 !
} while (조건) ; //while조건 검사
*초기값은 do에서 조건문은 생략된 채, 바로 출력문으로 노출된다.
do의 {}안에 들어가있는 증감식은 while의 조건에 충족될 때까지 진행된다.
위의 while문들과는 다르게 while(조건) 뒤에 ; 이 따라오며 while이 아니라 do에 출력문이 붙는다.
따라서 마지막 출력문은 while 조건이 끝난 후의 값을 출력하게된다.
예시
public static void forfor() {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.printf("%d, %d\n", i, j);
}
System.out.println();
}
}
//for 안에 for문이 있는 경우. 1) 1번for문에서 조건식에 초기값이 부합하면 노출된다. 2) 이후 1번for 문의 초기값과 함께 2번for문 안의 식이 모두 이루어진 후에야 3) 1번for문의 증감식이 다시 2번for문과 함께 진행된다.
```