일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Oracle DB
- Oracle SQL
- tomcat
- alias
- distinct
- JavaScript
- sql developer
- group by
- oracle
- HTTP Status 404
- JSP
- CRUD
- jQuery
- Java
- 제약조건
- 부트스트랩
- HTTP Status 500
- 과정평가형
- 모조칼럼
- github
- rownum
- Bootstrap
- 한글 인코딩
- 이클립스
- ||
- SQL
- 답변형 게시판
- 성적프로그램
- HTML
- git
Archives
초급의 끄적거림
[JAVA] if 문, switch문 (+ 연습문제) 본문
[제어문]
⊙ 프로그램의 흐름을 제어한다
⊙ 조건문 : if, switch~case문
⊙ 반복문 : for, while, do~while
⊙ break (하다가 나가버리는 것), continue (하다가 다시 반복하는 것)
if(조건-조건문에서는 불린형으로 나옴, true나 false) { 조건이 true일 때만 수행 }
if(조건) { 조건이 true일 때 수행 }
else {조건이 false일 때 수행} // 삼항연산자와 같은 내용을 만듦
* else가 붙다보면 중첩해서 계속 사용 가능 (=if 안에 반복문 가능)
if(조건) { 조건이 true일 때 수행 }
else if(조건) { 조건이 true일 때 수행 }
else if(조건) { 조건이 true일 때 수행 }
else if(조건) { 조건이 true일 때 수행 }
else { 조건이 false 일 때 수행 }
[if문 연습문제]
String name="무궁화";
int kor=30, eng=30, mat=30;
int aver=(kor+eng+mat)/3;
System.out.println("이름:" + name);
System.out.println("국어:" + kor);
System.out.println("영어:" + eng);
System.out.println("수학:" + mat);
System.out.println("평균:" + aver);
//평균이 95점 이상이면 "장학생" 출력
if(aver>=95){
System.out.println("장학생");
}
//국어점수가 70점 이상이면 "합격" 그렇지 않으면 "불합격"
if(kor>=70){
System.out.println("국어 : 합격");
}else{
System.out.println("국어 : 불합격");
}
문제1) 수학점수가 90점 이상이면 "A학점", 80점 이상이면 "B학점", 70점 이상이면 "C학점", 60점 이상이면 "D학점",
나머지 "F학점"
if(mat>=90){
System.out.println("수학 : A학점");
} else if (mat>=80){
System.out.println("수학 : B학점");
} else if (mat>=70){
System.out.println("수학 : C학점");
} else if (mat>=60){
System.out.println("수학 : D학점");
} else {
System.out.println("수학 : F학점");
}
[switch~case문]
⊙ break문
- 제시하는 값과 '동일'한 값을 찾아서 수행
- 실수형, 논리형 등은 사용할 수 없다
switch(값){
case+경우수1 : ~~~~; (본인이 필요로 하는 것)
case+경우수2 : ~~~~; break;
. . .
}
⊙ 'case+경우수' 에서 switch(값)과 동일한 값을 찾는 것, case에 존재하지 않는 값을 찾으려 한다면 수행X
⊙ break : if문이나 switch~case 또는 반복문을 벗어나는데 사용 (없으면 빠져나갈 수 없음)
⊙ default : 일치하는 경우수가 없을 때 수행하는 명령값을 제시
⊙ : 대신 >=와 같은 비교연산자 불가
[switch~case문 연습문제]
switch(10){
case 10 : System.out.println("SEOUL"); break;
case 20 : System.out.println("JEJU"); break;
case 30 : System.out.println("BUSAN"); break;
} //SEOUL 출력
switch(50){
case 10 : System.out.println("SEOUL"); break;
case 20 : System.out.println("JEJU"); break;
case 30 : System.out.println("BUSAN"); break;
default : System.out.println("etc..");
} //default 값으로 가게 됨, 경우수 50이 없기 때문
switch(20){
case 10 : System.out.println("SEOUL"); break;
case 20 : System.out.println("JEJU");
case 30 : System.out.println("BUSAN"); break;
} //20에 break가 없기 때문에 20 (JEJU)과 30(BUSAN)의 값이 다 나타남
문) 평균점수에 따라서 A, B, C, D, F학점을 출력하시오
90점 이상이면 "A학점" 80점 이상이면 "B학점", 70점 이상이면 "C학점", 60점 이상이면 "D학점",나머지 "F학점"
int kor=95, eng=90, mat=80;
int aver=(kor+eng+mat)/3;
System.out.println(aver);
switch(aver/10){
case 10 :
case 9 : System.out.println("A학점"); break;
case 8 : System.out.println("B학점"); break;
case 7 : System.out.println("C학점"); break;
case 6 : System.out.println("D학점"); break;
default : System.out.println("F학점"); break;
}
//case 10은 굳이 수식을 적지 않아도 case 9 와 같은 값이 나오면 되기 때문에 적지 않음
[연습문제]
문1) 임의의 수가 양수, 음수, 제로인지 출력하시오.
int a=-3;
if(a<0){
System.out.println("음수");
}else if (a>0){
System.out.println("양수");
}else{
System.out.println("제로")
};
문2) 코드값에 따라 성별을 출력하시오 (홀수 남, 짝수 녀)
int code = 1;
//방법1>
if(code%2==0){
System.out.println("여성");
}else{
System.out.println("남성");
}
//방법2>
if(code==1 || code==3){
System.out.println("남성");
} else if (code==2 || code==4){
System.out.println("여성");
}
//방법3>
switch(code%2){
case 0 : System.out.println("여성"); break;
case 1 : System.out.println("남성"); break;
}
문3) 연산기호에 따라 결과값을 출력하시오
- 출력결과 : 5+7=12, 만약 op가 -가 된다면 5-7=-2가 되야하고, *가 들어가면 5*3=15, / 이면 5/7=0.7143, 5%7=5
int c=5, d=7;
char op='/' //op의 기호에 따라서 값이 달라지도록
int res1=0;
double res2=0.0;
switch(op){
case '+' : res1=c+d; break;
case '-' : res1=c-d; break;
case '*' : res1=c*d; break;
case '/' : res2=(double)c/d; break;
case '%' : res1=c%d; break;
}
if(op=='/'){
System.out.println(c+""+op+""+d+"="+res2);
}else{
System.out.println(c+""+op+""+d+"="+res1);
}//if end
문4) 문제2의 코드를 참조해서 나이를 계산하시오
int myYear=10; //태어난 연도 : 10, 1910년인지 2010년인지 알 수 없음
int code=1; //2번에서 주어진 code 변수
switch(code){
case 1 :
case 2 : myYear=1900+myYear; break;
case 3 :
case 4 : myYear=2000|myYear; break;
}
int myAge=2019-myYear;
System.out.println("나이 : " + myAge + "살");
// 나이 : 109살
'JAVA' 카테고리의 다른 글
[JAVA] 반복문 (for / 무한루프 / break / continue) (0) | 2019.09.10 |
---|---|
[JAVA] Eclipse 단축키 (0) | 2019.08.29 |
[JAVA] bit 연산자 (비트곱, 비트합), shift연산자, 보수 (0) | 2019.08.19 |
[JAVA] 연습문제 (0) | 2019.08.19 |
[JAVA] 삼항연산자, 대입연산자 (0) | 2019.08.19 |
Comments