1. if문
if (조건식) { 조건식에 대해 true일 때 실행할 명령어; }
if (조건식) { 조건식에 대헤 true 일 경우; } else { 조건식에 대해 false 일 경우; }
if (조건식1) { 조건식1 에 대해 true 일 경우; } else if (조건식2) { 조건식2 에 대해 true 일 경우; } else if (조건식3) { 조건식3에 대해 true 일 경우; } else { 앞서 작성한 모든 조건식에 해당하지 않을 때 수행할 명령어; }
기본적으로 위와 같은 구조로 작성하고, 그 외 if문 안에 또 다른 if문을 추가한 중첩if문으로 활용 가능하다.
간단한 if문의 경우 삼항연산자를 활용해 구현할 수도 있다.
2. switch문
switch (조건식 ) { case 값1: 수행할 문장; break; case2 : 수행할 문장; break; case3 : 수행할 문장; break; defauel; 조건식의 결과와 일치하는 case문이 없을 때 수행할 문장; }
1. for문
for (초기식; 조건식; 증감식) { 조건식이 true일 동안 반복 수행할 문장; }
(1)초기식 > (2)조건식 > (3)수행할 문장 > (4)증감식 ... 의 순서로 조건식에 대해 false일 때까지 (2)~(4)가 반복되기 때문에 (1)초기식은 최초 한번만 실행된다.
2. while문
while (조건식) { 조건식이 true일 동안 반복할 문장; }
3. do~while문
do { 수행할 문장; } while (조건식);
while문의 조건식과 {}블럭의 순서를 바꾸어 {}의 명령어를 먼저 수행 후 조건식을 평가하는 구조로, 최소 한번은 명령어를 수행할 것이 보장된다.
4. break문 & continue문
✏️Quiz
(Q1) 윤년 계산 프로그램
Scanner sc = new Scanner(System.in);
System.out.println("연도를 입력하세요:");
int year = sc.nextInt();
// 키입력=>정수로
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
System.out.println(year + "==> 윤년입니다.");
} else {
System.out.println(year + "==> 평년입니다.");
}
(Q2)구구단 테이블
package ch04;
import java.util.Scanner;
public class MultiTable1 {
public static void main(String[] args) {
//키보드로 단을 입력
Scanner sc=new Scanner(System.in);
System.out.println("단을 입력하세요:");
int num = sc.nextInt();
for (int i = 1; i <= 9; i++) {
System.out.println(num + "x" + i + "=" + num * i);
}
}
}
(Q3) 운행거리 2km까지는 기본요금 4800원을 적용한다. 운행거리가 1.6km를 넘으면 131m마다 100원씩으로 계산한다.
운행거리: 3000m 일 때, 택시요금을 계산.
package quiz;
import java.util.Scanner;
public class Taxi {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("거리를 입력하세요(km):");
double km = sc.nextDouble();
double m = km * 1000;
int fee = 0;
if (m <= 2000) {
fee = 4800;
} else {
double temp = m - 1600;
fee = 4800 + (((int) Math.ceil(temp / 131.0)) * 100);
}
System.out.println("요금:" + fee);
}
}
(Q4) 랜덤 숫자 맞추기 게임
1~100 사이의 값을 반복적으로 입력하여 컴퓨터가 랜덤으로 생성한 값을 몇 회만에 맞췄는지 출력한다.
package quiz;
import java.util.Random;
import java.util.Scanner;
public class RandomNumber {
public static void main(String[] args) {
Random r = new Random();
int com = r.nextInt(100) + 1;
System.out.println("컴퓨터의 숫자:"+com);
Scanner sc = new Scanner(System.in);
int user;
int count = 0;
while (true) {
System.out.print("숫자를 입력하세요:");
user = sc.nextInt();
count++;
if (com == user) {
System.out.println("정답입니다.");
System.out.println(count + "회 시도");
break;
} else if (com > user) {
System.out.println("더 큰 수를 입력하세요.");
} else if (com < user) {
System.out.println("더 작은 수를 입력하세요.");
}
}
}
}
(Q5)섭씨온도를 화씨온도로 변환하는 프로그램
화면에서 섭씨온도를 입력받아 처리.
package quiz;
import java.util.Scanner;
public class Degree {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("섭씨온도를 입력하세요:");
double input = sc.nextDouble();
if (input == 0)
break;
double output = (input * 1.8) + 32;
System.out.println(output);
}
System.out.println("종료 되었습니다.");
}
}