if (조건식) {
System.out.println("조건식의 결과가 true일때 실행.");
} else {
System.out.println("조건식의 결과가 false일때 실행.");
}
if (조건식1) {
System.out.println("조건식1의 결과가 true일때 실행");
} else if (조건식2) {
System.out.println("조건식2의 결과가 true일때 실행");
} else {
System.out.println("조건식의 결과가 모두 false일때 실행");
}
switch (변수){
case "A":
System.out.println("변수가 A일때 실행");
break;
case "B":
System.out.println("변수가 B일때 실행");
break;
default:
System.out.println("변수가 A,B모두 아닐때실행");
}
break가 있는 이유는 다음 case를 실행하지않고 switch문을 빠져나가기 위해서다.똑같은 실행문을 여러개 사용해아할때 for문을 사용하면 코드를 많이 줄일 수 있다.
int sum = 0
sum += 1;
sum += 2;
sum += 3;
sum += 4;
sum += 5;
System.out.println("1~5의 합" + sum);
-------------------------------------------------
int sum = 0;
for (int i = 1; i <=5; i++) {
sum += i;
}
System.out.println("1~5의 합" + sum);
위 코드대로 1부터 5의 합을 구하는 5개의 실행문을 짧게 줄일수있다. 1부터 100까지의 합을 구하는 문제였으면 100개의 실행문을 3줄로 줄여주는 유용한 코드다.
for문 속에 또 다른 for문이 들어갈 수 있다. 이것을 중첩 for문이라고 한다. 바깥쪽 for 문이 한번 실행될 때 안쪽 for문은 정해진 횟수만큼 반복하고 다시 바깥쪽 for문으로 돌아간다.
중첩 for문의 예제로는 구구단이 있다.
for (int i = 2; i <= 9; i++) {
for(int j = 1; j <= 9; j++){
System.out.println(i + "*" + j + "=" + i * j);
}
}
while문은 조건식이 true일 경우에 계속해서 반복한다.
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i;
i++;
}
System.out.println("1~100의 합" + sum);
for문은 루프카운트 변수i를 조건식에서도 선언할 수 있었지만 while문은 시작전에 while문 밖에서 선언해놓아야 한다.
조건식에 의해 반복 실행된다는 점에서 while문이랑 동일하다
차이점은 while문은 조건을 먼저 검사하고 do while문은 나중에 검사하는것 do while문은 실행문을 먼저 실행하고 결과에 따라 반복할지 정한다
do {
실행문;
} while(조건문); //실행을 한번 하고나서 조건문이 true일때 반복.
반복문의 실행을 중지할 때 사용된다 조건문인 switch문도 break문을 사용하여 중지한다.
continue는 반복문(for, while, do while)만 사용한다 블록내부에서 실행되면 for문의 증감식(i++,i--) 또는 while, do while문의 조건식으로 이동한다. break문처럼 실행되면 그 이후문장을 실행하지않지만 다른점은 continue문은 다시 반복문을 실행한다는 것이다.
while(true) {
int random1 = (int) (Math.random() * 6) + 1;
int random2 = (int) (Math.random() * 6) + 1;
System.out.println("1번 주사위 : " + random1 + " " + "2번 주사위 : " + random2);
if(random1 + random2 == 5){
break;
}
}
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println("");
}