if
if (조건식) {
조건식 참일 때 실행문;
}
if - else
if (조건식) {
조건식 참일 때 실행문;
} else {
조건식 거짓일 때 실행문;
}
if - else if - else
마지막 else 블록 생략 가능
if (조건식1) {
조건식1 참일 때 실행문;
} else if (조건식2) {
조건식2 참일 때 실행문;
} else {
조건식1, 2 거짓일 때 실행문;
즉, 위의 어느 조건식에도 만족하지 않을 때 수행
}
중첩 if
if (조건식1) {
조건식1 참일 때 실행문;
if (조건식2) {
조건식1, 조건식2 모두 참일 때 실행문;
} else {
조건식1 참, 조건식2 거짓 일때 실행문;
}
} else {
조건식1 거짓일 때 실행문;
}
if 조건문에서 실행할 문장이 하나면 {} 생략 가능
class Test {
public static void main (String [] args) {
int a = 2;
if (a >= 1) {
System.out.println("d");
}
// 생략 가능
int b = 2;
if (b >= 1)
System.out.println("d");
}
}
조건식 예
str.equals("yes"): 대소문자 구문
str.equalsIgnoreCase("yes"): 대소문자 구분 안 함
switch
if는 조건식 결과에 true/false만 가능, switch는 정수나 문자열만 가능
switch (조건식) {
case 값1:
조건식의 결과가 값1과 같을 경우 실행문;
break;
case 값2:
조건식의 결과가 값2와 같을 경우 실행문;
break;
....
default:
조건식의 결과와 일치하는 case 값이 없을 때 실행문;
}
for
초기화 시 변수 2개 사용 가능, 동일 타입만 가능
변수 2개를 사용하여 조건식 구성 가능
for (초기화; 조건식; 증감식) {
조건식의 결과가 참인 동안 동작할 실행문;
}
중첩 for
for (초기화; 조건식1; 증감식) {
조건식1의 결과가 참인 동안 동작할 실행문;
for (초기화; 조건식2; 증감식) {
조건식2의 결과가 참인 동안 동작할 실행문;
}
}
향상된 for
for (타입 변수이름 : 배열 or 컬렉션) {
배열 or 컬렉션의 길이만큼 동작할 실행문;
}
임의의 정수
Math.random(): 0.0 ~ 1.0 사이의 임의의 double 값 반환
(int)(Math.random() * (최댓값-최솟값+1)) + 최솟값
ex: -5 ~ 5 사이의 난수 20개 출력
class Random_test {
public static void main (String[] args) {
for (int i = 0; i < 20; i++) {
System.out.println((int)(Math.random() * 11) - 5);
}
}
}
while
while (조건식) {
조건식의 결과가 참인 동안 동작할 실행문;
}
do - while
* 처음 한 번은 무조건 실행
do {
조건식의 결과가 참인 동안 동작할 실행문;
} while (조건식);
break: 자신이 포함된 하나의 반복문을 벗어남
continue: 자신이 포함된 반복문의 끝으로 이동 후 다음 반복으로 넘어감, 전체 반복 중에 특정 조건 건너뛸 때 사용
반복문에 이름을 붙여서 하나 이상의 반복문을 벗어남
class Ggdan_test {
public static void main(String[] args) {
ggdan:
for (int i = 2; i < 10; i++) {
for (int j = 1; j < 10; j++) {
if (i == 5) {
break ggdan; // continue도 가능
}
System.out.println(i*j);
}
}
}
}
* Flowchart, Diagram 쉽게 그릴 수 있는 사이트