본문 바로가기

Java/[패스트캠퍼스] 100% 환급 챌린지

패스트캠퍼스 환급챌린지 19일차 미션 (2월 19일) : 시그니처 백엔드 Path 초격차 패키지 Online. 강의 후기

https://fastcampus.co.kr/dev_online_besignature
수강 강의명

강의 내용

[1] 관계, 논리 연산자

[2] 조건문 : if문

 

[1] 관계, 논리 연산자

수학 vs. 프로그래밍

수학 : a = b  // a와 b가 같다
프로그래밍 : a = b  // a에 b를 넣음
프로그래밍 : a == b  // a와 b가 같다

수학 : a ≠ b  // a와 b가 같지 않다
프로그래밍 : a != b  // a와 b가 같지 않다

수학 : a ≤ b  // a가 b보다 작거나 같다
프로그래밍 : a <= b  // a가 b보다 작거나 같다

수학 : a ≥ b  // a가 b보다 크거나 같다
프로그래밍 : a ≥ b  // a가 b보다 크거나 같다

 

관계(비교) 연산자

==, !=, <, <=, >, >=, instanceof

왼쪽과 오른쪽의 대소 관계를 비교하는 연산자
왼쪽의 값을 기준으로 해석 함
연산의 결과는 참(true) 아니면 거짓(false)
주로 조건문의 조건으로 사용한다.

 

a == b : a의 값과 b의 값이 같은가?
a != b : a와 b가 다른 가?
a < b : a가 b보다 작은가?
a <= b : a가 b보다 작거나 같은가?
a > b : a가 b보다 큰가?
a >= b : a가 b보다 크거나 같은가?

 

instanceof

클래스들의 관계를 확인할 때 사용
부모 클래스와 자식 클래스가 상속 관계인지 아닌지를 확인해볼 수 있는 연산자

 

논리 연산자

&&(AND) ||(OR) !(NOT)

연산의 결과는 참(true) 아니면 거짓(false)
주로 조건문의 조건으로 사용한다.
a && b : 논리곱(and 연산)  // a, b가 둘 다 참이면 참이고, 그렇지 않으면 거짓
a || b : 논리합(or 연산)  // a, b 중 하나라도 참이면 참이고, 그렇지 않으면 거짓

!a : 논리부정(not 연산)  // a가 참이면 거짓, 거짓이면 참

 

Q. 관계(비교) 연산자의 결과 값을 쓰시오.
int a = 4;
(1) System.out.println(a > 5);
(2) System.out.println(a < 5);
(3) System.out.println(a == 6);
(4) System.out.println(a != 4);
(5) System.out.println(3 >= a);
(6) System.out.println(a <= a + 1);

public class RelationalOperTest {
    public static void main(String[] args) {
        // Q. 관계(비교) 연산자의 결과 값을 쓰시오.
        int a = 4;
        System.out.println(a > 5);  // false
        System.out.println(a < 5);  // true
        System.out.println(a == 6);  // false
        System.out.println(a != 4);  // false
        System.out.println(3 >= a);  // false
        System.out.println(a <= a + 1);  // true
    }
}​

 

Q. 논리 연산자의 결과 값을 쓰시오.
int x = 1, y = 0;
(1) System.out.println(!(x > 0));
(2) System.out.println(x > 0 && x < 3);
(3) System.out.println(x > 0 && y < 0);
(4) System.out.println(x < 0 || y >= 0);
(5) System.out.println(y < 0 && y < -5);

int a = 3, b = 5;
(6) System.out.println((a >= 3) && (b < 6));
(7) System.out.println((a != 3) && (a > 2));
(8) System.out.println((b != 5) || (a == 1));

public class LogicalOperTest {
    public static void main(String[] args) {
        // Q. 논리 연산자의 결과 값을 쓰시오.
        int x = 1, y = 0;
        System.out.println(!(x > 0));  // false
        System.out.println(x > 0 && x < 3);  // true
        System.out.println(x > 0 && y < 0);  // false
        System.out.println(x < 0 || y >= 0);  // true
        System.out.println(y < 0 && y < -5);  // false

        int a = 3, b = 5;
        System.out.println((a >= 3) && (b < 6));  // true
        System.out.println((a != 3) && (a > 2));  // false
        System.out.println((b != 5) || (a == 1));  // false
    }
}

 

[2] 조건문 : if문

인간의 두뇌가 판단을 해야 하는 상황에서는 판단을 하듯

프로그램에서도 어떤 상황에 대해 판단을 하도록 해야 함(인간이 하는 일을 프로그램에서 하기 위함)

*코딩 : 인간의 생각을 프로그램으로 그대로 옮겨놓은 것

 

단순 if문

조건식이 참일 때만 실행되는 조건문
조건식이 참이면 중괄호로 둘러 쌓인 블록 안의 문장들이 실행된다.
조건식이 거짓이면, 문장을 실행하지 않고 문장 바깥으로 빠져나가게 된다.

if문은 중괄호가 시작과 끝을 나타내기 때문에 문장 끝에 세미콜론을 붙이지 않는다.
*조건식 : 참과 거짓을 만들어 내는 연산자를 사용하여 만들어야 함
               : 조건식이 참인지 거짓인지에 따라 if문이 실행될지 되지 않을지가 결정된다.

 

실행해야 될 문장이 여러 문장인 경우에는 중괄호로 감싸야 하지만, 한 문장인 경우에는 중괄호 생략 가능
문장들은 가독성을 위해 들여쓰기를 권장

if(조건식) {  // 시작
     문장1;  // 조건식이 참이면 실행되는 문장
     문장2;  // 조건식이 참이면 실행되는 문장
}  // 끝

if(조건식)
     한 문장;

 

Q. x의 값이 0보다 큰 경우에만 "양수입니다." 출력
// Q. x의 값이 0보다 큰 경우에만 "양수입니다." 출력
int x = 10;

if (x > 0) {  // 조건문이 참일 때 실행되는 범위 (시작)
    System.out.println("양수입니다.");
}  // (끝)
Q. 정수 1개를 입력 받아 입력된 수가 7의 배수인지를 출력하시오.
// Q. 정수 1개를 입력 받아 입력된 수가 7의 배수인지를 출력하시오.
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요 : ");
int num = sc.nextInt();

// 7의 배수 : 어떤 수를 7로 나눴을 때 나머지가 0인 경우
if (num % 7 == 0) {
    System.out.println("num = " + num + "은 7의 배수입니다.");
}​
Q. 나이를 입력 받아 19세 이상이면 성인임을 출력하는 코드를 작성하시오.
// Q. 나이를 입력 받아 19세 이상이면 성인임을 출력하는 코드를 작성하시오.
System.out.print("나이를 입력하세요 : ");
int age = sc.nextInt();

if (age >= 19) {
    System.out.println("성인입니다.");
}
System.out.println("종료");

 

블럭 if문

if~else문(else는 반드시 자신과 가까운 if와 짝을 이뤄야 함)
조건식이 참인 경우와 거짓인 경우를 나눠 처리할 수 있는 조건문
if의 조건식이 참이면 조건식 바로 다음의 블록이 실행되고, 조건식이 거짓이면 else문 다음의 블록이 실행된다.

if(조건식) {
     문장1;  // 조건식이 참일 때 실행
} else {
     문장2;  // 조건식이 거짓일 때 실행
}

int x = 10;
if(x >= 0) {
     System.out.println("0 or 양수");
} else {
     System.out.println("음수");
}

 

Q. 정수 1개를 입력 받아 짝수인지 홀수인지를 판단하는 프로그램을 만드시오.
// Q. 정수 1개를 입력 받아 짝수인지 홀수인지를 판단하는 프로그램을 만드시오.
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요 : ");

int su = sc.nextInt();

if (su % 2 == 0) {
    System.out.println("짝수입니다.");
} else {
    System.out.println("홀수입니다.");
}
Q. 입력 받은 수가 12의 배수인지를 출력하는 코드를 작성하시오.
// Q. 입력 받은 수가 12의 배수인지를 출력하는 코드를 작성하시오.
System.out.print("정수를 입력하세요 : ");

int num = sc.nextInt();

if (num % 12 == 0) {
    System.out.println("12의 배수입니다.");
} else {
    System.out.println("12의 배수가 아닙니다.");
}​

 

다중 if문(중첩 if문)

if문 안의 문장이 또 다른 if문인 경우(if-else문 포함)
여러 조건을 걸 때 사용한다.
예) 학점 : 점수가 어떤 범위에 포함 되는지를 여러 번 판단해야 함

if(조건식 A) {
     문장1;  // 조건식 A가 참일 때 실행
} else if(조건식 B) {
     문장2;  // 조건식 A가 거짓이고 조건식 B가 참일 때 실행
} else if(조건식 C) {
     문장3;  // 조건식 A, B가 거짓이고 조건식 C가 참일 때 실행
} else {
     문장n;  // 조건식 A, B, C가 모두 거짓일 때 실행
}

 

Q. 80점 이상의 학생 중에서 90점 이상은 A반, 85점 이상은 B반, 그렇지 않으면 C반으로 편성하고 점수가 80미만이면 불합격 처리하는 프로그램을 작성하시오.
public class IfElseIfTest {
    public static void main(String[] args) {
        // Q. 80점 이상의 학생 중에서 90점 이상은 A반, 85점 이상은 B반,
        //    그렇지 않으면 C반으로 편성하고 점수가 80미만이면 불합격 처리하는 프로그램을 작성하시오.
        //    단, 점수는 0 ~ 100 사이값으로 입력받는다.
        int jumsu = 80;

        // 반편성
        if (jumsu >= 0 && jumsu <= 100) {
            if (jumsu >= 80) {
                if (jumsu >= 90) {
                    System.out.println("A반");
                } else if (jumsu >= 85) {
                    System.out.println("B반");
                } else {
                    System.out.println("C반");
                }
            } else {
                System.out.println("불합격");
            }
        } else {
            System.out.println("유효한 점수가 아닙니다.");
        }
    }
}

 


 

수강 화면수강 화면
수강 화면

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/48sS29N

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr