728x90
프로그램
- 수많은 문장의 집합
- 명령어들이 미리 정해진 제어의 흐름에 따라 실행(위 > 아래)
제어문
- 그 흐름을 통제하는 명령어
- 조건 제어, 반복 제어, 분기 제어
- 알고리즘
1. 조건문
- 개발자가 조건을 제시한 후 프로그램 흐름을 제어한다.
a. if
b. switch
2. 반복문
- 특정 코드를 개발자가 원하는 횟수만큼 반복 실행한다.
a. for
b. while
c. do while
d. for
3. 분기문
- 개발자가 코드의 흐름을 원하는 곳으로 이동한다.
a. break
b. continue
c. goto(JDK 1.5 폐기)
1.a 조건문
- 조건을 제시 후 프로그램 흐름을 제어한다.
- 조건식 > boolean 값을 가진다.
- 기본 조건문 양식
if문
- 조건을 제시 후 프로그램 흐름을 제어한다.
- 조건식 > boolean 값을 가진다.
기본 조건문
if (조건식) {
실행문;
}
if (조건식) {
실행문;
} else {
실행문;
}
if (조건식) {
실행문;
} else if (조건식) {
실행문;
}
if (조건식) {
실행문;
} [else if (조건식) {
실행문;
}] * N
[else {
실행문;
}]
[] : 사용해도 되고, 생략해도 된다는 의미.
* N : 횟수 마음대로 할 수 있다는 의미.
- if문 예제
public static void m2() {
//요구사항] 나이를 입력받아 성인, 미성년자인지 출력하시오.
Scanner scan = new Scanner(System.in);
System.out.print("나이를 입력하세요 : ");
int age = scan.nextInt();
System.out.println(age >= 19 ? "성인" : "미성년자");
if (age >= 19) {
System.out.println("성인입니다.");
} else {
System.out.println("미성년자입니다.");
}
}//m2
public static void m3() {
//요구사항] 직장인, 출근, 기상시간 입력, 교통수단 결정
Scanner scan = new Scanner(System.in);
System.out.print("몇시에 일어나셨습니까?(시) : ");
int hour = scan.nextInt();
if(hour <= 6) {
System.out.println("지하철을 타고 출근합니다.");
} else if(hour <= 7) {
System.out.println("버스를 타고 출근합니다.");
} else if(hour <= 9) {
System.out.println("택시를 타고 출근합니다.");
} else {
System.out.println("이미 늦었습니다. 휴가를 씁니다.");
}
}//m3
public static void m4() {
Scanner scan = new Scanner(System.in);
int sum = 0; //누적 변수
//설문조사
System.out.println("A. 무슨색을 좋아합니까?");
System.out.println("1. 노란색");
System.out.println("2. 빨간색");
System.out.println("3. 파란색");
System.out.print("선택 : ");
int sel = scan.nextInt();
if (sel == 1) {
sum += 10;
} else if (sel == 2) {
sum += 5;
} else if (sel == 3) {
sum += 3;
}
System.out.println("B. 어떤 언어를 선호합니까?");
System.out.println("1. JAVA");
System.out.println("2. C#");
System.out.println("3. Python");
System.out.print("선택 : ");
sel = scan.nextInt();
if (sel == 1) {
sum += 5;
} else if (sel == 2) {
sum += 10;
} else if (sel == 3) {
sum += 3;
}
System.out.println("완료되었습니다.");
System.out.println("[결과]");
if (sum > 15) {
System.out.println("당신은 진취적인 개발자입니다.");
} else if (sum <=15 && sum >=10) {
System.out.println("당신은 평범한 개발자입니다.");
} else {
System.out.println("다른일을 찾아보세요~");
}
}//m4
1.b switch 문
- 정수, 문자, 문자열을 입력 받을 수 있음.
- 기본 조건문 양식
switch문, switch case문
switch(조건) {
case 값:
실행문;
break;
[case 값:
실행문;
break;] x N
[default:
실행문;
break;]
}
- switch문 예제
public static void m2() {
//요구사항] 자판기
//- 메뉴 출력 > 음료 선택 > 가격 출력
//- 가격 인상 > 사이다 700원 > 앞으로 계속 콜라와 사이다는 동일한 가격으로 유지
//- 800원으로 인상
Scanner scan = new Scanner(System.in);
System.out.println("======================");
System.out.println(" 자판기");
System.out.println("======================");
System.out.println("1. 콜라");
System.out.println("2. 사이다");
System.out.println("3. 비타500");
System.out.println("----------------------");
System.out.print("선택(번호를 입력하세요) : ");
String input = scan.nextLine();
// if(input.equals("1")) {
// System.out.println("800원 입니다.");
// } else if (input.equals("2")) {
// System.out.println("800원 입니다.");
// } else if (input.equals("3")) {
// System.out.println("500원 입니다.");
// }
if(input.equals("1") || input.equals("2")) {
System.out.println("800원 입니다.");
} else if (input.equals("3")) {
System.out.println("500원 입니다.");
}
// switch (input) {
// case "1" :
// System.out.println("800원 입니다.");
// break;
// case "2" :
// System.out.println("800원 입니다.");
// break;
// case "3" :
// System.out.println("500원 입니다.");
// break;
// }
switch (input) {
case "1" : //이렇게 되면 case 1과 2가 하나의 블럭을 공유하게 되는 것임.
case "2" :
System.out.println("800원 입니다.");
break;
case "3" :
System.out.println("500원 입니다.");
break;
}
}//m2
public static void m3() {
//요구사항] 사용자가 월을 입력 > 해당 월의 마지막 일?
int lastDate = 0;
int month = 5;
switch (month) {
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
lastDate = 31;
break;
case 2:
lastDate = 28;
break;
case 4 :
case 6 :
case 9 :
case 11 :
lastDate =30;
break;
}
System.out.printf("입력한 %d월의 마지막 날짜는 %d일입니다.\n", month, lastDate);
}
public static void m4() {
//요구사항] 인터넷 쇼핑몰 > 상품 구매 > 옵션(패키지)
//1. 노트북
//2. 노트북 + 마우스 패드
//3. 노트북 + 마우스 패드 + 웹캠
Scanner scan = new Scanner(System.in);
System.out.print("선택: ");
int input = scan.nextInt();
switch (input) {
case 3 :
System.out.println("웹캠");
case 2 :
System.out.println("마우스패드");
case 1 :
System.out.println("노트북");
break;
}
}
728x90
'자바' 카테고리의 다른 글
JAVA STEP 17. for문 (0) | 2023.02.09 |
---|---|
JAVA STEP 16. DateTime&if&switch 예제 모음 (0) | 2023.02.08 |
JAVA STEP 14. DateTime (0) | 2023.02.08 |
JAVA STEP 13. Method 예제 모음 (0) | 2023.02.07 |
JAVA STEP 12. LocalVariable & Method Overloading (0) | 2023.02.07 |