대표적으로 조건문과 반복문이 있다.
true
이면 주어진 명령문을 실행, false
라면 아무것도 실행하지 않는다.if(조건식) {
// 조건식의 결과가 참일 때 실행하고자 하는 명령문;
}
int man = 25;
if(man > 19) {
System.out.println("man은 성인입니다.");
}
// if문에서 실행될 명령문이 한 줄이라면 중괄호를 생략 가능
if(man <= 19) System.out.println("man은 성인이 아닙니다.");
false
일 때 else에 주어진 명령문을 수행if(조건식) {
// 조건식의 결과가 참일 때 실행하고자 하는 명령문;
} else {
// 조건식의 결과가 거짓일 때 실행하고자 하는 명령문;
}
int man = 25;
if(man > 19) {
System.out.println("man은 성인입니다.");
} else {
System.out.println("man은 성인이 아닙니다.");
}
if (조건식1) {
// 조건식1의 결과가 참일 때 실행하고자 하는 명령문;
} else if (조건식2) {
// 조건식2의 결과가 참일 때 실행하고자 하는 명령문;
} else {
// 조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 명령문;
}
switch (조건 값) {
case 값1:
// 조건 값이 값1일 때 실행하고자 하는 명령문;
break;
case 값2:
// 조건 값이 값2일 때 실행하고자 하는 명령문;
break;
...
// default 절은 반드시 존재해야 하는 것은 아니다.
default:
// 조건 값이 어떠한 case 절에도 해당하지 않을 때 실행하고자 하는 명령문;
break;
}
while(조건식) {
// 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
}
int i = 1;
while (i <= 5) {
System.out.println(i);
i++; // 이 부분이 없으면 무한 루프 (0은 항상 5보다 작기 때문에)
}
// 결과
1
2
3
4
5
do {
// 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
// 한번은 무조건 실행된다.
} while (조건식);
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int input = 0;
do {
System.out.print("0부터 10 사이 숫자를 입력해주세요. : ");
input = sc.nextInt();
if(input < 0) System.out.println("0보다 커야합니다.");
if(input > 10) System.out.println("10보다 작아야합니다.");
} while (input < 0 || input > 10);
System.out.println("입력하신 숫자는 : " + input);
}
}
// 출력
0부터 10 사이 숫자를 입력해주세요. : 12
10보다 작아야합니다.
0부터 10 사이 숫자를 입력해주세요. : -1
0보다 커야합니다.
0부터 10 사이 숫자를 입력해주세요. : 3
입력하신 숫자는 : 3
for (초기식; 조건식; 증감식) {
// 조건식의 결과가 참인 동안 반복적으로 실행하고자 하는 명령문;
}
for(;;) { // 이때 for문을 구성하는 초기식, 조건식, 증감식은 각각 생략이 가능하다.
// 무한 반복문
}
**********
**********
**********
**********
**********
// 1번 - 5번 출력하기
System.out.println("**********");
System.out.println("**********");
System.out.println("**********");
System.out.println("**********");
System.out.println("**********");
// 2번 - for문 활용
for(int i = 1; i <=5; i++) {
System.out.println("**********")
}
// 3번 - 중첩 for문 활용
for(int i = 1; i <=5; i++) {
for(int j = 1; j <= 10; j++) {
System.out.println("*"); // 별 10개 출력
}
System.out.println(); // 줄바꾸기
}
for(타입 변수이름 : 배열이나 컬렉션 이름) {
// 배열의 길이만큼 반복적으로 실행하고자하는 명령문;
}
int[] arr = new int[] {1,2,3,4,5};
for(int e : arr) {
System.out.print(e + " ");
}
// 출력
1 2 3 4 5
int[] arr1 = new int[]{1, 2, 3, 4, 5};
int[] arr2 = new int[]{1, 2, 3, 4, 5};
for (int i = 0; i < arr1.length; i++) {
arr1[i] += 10; // 각 배열 요소에 10을 더함.
}
for (int e : arr2) {
e += 10; // 각 배열 요소에 10을 더함.
}
// 결과
첫번째 반복문
11 12 13 14 15
두번째 반복문
1 2 3 4 5
http://www.tcpschool.com/java/java_control_condition
http://www.tcpschool.com/java/java_control_loop
http://www.tcpschool.com/java/java_control_etc
자바의 정석 기초편