Day 4(8/4) IF, Switch
2016. 8. 4. 10:21ㆍProgramming/Java
[오늘 배운 내용]
1) IF 조건문 활용
2) SWITCH문 활용
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 |
public class L01If { //main과 class는 독자적 영역 가짐
public static void main(String[] args) {
/* if - 조건문
* if() <- 참과 거짓 boolean을 이용해 조건문을 만든다.
* 보통 비교연산자를 많이 사용한다.
* ==, <, >, !(주소를 비교), equals(값을 비교)
* &&, ||(or)
* A && B -> A와 B의 교집합
* A || B -> A와 B의 합집합
*/
boolean flag = 10>2;
if(flag){
System.out.println("()의 조건이 true");
}
if(!flag){
System.out.println("()의 조건이 false");
}
//성적 출력 시스템: 점수를 넣으면 성적이 나온다.
int score = 91;
String grade = "A+";
if(score>=95){
grade = "A+";
}else if(score>=90){
grade = "A";
}else if(score>=85){
grade = "B+";
}else if(score>=80){
grade = "B";
}else if(score>=75){
grade = "C+";
}else if(score>=70){
grade = "C";
}else{
grade = "F";
}
System.out.println("학생의 성적은 "+grade+"입니다");
//유효 문자를 검사하는 시스템 -> 영문자만 문자로 취급
//(a~z or A~Z)의 문자를 검사한다.
char x = 'ㄱ';
if((x>=98 && x<=123) || (x>=65 && x<=90)){
//(x>='a' && x<='z') || (x>='A' && x<='Z') 와 동일함
System.out.println(x+"유효문자입니다.");
}else{
System.out.println(x+"는 사용할 수 없습니다.");
}
}
} |
cs |
// this.매개변수에서 .의 역할: 해당 클래스(this)의 모든 자원 접근 가능하게 해줌.
// this()는 생성자가 () 안 데이터에 접근하게 해줌
// 메서드(매개변수)의 매개변수는 메서드 내에서만 활용 가능,
따라서 this를 이용해 접근 영역 확대 ex) this.name
//main() 매우 중요(JVM 접근해 여러 메서드 실행 가능케)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 |
public class L02Switch {
public static void main(String[] args) {
/* Switch
* if문 보다 빠르다
* if문 보다 조건을 파악하기 쉽다 -> if문 이 조건식이 더 다양하다
* switch문에 조건문으로 사용되는 key 값은 '기본데이터 타입만' 가능
*/
int state = 2;
switch(state){
case 1: System.out.println("시스템 동작"); break;
case 2: System.out.println("시스템 대기"); break; //여러 층의 거름망에 진흙을 내리는 느낌
case 3: System.out.println("시스템 정지"); break; //걸리면 break문으로 빼낸다.
default: System.out.println("시스템 오류"); break;
}
int key = 10;
String month = "May";
switch(key){
case 1: month = "January"; break;
case 2: month = "Februry"; break;
case 3: month = "March"; break;
case 4: month = "April"; break;
case 5: month = "May"; break;
case 6: month = "Jun"; break;
case 7: month = "Jul"; break;
case 8: month = "Aug"; break;
case 9: month = "Sep"; break;
case 10: month = "Oct"; break;
case 11: month = "Nov"; break;
case 12: month = "Dec"; break;
default: month = "Invalid Month"; break;
}
System.out.println("오늘은 "+month+" 입니다.");
//A~F 까지 내는 성적 시스템 switch문으로 "+"가 없다. 90~ 80~ 70~
int score = 71;
char grade = 'A';
switch(score/10){ // int이기 때문에 자동적으로 9.1 -> 9
case 9: case 10: grade = 'A'; break;
case 8: grade = 'B'; break;
case 7: grade = 'C'; break;
default: grade = 'F'; break;
}
System.out.println("학생의 성적은 "+grade+" 입니다.");
}
} |
cs |
<국어,영어,수학 점수 입력 받아 학점(A, B, C) 표시해주기>
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 |
import java.util.Scanner;
public class L03SwitchEx {
public static void main(String[] args) {
String grade = "B";
Scanner scan = new Scanner(System.in);
int kor_score, en_score, m_score;
kor_score = scan.nextInt(); //nextInt는 정수만 받는다는
en_score = scan.nextInt();
m_score = scan.nextInt();
//switch 문으로 만든 성적 프로그램으로 3개의 점수의 평균 점수와 학점을 출력하세요.
//switch 문으로 '+' -> 95~, 85~
int avg = (kor_score+en_score+m_score)/3;
switch(avg/10){ // int이기 때문에 자동적으로 9.1 -> 9
case 9: case 10: grade = "A"; break;
case 8: grade = "B"; break;
case 7: grade = "C"; break;
default: grade = "F"; break;
}
char plus ='0';
//(조건식)?true:false;
plus =(((avg+5)/10-avg/10)==1)?'+':'0'; //이 부분 이해가 힘듬
System.out.println("학생의 성적은 "+grade+plus+" 입니다.");
}
} |
cs |
'Programming > Java' 카테고리의 다른 글
Day 6(8/8) DoWhile, BreakLoop, Method, Instance (0) | 2016.08.08 |
---|---|
Day 5(8/5) For, While (0) | 2016.08.05 |
Day 3(8/3) Casting & String & Array (0) | 2016.08.04 |
Day 2(8/2) Variable & DataType (0) | 2016.08.02 |
Day 1(8/1) 클래스 생성 (0) | 2016.08.01 |