이안의 평일코딩

JAVA의 정석 6일차 - 조건문 본문

Back-end/Java

JAVA의 정석 6일차 - 조건문

이안92 2020. 6. 22. 17:59
반응형

2020.06.22(월)

 

1. 제어문
=>종류
   1) 조건문
   = 단일 조건문
   if(조건문)
   {
   실행문장 => 조건이 true일 경우에 처리하는 문장
     => 조건이 false가 되면 실행문장을
    수행하지 않는다
   }
   *** 모든 제어문은 {}을 사용하지 않으면
   한개의 문장만 수행한다
  
   예)
   ===============
   if(조건문)
    실행문장 1
   =============== if가 제어하는 문장
    실행문장 2 => 무조건 실행하는 문장
  
   ===============
   if(조건문)
   {
   실행문장 1
   실행문장 2
   }
   =============== if가 제어하는 문장
   = 선택 조건문
   true일 경우 => 처리문장
   false일 경우 => 처리문장
   예) 로그인 처리가 될 경우
   로그인 처리가 안된 경우
  
   형식) =====> 사용빈도가 많다
   if(조건문)
   조건이 true일 경우에 처리 문장
   else
   조건이 false일 경우에 처리 문장
   = 다중 조건문 : 조건에 해당하는 문장만 수행 => 한번만 수행
       형식)
   if(조건문)
   실행문장 1 => 조건이 true일 때 수행하고 종료
   else if(조건문)
   실행문장 2 => 조건이 true일 때 수행하고 종료
   else if(조건문)
   실행문장 3 => 조건이 true일 때 수행하고 종료
   else if(조건문)
   실행문장 4 => 조건이 true일 때 수행하고 종료
   else
   실행문장 5 => 조건에 해당하는 사항이 없는 경우
  
   15 (다중이면 3의 배수만하고 바로 종료됨)
   정수 입력 ==> 3의 배수, 5의 배수, 7의 배수
   ==> if(조건문)
     실행문장
   =========
   if(조건문)
     실행문장
   ========= 별도의 문장
   if(조건문)
     실행문장
    다중 조건문이 아닌 단일 조건문이 3개가 있는 것
 2) 선택문
 3) 반복문
 4) 반복제어문
  => 형식
  => 흐름 이해
  => 구현

 

2. 단일조건문

 1) 단일 조건문은 여러개를 사용해도 처음부터 마지막까지 수행된다
   (여러개 쓰게되면 속도가 느려짐(여러개 다 실행해야하기 떄문에)
  2) {}을 생략할때는 수행문장이 1개일 경우

  3) 조건문 제작하는 방법
   if(조건문) : 조건문은 무조건 결과값 ==> true/false
   ==> 필요한 경우(조건 : true)에만 문장을 수행
   false일 경우에는 건너뛴다 (문장을 수행하지 못한다)

 

3. 선택조건문 : if~else

4. Scanner scan = new Scanner(System.in);

 Scanner를 저장 => 키보드의 입력값이 있는 경우에 처리

 자바의 모든 클래스, 사용자 정의 클래스 ==> 저장을 할 때

 반드시 new 이용해서 저장

 System.in ==> 사용자 키보드 입력값을 받는다

 System.out ==> 모니터에 출력할 때 사용

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

 int a = scan.nextInt();

 입력된 값을 받아서 a라는 메모리 공간에 저장

 

5. 연습문제 

 1) 윤년

 사용자가 ==> 년도를 입력 ==> 윤년여부 확인

더보기

import java.util.Scanner;

public class 윤년 {

 public static void main(String[] args) {

   int year = 0;

   Scanner scan = new Scanner(System.in);

   System.out.println("년도 입력");

   year = scan.nextInt();

 

  // 윤년 여부를 확인 ==> 공식(암기)

  // 범위, 기간 포함 ==> &&

  // 범위, 기간 포함이 안될 경우 ==> ||

  // 제외 => &&

 

    if((year%4==0 && year&100!=0 || (year%400==0))) // 윤년이라면

    {

       System.out.println(year+"는(은) 윤년입니다");

    }

    else // 윤년이 아니라면

    {

       System.out.println(year+"는(은) 윤년이 아니다");

    }

  }

}

 2) 짝수, 홀수

더보기

import java.util.*;

public class 짝수홀수 {

 public static void main(String[] args) {

    Scanner scan=new Scanner(System.in);

    System.out.print("정수 입력 : ");

  //키보드로 입력된 정수 받기

    int a = scan.nextInt();

 

  //짝수, 홀수

    if (a%2 == 0) // true면 수행

       System.out.println(a+"는(은) 짝수입니다");

    else // false일때 수행

       System.out.println(a+"는(은) 홀수입니다");

  }

}

 3) 총점, 평균, 학점

더보기

import java.util.*; //Scanner클래스를 가지고 온다

public class 총점평균학점 {

 public static void main(String[] args) {

    Scanner scan=new Scanner(System.in);

  // scan ==> 여러번을 받을 수 있다

    System.out.print("국어점수 영어점수 수학점수 입력:");

  // 키보드로 입력된 정수를 받기

    int kor = scan.nextInt(); 

    int eng = scan.nextInt(); 

    int math = scan.nextInt(); 

    int total = kor+eng+math;

    double avg = total/3.0;

    char score = 'A';

    

    if (avg >= 90 && avg <= 100) {

                 score = 'A';

    }

    if (avg >= 80 && avg < 90) {

                 score = 'B';

    }

    if (avg >= 70 && avg < 80) {

                 score = 'C';

    }

    if (avg >= 60 && avg < 70) {

                 score = 'D';

    }

    if (avg < 60) {

                 score = 'F';

    }

   // 85점인데 만약 범위지정 && 없었으면 B -> C -> D 까지 수행되서 결과가 D로 나옴.

    System.out.print("총점 : "+total);

    System.out.print("평균 : "+avg);

    System.out.print("학점 : "+score);

  }

}

 4) 가위, 바위, 보

더보기

import java.util.Scanner;

/*
 *    사용자 입력 ==> 0,1,2
 *    
 *    => 0이면  => 가위
 *    => 1이면  => 바위
 *    => 2면     => 보 
 */

public class 가위바위보 {
 public static void main(String[] args) {

  Scanner scan=new Scanner(System.in);

  System.out.print("가위(0),바위(1),보(2) 입력:");

  // 입력값

  int user = scan.nextInt();

 

  if(user == 0) {

      System.out.println("Player:가위");

  }

  if(user == 1) {

      System.out.println("Player:바위");

  }

  if(user == 2) {

      System.out.println("Player:보");

  }

 

  int com = (int)(Math.random()*3);

 // 0.0~0.99 * 3 => 0.0~2.9... => 0~2

  if(com == 0) {

      System.out.println("Computer:가위");

  }

  if(com == 1) {

      System.out.println("Computer:바위");

  }

  if(com == 2) {

      System.out.println("Computer:보");

  }

 

 //중복 조건문

  if(com == 0) {

     if(user == 0) {

        System.out.println("비겼다!!");

     }

     if(user == 1) {

        System.out.println("Player Win!!");

     }

     if(user == 2) {

        System.out.println("Computer Win!!");

     }

   }

  if(com == 1) {

     if(user == 0) {

        System.out.println("Computer Win!!");

     }

     if(user == 1) {

        System.out.println("비겼다!!");

     }

     if(user == 2) {

        System.out.println("Player Win!!");

     }

   }

  if(com == 2) {

     if(user == 0) {

        System.out.println("Player Win!!");

     }

     if(user == 1) {

        System.out.println("Computer Win!!");

     }

     if(user == 2) {

        System.out.println("비겼다!!");

     }

   }

 }

}

 5) 최대값, 최소값

더보기

import java.util.*;

public class 최대값최소값 { 
 public static void main(String[] args) {

  Scanner scan=new Scanner(System.in);

  System.out.print("두개의 정수 입력:(100 80)");

  int a = scan.nextInt();

  int b = scan.nextInt();

  // System.out.println("Max="+Math.max(a, b));

  // System.out.println("Min="+Math.min(a, b));

  int max, min;

  if (a>b) {

       max = a;

       min = b;

  }

  else {

       max = b;

       min = a;

  }

  System.out.println("Max="+max);

  System.out.println("Min="+min);

 }

}

 6) 절대값 출력

   // 1, -1 ==> 1

더보기

import java.util.*;

public class 절대값 { 
 public static void main(String[] args) {

  Scanner scan=new Scanner(System.in);

  System.out.print("정수 입력:");

  int a = scan.nextInt();

  //  System.out.println("절대값:"+Math.abs(a));

 

  if (a > 0) {

     System.out.println(a);

  }

  else {

     System.out.println(-1*a);

  }

 }

}

 7) 알파벳 대 소문자

// 알파벳 개수 26개, 대문자 소문자 char 차이 32

  char변수 선언 ==> 값을 대입 
  => char alpha='A'; 
  => alpha가 대문자면 ==> 소문자 출력 
  => alpha가 소문자면 ==> 대문자 출력 

더보기

import java.util.*;

public class 알파벳대소문자 {

 public static void main(String[] args) {

  char alpha = 'A';

  alpha = scan.next().charAt(0);

  if ((int)alpha >= 65 && (int)alpha <=90) {

          System.out.println((char)(alpha+32));

  }

  else {

          System.out.println((char)(alpha-32));

  }

 }

}

 

6. 제어문 연산자 (비교연산자, 논리연산자, 부정연산자)

   1) 비교연산자
   같다 : ==
   같지않다 : !=
   작다 : <
   크다 : >
   작거나 같다 : <=
   크거나 같다 : >=   =====> 최종 결과값 : true/false
    주로 조건문(if)에서 사용한다


   2) 논리연산자
   조건 && 조건 ==> 조건이들다 true일때 true
   && : 포함 (기간,범위)
   조건 || 조건 ==> 조건중에 한개이상이 true일때 true
   || : 미포함


   3) 부정연산자 : 반대 ==> !
  
 7. 단독처리 => 산술연산자, 증감연산자, 대입연산자
   응용 => 제어문
   연산처리 => 형변환 (강제 형변환)
   double => int =====> (int)double
   int    => char ====> (char)int

반응형
Comments