한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지_패스트 캠퍼스 챌린지 04일차

2021. 9. 9. 23:59IT공부/Java&Spring 이용한 웹프로그래밍

13. 자바의 연산자들 -3 (조건 연산자, 비트 연산자)

조건 연산자

  • 삼항 연산자
  • 조건식의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행됨
  • if (조건문)을 간단히 표현할 때 사용 할 수 있음

 

package ch13;

import java.util.Scanner;

public class ConditionTest {

          public static void main(String[] args) {

           int max;

           System.out.println("입력 받은 두 수중 큰 수를 출력하세요\n ");

           Scanner scanner = new Scanner(System.in);

           System.out.println("입력1:");

           int x = scanner.nextInt();

           System.out.println("입력2:");

           int y = scanner.nextInt();

           max = (x > y)? x : y;

            System.out.println(max);

        }

}

비트 연산자

  • 대입연산자와 다른 연산자가 함께 쓰임
  • 마스크 : 특정 비트를 가리고 몇 개의 비트 값만 사용할 때
  • 비트켜기 : 특정 비트들만을 1로 설정해서 사용하고 싶을 때
    예) & 00001111 ( 하위 4비트 중 1인 비트만 꺼내기)
  • 비트끄기 : 특정 비트들만을 0으로 설정해서 사용하고 싶을 때
    예) | 11110000 ( 하위 4비트 중 0 인 비트만 0으로 만들기)
  • 비트 토글 : 모든 비트들을 0은 1로, 1은 0으로 바꾸고 싶을 때

 

package ch13;

public class BitTest {

public static void main(String[] args) {

       int num1 = 5; // 00000101

       int num2 = 10; // 00001010

       System.out.println(num1 | num2);

       System.out.println(num1 & num2);

       System.out.println(num1 ^ num2);

       System.out.println(~num1);

       System.out.println(num1 << 2);

       System.out.println(num1);

       System.out.println(num1 <<= 2);

       System.out.println(num1);

      }

}

 

 

14. 조건문 - if 문(만약에... 라면)

조건문 이란?

  • 주어진 조건에 따라 다른 실행이 이루어 지도록 구현
  • '재산이 1억 이상이면 100만원을 세금으로 낸다 그렇지 않으면 내지 않는다' 를 구현 한다면
  • 만약에 (재산이 1억 이상이면){
    세금을 100만원 낸다
    }
    그렇지 않으면 {
    세금을 내지 않는다
    }
  • if문 문법if(조건식){ 수행문; // 조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨 } // 조건식이 '참'이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음
  • if - else 문 문법if( 조건식) { 수행문1; // 조건식이 '참'인 경우에 수행됨 } else{ 수행문2; // 조건식이 '참'이 아닌 경우에 수행됨 }
  • if - else 예제

package ch14;

import java.util.Scanner;

public class IfElseTest {

           public static void main(String[] args) {

             int age = 7;

            //Scanner scanner = new Scanner(System.in);

            //int age = scanner.nextInt();

           if( age >= 8) {

            System.out.println("학교에 다닙니다");

           } else { System.out.println("학교에 다니지 않습니다.");

         }

      }

 }

15. 조건이 여러 개 일 때의 if 문

if-else if-else 문

  • 하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용
  • 각 조건은 상호 배타적임
  • if(조건식1){
  • 수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  • } else if(조건식2){ 수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  • } else if(조건식3){ 수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  • } else{ 수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
  • } 수행문5; // if-else if-else 문이 끝나면 수행됨 가령 조건식2가 만족되면 수행문2 -> 수행문5 순으로 수행됨

package ch15;

public class IfElseIfElseTest {

             public static void main(String[] args) {

             int age = 12;

             int charge;

            if(age < 8){

           charge = 1000; System.out.println("미 취학 아동입니다.");

           } else if(age < 14){ charge = 2000; System.out.println("초등학생 입니다.");

           } else if(age < 20){ charge = 2500; System.out.println("중, 고등학생 입니다.");

          } else{ charge = 3000; System.out.println("일반인 입니다.");

          } System.out.println("입장료는 " + charge + "원입니다.");

     }

}

if-else if 문과 if - if 문의 차이점

  • if- else if 를 사용하는 경우 하나의 조건이 만족 되면 나머지 else if 부분은 수행되지 않음
  • if - if 로 사용하게 되면 각각 다른 조건 문으로 해석되어 각각 수행하게 됨
  • ( 위 예제를 if 로 모두 바꾸어 봅시다.)

package ch15;

public class IfIfTest {

public static void main(String[] args) {

           int age = 12;

           int charge;

           if(age < 8){

           charge = 1000;

           System.out.println("미 취학 아동입니다.");

            } if(age < 14){

           charge = 2000;

           System.out.println("초등학생 입니다.");

            } if(age < 20){

           charge = 2500;

           System.out.println("중, 고등학생 입니다.");

            } else{ charge = 3000;

          System.out.println("일반인 입니다.");

          } System.out.println("입장료는 " + charge + "원입니다.");

      }

}

16. 조건이 여러 개 일 때 간단히 표현되는 switch-case 문

switch - case 문

  • if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현
  • 비교 조건이 특정 값이나 문자열인 경우 사용
  • break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
  • 자바 14부터 좀 더 간결해진 표현식이 지원 됨 ( break 사용하지 않음 )

한 달이 며칠인지 알려주는 프로그램 구현

package ch16;

public class SwitchCaseTest {

public static void main(String[] args) {

        int month = 10;

       int 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 = 0; System.out.println("존재하지 않는 달 입니다.");

     } System.out.println(month + "월은 " + day + "일입니다.");

    }

}

문자열 지원되는 switch - case 문

package ch16;

public class SwitchCaseTest2 {

public static void main(String[] args) {

     String medal = "Gold"; switch(medal) {

      case "Gold":

       System.out.println("금메달 입니다.");

       break;

      case "Silver":

      System.out.println("은메달 입니다.");

       break;

      case "Bronze":

      System.out.println("동메달 입니다.");

      break;

       default:

      System.out.println("메달이 없습니다.");

      break;

     }

   }

}

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

강의에 대해 정확하게 알고 싶다면 

https://bit.ly/37BpXiC