728x90
반응형
안녕하세요~ 자바의 제어문 중 if문과 if ~ else문에 대해 알아보겠습니다.
제어문은 프로그램의 흐름을 제어하는 역할을 합니다. if문은 조건이 참(true)일 때만 실행되는 구문으로, 조건이 참일 경우에만 실행하고 거짓(false)인 경우는 실행하지 않습니다. if ~ else문은 if문과 마찬가지로 조건이 참일 때는 if문의 내용을 실행하고, 거짓일 때는 else문의 내용을 실행합니다. 이를 통해 프로그램의 분기를 제어할 수 있습니다. 자바에서 제어문은 프로그래밍에 있어서 매우 중요한 요소이므로, 자세히 공부해보시길 추천드립니다.
제어문
if문
제어문
연산자의 경우 하나의 실행문을 작성하는 방법을 제공합니다.
반면, 제어문은 각각의 실행문의 실행 여부, 반복의 여부를 결정할 수 있는 문법
제어문은 분기문, 반복문으로 구성됩니다.
Java에서는 if, switch와 같은 분기문을
for, while, do ~ while과 같은 반복문을 제공합니다.
분기문
조건식의 결과에 따라서 실행문의 실행 여부를 결정하는 문법
if문
조건식이 참일 경우 실행문을 실행하는 분기문 문법
- if문의 블럭(영역)이 지정되어 있지 않다면
기본적으로 1개의 실행문을 제어합니다.
- if문의 블럭(영역)을 지정한다면 해당 영역의 모든 실행문이
if문의 조건식의 결과에 따라서 제어됩니다.
사용방법
if( 조건식 )
조건식이 참일 경우 실행할 실행문;
int gender = 1;
if( gender == 1 ) {
System.out.println("당신은 남성입니다.");
}
if( gender == 2 ) {
System.out.println("당신은 여성입니다.");
}
if ~ else 문
// if ~ else 문
// if 문을 통해 제어하는 실행문이 양자택일 경우(짝수/홀수)에
// 활용할 수 있는 문법
// if 문의 조건이 거짓일 경우 실행될 제어문을 else 문을 통해 처리합니다.
int number = 17;
// 짝수 판단
if( number % 2 == 0 )
System.out.printf("%d는 짝수 입니다.\n", number);
// 홀수 판단
if( number % 2 == 1 )
System.out.printf("%d는 홀수 입니다.\n", number);
// 사용법
// if( 조건식 )
// 조건식이 참일 경우 실행될 실행문
// else
// 조건식이 거짓일 경우 실행될 실행문
if( number % 2 == 0 ) {
System.out.printf("%d는 짝수 입니다.\n", number);
} else {
System.out.printf("%d는 홀수 입니다.\n", number);
}
if ~ else if ~ else 문
// 조건식의 결과가 2개 이상인 경우의 처리 방법
// if ~ else if ~ else 문
// 사용법
// if( 1번째 조건식 )
// 1번째 조건식이 참일 경우의 실행문;
// else if( 2번째 조건식 )
// 2번째 조건식이 참일 경우의 실행문;
// ...
// else
// 모든 조건식이 거짓일 경우의 실행문;
// if ~ else if ~ else 문을 사용하는 경우
// 하나의 if 블럭을 형성하기 때문에
// 특정 if문의 실행문이 처리되면 해당 if문의 블럭이 종료됩니다.
int age = 32;
if( age >= 0 & age < 20)
System.out.println("당신은 미성년자 입니다.");
else if( age >= 20 && age < 30 )
System.out.println("당신은 20대 입니다.");
else if( age >= 30 && age < 40 )
System.out.println("당신은 30대 입니다.");
else if( age >= 40 && age < 50 )
System.out.println("당신은 40대 입니다.");
else if( age >= 50 && age < 60 )
System.out.println("당신은 50대 입니다.");
else if( age >= 60 && age < 70 )
System.out.println("당신은 60대 입니다.");
키보드 입력(기본입력)을 통한 제어문 활용
// 1. import 구문 작성
import java.util.Scanner;
public class Control_Statement_IF_04 {
public static void main(String[] args) {
// 키보드 입력(기본입력)을 통한 제어문 활용
// 2. 키보드 입력을 위한 변수의 선언과 초기화
Scanner in = new Scanner(System.in);
// 3. 기본 입력 변수를 통한 데이터 입력
System.out.print("정수 입력하세요 : ");
// Scanner 클래스의 nextInt 메소드는 입력 소스로부터
// 정수(int)를 읽어옵니다.
int num = in.nextInt();
System.out.println("입력된 정수는 " + num + " 입니다.");
if( num % 2 == 0 )
System.out.printf("입력된 정수는 '짝수' 입니다.\n");
else
System.out.printf("입력된 정수는 '홀수' 입니다.\n");
}
}
키보드 입력의 if문 활용
import java.util.Scanner;
public class Control_Statement_IF_05 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 사용자로부터 3과목의 성적을 입력받아
// 총점, 평균, 등급을 출력하세요.
// (등급은 A ~ F)
// 1. 입력
// - 변수 선언
int s1, s2, s3;
// - 입력과정 수행
System.out.print("국어 성적을 입력하세요 : ");
s1 = in.nextInt();
System.out.print("영어 성적을 입력하세요 : ");
s2 = in.nextInt();
System.out.print("수학 성적을 입력하세요 : ");
s3 = in.nextInt();
// 2. 처리
// - 변수 선언
int tot;
double avg;
char grade;
// - 처리 과정 수행
// 총점
tot = s1 + s2 + s3;
// 평균
avg = tot / 3.0;
// 등급
if( avg < 0 || avg > 100 )
grade = '?';
else if( avg >= 90 )
grade = 'A';
else if( avg >= 80 )
grade = 'B';
else if( avg >= 70 )
grade = 'C';
else if( avg >= 60 )
grade = 'D';
else
grade = 'F';
// 3. 출력
System.out.printf("입력된 성적의 총점은 %d 점, 평균은 %.2f 점 입니다.\n", tot, avg);
if( grade != '?' )
System.out.printf("입력된 성적의 등급은 '%c' 입니다.\n", grade);
else
System.out.println("입력된 성적에 오류가 있습니다.");
}
}
if문 활용 예제(문제)
import java.util.Scanner;
public class Control_Statement_IF_05_EX {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 사용자에게 월에 해당되는 정보를 입력받으세요.
// 입력받은 월의 일수를 출력하세요.
// EX) 1 ~ 12 사이의 정수를 입력하세요 : 5
// 5월 달은 '31'일 까지 있습니다.
// 1. 입력
// - 변수 선언
int month;
// - 입력 과정 수행
System.out.print("1 ~ 12 사이의 정수를 입력하세요 : ");
month = in.nextInt();
// 2. 처리
// - 변수 선언
int day;
// - 처리 과정 수행
if( month < 1 || month > 12 )
day = -1;
else if( month == 1 || month == 3 || month == 5 ||
month == 7 || month == 8 || month == 10 || month == 12 )
day = 31;
else if( month == 2 )
day = 28;
else
day = 30;
// 3. 출력
if( day != -1 )
System.out.printf("%d월 달은 '%d'일 까지 있습니다.\n", month, day);
else
System.out.printf("1 ~ 12 사이의 값을 입력하세요 (%d)\n", month);
}
}
728x90
반응형
'개발 > JAVA' 카테고리의 다른 글
자바 - 반복문 for 문 (1) (0) | 2020.06.14 |
---|---|
자바 - 제어문 switch문 (0) | 2020.06.14 |
java - 연산자, 전위/후위 증가/감소 연산자,비트(BIT) 연산자,시프트 연산자,삼항연산자 (0) | 2020.06.14 |
java - 연산자, 산술연산자,관계연산자,논리연산자,대입연산자,증가/감소 연산자 (0) | 2020.06.14 |
java - 변수 (2) (0) | 2020.06.14 |