일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java 추상 메서드
- db
- 오라클
- 자바 내부 클래스
- 자바 제어문
- database
- 자바 문자열 클래스
- 자바 Random클래스
- Java try-catch
- dbeaver
- Java문자열 클래스
- Java다운캐스팅
- Express
- Java업캐스팅
- 데이터베이스
- 자바 예제
- Java객체배열
- 자바 추상메서드
- java super( )
- oracle
- 자바 스트링클래스
- nodejs
- Java thorw
- 자바 try-catch
- DBMS
- 자바 Wrapper클래스
- 코딩
- 자바 String클래스
- Java 내부 클래스
- Java추상클래스
- Today
- Total
코딩이란 무엇일까
[Java/자바]제어문(1)_if,else if, else 본문
안녕하세요 오늘은 제어문에 대해 알아보고
제어문 중의 하나인 if조건문을 알아보겠습니다.
제어문의 정의
제어문이란 프로그램의 흐름을 제어하는 문법을 뜻합니다.
프로그램은 보통 위에서 아래 왼쪽에서 오른쪽 순서로 실행됩니다.
따라서 이 프로그램의 흐름을 제어할 수 있는 문법이 제어문입니다.
제어문의 종류
(1) 조건문 : 정해진 조건에 따라 흐름을 제어하는 문법
(2) 반복분 : 정해진 조건에 따라 흐름을 반복하는 문법
1) 조건문이란?
조건문이란 조건에 따라 각기 다르게 실행 하도록 만들어 놓은 제어문을 뜻합니다.
2) 조건문의 종류
1) if문
2) switch문
저희는 이 두 가지 조건문 중에 오늘은 if문에 대해 알아보겠습니다.
if문
if문에는 if, else if , else라는 키워드가 사용됩니다.
if문은 만약에 조건이 참이라면 ~ 실행문을 실행해라 라는 기능을 수행합니다.
if문의 구조
if(조건식){
조건식이 참일 때 실행할 명령;
}
if ( ) 괄호 안에는 조건식이 들어갈 수 있습니다.
if문 예시_1
public class If_sentence {
public static void main(String[] args) {
int a=5;
if(a>3) { //a>3 a가 3보다 크냐는 조건식
System.out.println("a는 3보다 큽니다."); //조건식이 참이라면 실행할 실행문
}
System.out.println("검사가 끝났습니다.");
}
}
코드를 살펴보면 a=5라는 변수가 있고
if문의 ( )괄호 즉, 조건식은 a>3a가 3보다 크냐라는 조건식이 있습니다.
5>3즉, true이죠 따라서 if문 { } 안에 있는 실행문을 실행하게 되는 것입니다.
만일 a가 3보다 작은 정수였다면 안에 있는 실행문을 실행하지 않게 되겠죠
출력 결과
if문 안에 있는 조건식이 참이기 때문에 if문 안에 { } 에있는 실행문을 실행할 수 있게 되는 것이지요
if문 예시_2
public class If_true {
public static void main(String[] args) {
if(true) {
System.out.println("참입니다.");
}
}
}
if문의 조건식 안에는 boolean형도 들어갈 수 있습니다.
if문의 조건식 안에는 꼭 비교식만이 아닌 논리형도 들아갈 수 있다는 것을 알 수 있게 되는 것이지요.
if-else문
if-else문은
if문 뒤에 오는 키워드입니다.
if문=="만약에 조건이 참이라면~"
else 만일 if문의 조건식이 참이 아니라면 ~실행문을 실행하라 라는 의미를 갖고 있습니다.
if-else문의 구조
if(조건식){
조건식이 참 일때 실행할 명령;
}
else{ 조건식이 거짓일 때 실행할 명령어
}
if-else 예시
public class If_else {
public static void main(String[] args) {
int age=15;
if(age>19) {
System.out.println("성인입니다.");
System.out.println("성인 요금이 적용됩니다.");
}
else {
System.out.println("청소년입니다.");
System.out.println("청소년 요금이 적용됩니다.");
}
System.out.println("결제를 진행해 주세요");
}
}
위의 예시를 보시면 else의 역할을 확실히 알 수 있을 것입니다.
정수형 변수를 담을 수 있는 age는 15를 담고 있습니다.
if(age>19)의 조건식은 거짓이겠죠 15는 19보다 작기 때문에 거짓입니다.
따라서 if문 안의 실행문은 실행되지 않습니다.
자 여기서 실행되는 문장이 else 안에 있는 실행문입니다.
따라서 else안에 있는 실행문이 출력되겠죠
출력 결과
예상대로 else안에있는 실행문이 실행됐네요. ㅎㅎ
if-else if문
else if문은 "만약에 if조건식이 참이 아닌 거짓이라면
else if로 와서 조건식을 비교해줘 참이라면 else if문의 실행문을 실행해줘 라는 의미를 갖고 있습니다.
else if문 구조
if(조건1){
조건1이 참일 때 실행할 명령;
}
else if(조건2){
조건1이 거짓이고 조건2가 참일 때 실행할 명령;
}
else if문 예시
public class If_else_if {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int age;
System.out.println("나이:");
age=sc.nextInt();
if(age>19) {
System.out.println("성인입니다.");
System.out.println("성인 요금이 적용됩니다.");
}
else if(age>13) { //13<age<19
System.out.println("청소년입니다.");
System.out.println("청소년 요금이 적용됩니다.");
}
else if(age>8) {
System.out.println("어린이입니다.");
System.out.println("어린이 요금이 적용됩니다.");
}
else {
System.out.println("유아입니다.");
System.out.println("유아 요금이 적용됩니다.");
}
System.out.println("결제를 진행해 주세요.");
}
}
1.
age=sc.nextInt(); => 우선 Scanner를 사용해 사용자에게 age값을 받습니다.
2.
if(age>19) {
System.out.println("성인입니다.");
System.out.println("성인 요금이 적용됩니다.");
}
=> 사용자에게 입력받은 값 즉, age가 19보다 크다면 if문안에 있는 실행문을 실행합니다.
3.
else if(age>13) { //13<age<19
System.out.println("청소년입니다.");
System.out.println("청소년 요금이 적용됩니다.");
}
=> 만일 age가 if문의 조건식에 거짓이라면 밑으로 내려와 else if문의 조건식 즉, age>13과 비교합니다. 만일 조건식이 참이라면 else if 안에있는 실행문을 실행하고 아니라면 밑에 있는 또 다른 else if문의 조건식과 비교합니다.
4.
else if(age>8) {
System.out.println("어린이입니다.");
System.out.println("어린이 요금이 적용됩니다.");
}
=> 동일하게 조건식을 비교하고 참이면 실행문 실행 거짓이라면 밑으로
5.
else {
System.out.println("유아입니다.");
System.out.println("유아 요금이 적용됩니다.");
}
=> 마지막인 else의 역할은 위의 모든 조건식이 해당하지 않을 경우 실행하는 실행문입니다.
출력 결과
순서대로 20,14,9,4를 넣었을 때
14
9
4
중첩 if문
중첩 if문은 말 그대로 if문 안에 if문이 있는 것입니다.
if문이 참이면 실행문을 실행하고 또 다른 조건식을 넣고 싶을 때 사용합니다.
중첩 if문 구조
if(조건1){
조건1이 참일 때 실행할 명령;
if(조건2){
조건2가 참일 때 실행할 명령;
}
}
중첩 if문 예시
```java
public class If_if {
public static void main(String[] args) {
String id,password;
String User_id="java";//id값 설정
String User_password="abc123"; //password값 설정
Scanner input= new Scanner(System.in);
System.out.println("아이디를 입력해주세요:");
id=input.nextLine();
if(id.equals(User_id)) { // 문자열 비교함수 인equals메소드를 사용해 아이디 값 비교
System.out.println("id 일치!"); //일치할시 실행될 실행문
System.out.println("비밀번호를 입력해주세요:");
password=input.nextLine();
if(password.equals(User_password)) { //password를 입력받고 비교
System.out.println("password일치!"); //조건식이 참이면 실행
System.out.println("로그인 성공");
}
else { //password불일치시 실행될 실행문
System.out.println("비밀번호 불일치!!");
}
}
else {
System.out.println("아이디 불일치!!"); //id 값이 불일치할 시 실행될 실행문
}
}
```
위의 코드는 아이디와 비밀번호를 확인하는 코드입니다.
중첩 if문을 쓰기에 너무나도 알맞은 예시인 것 같네요.
위의 내용은 대부분 아는 내용일 테지만 중요한 부분만 짚고 넘어가자면
첫 번째 if문에서 User_id를 비교했는데 거짓일 경우 안에 있는 두 번째 if문 까지 가지 않고 바로 바깥의 else로 나오게 됩니다.
따라서 아이디와 비밀번호를 확인할 수 있는 것이지요.
자 이상으로 오늘 제어문 안의 조건문 조건문 안의 if문에 대해서 알아보았습니다.
다음 포스팅은 switch문으로 찾아뵙겠습니다.
이상 글 읽어주셔서 감사합니다~

'Java' 카테고리의 다른 글
[Java/자바] 제어문(3)_ for 반복문 (2) | 2022.09.21 |
---|---|
[Java/자바]제어문(2)_ switch 조건문 (1) | 2022.09.21 |
[Java/자바] 삼항 연산자, 대입 연산자 (3) (2) | 2022.09.19 |
[Java/자바]논리연산자, 비트연산자 (2) (2) | 2022.09.19 |
[Java/자바] 연산자 (1) (0) | 2022.09.17 |