조건문
: 조건의 true/false에 따라 작업 수행.
if문
if(조건식){ 수행문; } ※ { }생략 가능. 단, 생략되면 바로 뒤 첫 번째 문장만 if문에 포함됨(수행문이 한 줄인 경우 생략) |
//두개의 정수를 입력받아 두 숫자의 차를 구하시오
//단, 음수가 나오면 안됩니다.
public class IfEx3 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("첫번째 숫자 : ");
int a = s.nextInt();
System.out.print("두번째 숫자 : ");
int b = s.nextInt();
int result;
if(a>b) {
result = a-b;
System.out.println("두 수의 차 : "+result);
}else {
result = b-a;
System.out.println("두 수의 차 : "+result);
}
}
}
if-else문
: 조건식이 true인 경우 if문 실행. false인 경우 else문 실행.
if (true/false){ true일 경우 실행 후 if문 종료 }else if (true/false) { 조건식2가 true일 경우 실행 후 if문 종료 }else{ 모든 조건이 false일 경우 실행(조건문에서 처리가 가능한 경우 생략가능) } |
//성적을 입력하면 성적에 맞는 학점을 출력하세요
//90~100: A, 80~89: B, 70~79: C, 그 외 나머지는 F
public class IfEx5 {
public static void main(String[] args) {
int score;
String grade;
Scanner s = new Scanner(System.in);
System.out.print("점수를 입력하세요 : ");
score = s.nextInt();
if(score <= 100 && score >= 90) {
grade = "A";
if(score >=98) {
grade += "+";
}else if(score <= 93) {
grade += "-";
}
}else if(score <= 89 && score >= 80) {
grade = "B";
}else if(score <= 79 && score >= 70) {
grade = "C";
}else {
grade = "F";
}
System.out.printf("%s학점입니다.", grade);
}
}
switch문
: 조건식의 결과가 정수 또는 문자열의 값이고 그 값에 따라 수행문이 결정될 때 사용.
if-else if-else문을 대신해 사용. ※ 자바7부터 case값에 문자열 사용이 가능함
switch(값){ case 값: 수행문; break; // break; => switch문을 벗어남 case 값: 수행문; break; case 값: 수행문; break; } |
public class SwitchEx1 {
public static void main(String[] args) {
int rank = 2; // 등수
String medalColor; //메달 색상
switch(rank) {
case 1 : medalColor = "Gold";
break;
case 2 : medalColor = "Silver";
break;
case 3 : medalColor = "Bronze";
break;
default : medalColor = "Null";
}
System.out.println(rank+"등의 메달은 "+medalColor+"입니다.");
}
}
//입력한 월이 몇일까지 있는지 알려주는 코드
//여러 케이스가 같은 수행문을 가지고 있는 경우 case를 동시에 사용이 가능하다
public class SwitchEx2 {
public static void main(String[] args) {
int month = 12;
String day;
switch(month){
case 1: case 3: case 5: case 7: case 8: case 10: case 12: day = "31";
break;
case 4: case 6: case 9: case 11: day = "30";
break;
case 2 : day = "28";
break;
default : day = "해당 달은 존재하지 않습니다.";
}
if(month >= 1 && month <=12) {
System.out.printf("%d월은 %s일까지입니다.", month, day);
}else {
System.out.println(day);
}
}
}
'dev > Java' 카테고리의 다른 글
[Java]참조타입변수 - 클래스/배열/열거타입 (0) | 2022.01.06 |
---|---|
[Java]반복문 - for, while, do~while (0) | 2022.01.05 |
[Java]데이터 입출력 (0) | 2022.01.04 |
[Java]연산자 (0) | 2022.01.04 |
[Java]시작하기 (0) | 2021.12.31 |