조건문은 프로그램의 흐름을 참/거짓 조건에 따라 여러 갈래로 나누는 제어문의 한 종류. 주요 조건문으로는 if, if \~ else, if \~ else if \~ else, switch 등이 있다.
public class IfTest {
public static void main(String[] args) {
int num1 = 1;
int num2 = 2;
// 단순 if문
if(num1 < num2) {
System.out.println("num1은 num2보다 작다.");
}
// 조건이 거짓인 경우
if(num1 > 1) {
System.out.println("num1은 1보다 크다.");
}
// 중첩 if문
if(num1 > 0) {
if(num2 > 1) {
System.out.println("num1은 0보다 크고 num2는 1보다 크다.");
}
}
// 논리 연산자 && 활용
if(num1 > 0 && num2 > 1) {
System.out.println("num1은 0보다 크고 그리고 num2는 1보다 크다.");
}
// if ~ else
int var1 = 1, var2 = 2;
if(var1 > var2) {
System.out.println("var1이 var2보다 크다.");
} else {
System.out.println("var1이 var2보다 작다.");
}
// if ~ else if ~ else
int n1 = 1, n2 = 2, n3 = 3, n4 = 4;
if(n1 > n2) {
System.out.println("n1는 n2보다 크다.");
} else if(n2 > n3) {
System.out.println("n2는 n3보다 크다.");
} else if(n3 > n4) {
System.out.println("n3는 n4보다 크다.");
} else {
System.out.println("n4가 가장 크다.");
}
}
}
switch문은 주어진 조건값의 결과에 따라 case별로 프로그램 흐름을 나누는 조건문이다.
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
System.out.print("숫자 입력 : ");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.println("입력 숫자 : " + number);
switch(number % 2) {
case 0:
System.out.println("number는 짝수");
break;
case 1:
System.out.println("number는 홀수");
break;
default:
System.out.println("number는 숫자가 아님");
break;
}
}
}
반복문 for는 초기식, 조건식, 증감식으로 이루어진 반복문이다. 동일한 명령을 일정 횟수 반복해서 수행한다.
public class ForTest {
public static void main(String[] args) {
// 단순 for문
for(int i=0; i<10; i++) {
System.out.println("i : " + i);
}
// 1부터 10까지 합
int sum = 0;
for(int k=1; k<=10; k++) {
sum += k;
}
System.out.println("1부터 10까지 합 : " + sum);
// 1부터 10까지 짝수합
int tot = 0;
for(int k=1; k<=10; k++) {
if(k % 2 == 0) {
tot += k;
}
}
System.out.println("1부터 10까지 짝수합 : " + tot);
// for문 중첩
for(int a=1; a<=3; a++) {
System.out.println("a : " + a);
for(int b=1; b<=5; b++) {
System.out.println("b : " + b);
for(int c=1; c<=7; c++) {
System.out.println("c : " + c);
}
}
}
// 구구단 출력
for(int x=2; x<=9; x++) {
for(int y=1; y<=9; y++) {
System.out.println(x + " x " + y + " = " + (x*y));
}
}
// 별 삼각형 출력
for(int start=10; start>=1; start--) {
for(int end=1; end<=start; end++) {
System.out.print("★");
}
System.out.println();
}
}
}
while문은 특정 조건이 만족할 때까지 계속해서 명령을 수행하는 반복문이다. do-while문은 조건식과 상관없이 최초 한 번은 실행한다.