염비
2024. 9. 1. 17:19
1. 조건문(Conditional Statement)
(1) if statement
1) 사용방법
if(조건1) { // a > b && c < d
// 조건1이 true일 때 할 일;
}else if(조건2){
// 조건1가 false이고 조건2가 true일 때 할 일;
}
...
else if(조건N){
// 앞에 나온 모든 조건 false, 조건N은 true일 때 할 일;
}else{
// 모든 조건 실패 시 할 일;
}
다양한 케이스 존재
if
if else
if else if
if else if else
package day05;
import java.util.Random;
import util.MyUtil;
public class IfEx {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyUtil.p(MyUtil.RED + "If Example" + MyUtil.END);
Random rd = new Random();
int a = rd.nextInt(151);
if(a > 100) {
MyUtil.p(MyUtil.GREEN + "a는 매우 큽니다 : " + a + MyUtil.END);
}else if(a > 50) {
MyUtil.p(MyUtil.GREEN + "a는 큽니다 : " + a + MyUtil.END);
}else {
MyUtil.p("a는 결코 크지 않습니다 : " + a);
}
// nested
// 영어와 수학 점수가 모두 60점 이상이면 Pass, 아니면 Fail
int eng = rd.nextInt(101);
int math = rd.nextInt(101);
// 과제 : 위 로직을 구현하시오.
// 영어 : **점, 수학 : **점, Pass or Fail
if( eng >= 60 && math >= 60 )
MyUtil.p("영어 : " + eng + "점, 수학 : " + math + "점, Pass");
else
MyUtil.p("영어 : " + eng + "점, 수학 : " + math + "점, Fail");
// 그 외 방법1
String PF = "";
if(eng >= 60 && math >= 60)
PF = "Pass";
else
PF = "Fail";
MyUtil.p("영어 : " + eng + "점, 수학 : " + math + "점, " + PF);
}
}
(2) switch
조건식의 결과가 아니라 값만으로 비교
switch ~ case
if문보다 속도가 빠름
1) 사용방법
switch(변수) {
case 값1:
값1일 때 수행할 문장;
break;
case 값2:
값2일 때 수행할 문장;
break;
...
default:
모든 case에 해당하지 않을 때 수행할 문장;
}
package day05;
import java.util.Random;
import util.MyUtil;
public class SwitchEx {
public static void main(String[] args) {
Random rd = new Random();
int i = rd.nextInt(3); // i는 0, 1, 2중 하나
switch(i) {
case 0:
MyUtil.p("아, 0이시네요. 꽝입니다.");
break;
case 1:
MyUtil.p("아, 1이시네요. 이것도 꽝입니다.");
break;
case 2:
MyUtil.p(MyUtil.RED + "This is the TWO!!!!!" + MyUtil.END);
MyUtil.p("축!!!! 당첨!!!! 거액의 상품 증정!");
break;
default:
MyUtil.p("엄청난 버그 발생.. 시스템 이상함..");
}
// 의도적으로 break를 빼는 경우
int workProcess = rd.nextInt(4);
MyUtil.p("");
MyUtil.p(MyUtil.GREEN + "***앞으로의 작업 단계***" + MyUtil.END);
switch(workProcess) {
case 0:
MyUtil.p("Step1 : 작업 준비");
case 1:
MyUtil.p("Step2 : 개발 준비");
case 2:
MyUtil.p("Step3 : 개발 완료");
case 3:
MyUtil.p("Step4 : 출시 준비");
}
}
}
2. 반복문(Loop Statement)
- loop, iteration, 뺑뺑이
- 어떤 작업을 반복해서 수행하는 것
- while, for, do-while
(1) while
특정 조건을 만족하는 동안(true) 수행
while(조건식){
조건식이 true일 때 수행할 문장;
}
// 예시
int i = 0;
while(i < 10){
System.out.println(i);
i++;
}
package day05;
import util.MyUtil;
public class WhileEx {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyUtil.p("WHile Statement");
int i = 0;
while(i < 100) {
MyUtil.p("Current i = " + i);
i += 1;
}
MyUtil.p("After While i = " + i);
}
}
참고
: 무한루프(Infinity Loop)
중단되지 않고 계속 수행됨
while(true){
할 일;
if(탈출해도 돼??)
break;
}