① if문
: 만일(if) 조건식이 참(true)이면 괄호{ } 안의 문장들이 수행되고,
조건식의 결과가 false이면 괄호 { } 안의 문장들을 수행되지 않는다.
class Ex4_1{
public static void main(String args[]){
int score=80;
if(score>60){
System.out.println("합격입니다.");
}
}
}
결과
합격입니다.
② if-else문
: 조건식이 참(true)이면 if문의 괄호 { } 안의 문장들이 수행되고,
조건식이 거짓(false)이면 else문의 괄호 { } 안의 문장들이 수행된다.
import java.util.Scanner;
class Ex4_3{
public static void main(String[] args){
System.out.print("숫자를 하나 입력하세요.>")
Scanner scanner=new Scanner(System.in);
int input=scanner.nextInt();
if(input==0){
System.out.println("입력하신 숫자는 0입니다.");
} else {
System.out.println("입력하신 숫자는 0이 아닙니다.");
}
}
}
결과
숫자를 하나 입력하세요.> 5
입력하신 숫자는 0이 아닙니다.
숫자를 하나 입력하세요.> 0
입력하신 숫자는 0입니다.
③ if-else if문
: 한 문장에 여러 개의 조건식을 써야할 때 'if-else if'문을 사용한다.
import java.util.Scanner;
class Ex4_4{
public static void main(String[] args){
int score=0; //점수를 저장하기 위한 변수
char grade=' '; //학점을 저장하기 위한 변수. 공백으로 초기화한다.
System.out.print("점수를 입력하세요.>")
Scanner scanner=new Scanner(System.in);
scroe=scanner.nextInt();
if(score>=90) {
grade='A';
} else if(score>=80) {
grade='B';
} else if(score>=70) {
grade='C';
} else {
grade='D';
}
System.out.println("당신의 학점은"+grade+"입니다.");
}
}
결과
점수를 입력하세요.> 80
당신의 학점은 B입니다.
④ 중첩 if문
: if문의 블럭 내에 또 다른 if문을 포함시키는 것을 중첩 if문이라 한다.
if (조건식1) {
//조건식1의 연산결과가 true일 때 수행될 문장들을 적는다.
if (조건식2) {
//조건식1과 조건식2가 모두 true일 때 수행
} else {
//조건식1이 true이고, 조건식2가 false일 때 수행
}
} else {
//조건식1이 false일 때 수행
}
import java.util.Scanner;
class Ex4_5{
public static void main(String[] args) {
int score=0;
char grade=' ', opt='0';
System.out.print("점수를 입력해주세요.>");
Scanner scanner=new Scanner(System.in);
score=scanner.nextInt();
System.out.printf("당신의 점수는 %d입니다.%n", score);
if(score>=90) {
grade='A';
if(score>=98) {
opt='+';
} else if(score<94) {
opt='-';
}
} else if(score>=80) {
grade='B';
if(score>=88) {
opt='+';
} else if(score<84) {
opt='-';
}
} else {
grade='C';
}
System.out.printf("당신의 학점은 %c%c입니다.%n", grade, opt);
}
}
결과
점수를 입력해주세요.>83
당신의 점수는 83입니다.
당신의 학점은 B-입니다.
⑤ switch문
: 처리할 경우의 수가 많은 경우 switch문을 사용한다.
switch (조건식) {
case 값1:
//조건식의 결과가 값1과 같을 경우 수행될 문장들
break;
case 값2:
//조건식의 결과가 값2와 같을 경우 수행될 문장들
break;
default:
//조건식의 결과와 일치하는 case문이 없을 때 수행될 문장들
}
-swtich문의 제약 조건
switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다.
import java.util.Scanner;
class Ex4_6{
public static void main(String[] args){
System.out.print("현재 월을 입력하세요.>");
Scanner scanner=new Scanner(System.in);
int month=scanner.nextInt();
switch(month){
case3;
case4:
case5:
System.out.println("현재의 계절은 봄입니다.");
break;
case6: case 7: case 8:
System.out.println("현재의 계절은 여름입니다.");
break;
case 9: case10: case 11:
System.out.println("현재의 계절은 가을입니다.");
break;
default: //case 12: case 1: case 2:
System.out.println("현재의 계절은 겨울입니다.");
}
}
}
결과
현재 월을 입력하세요.>3
현재의 계절은 봄입니다.
- case 문은 한 줄에 하나씩 쓰던, 한 줄에 붙여서 쓰던 상관없다.
- 조건식을 계산하고 결과와 일치하는 case문으로 이동한 다음,
break문이나 switch문의 끝을 만나면 switch문의 전체를 빠져나간다.
'프로그래밍 > Java' 카테고리의 다른 글
Java_배열(1) (2) | 2022.10.05 |
---|---|
Java_조건문과 반복문(2) (0) | 2022.09.29 |
Java_연산자(2) (0) | 2022.09.14 |
Java_연산자(1) (0) | 2022.09.08 |
Java_변수 (0) | 2022.09.01 |