ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [java] 변수,변수형,연산자,if문
    JAVA 2021. 7. 21. 16:47

    JAVA 기초

    변수( Variable )란?

    1. 변할 수 있는 값 = variable

    2. 하나의 데이터를 저장할 수 있는 메모리 공간

    3. 저장한 공간을 찾기 쉽게 만들려고 이름을 붙여서 사용한다.

    참고 사이트 : https://velog.io/@mgm-dev/1.-%EB%B3%80%EC%88%98%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

     

    변수이름

    한글가능 / 하지만 쓰지 않는다.

    숫자가능/ 하지만 첫문자로 쓰지 않는다.

    소문자,대문자 가능/ 대부분 카멜표기법

    특수문자는 $,_ 가능

    길이는 관계 없음.

     

    변수형 ( 기본형 )

      1byte 2byte 4byte 8byte
    논리형  boolean      
    문자형   char    
    정수형 byte short int long
    실수형     float double

     

    변수선언

    자료형 변수이름;

    변수에 처음 값을 대입하는 것을 '초기화(initialization)'라고 한다.

     

    형변환 (Casting)

    변수나 리터럴의 타입을 다른 타입으로 변환하는 것을 형변환이라고 한다. 기본형과 참조형은 서로 형변환할 수 없다.
    boolean을 제외한 나머지 기본형 타입들은 서로 형변환이 가능하다. byte < short / char < int < long < float < double
    묵시적 형변환
    ( 자동 형변환 )
    작은 수에서 큰 수로, 덜 정밀한 수(정수)에서 더 정밀한 수(실수)로 대입되는 경우이다. 형변환을 생략할 수 있다.
    값 손실이 없다.
    명시적 형변환
    ( 강제 형변환 )
    묵시적 형변환과 반대의 경우이다. 변환 되는 자료형을 명시해야 한다. 자료 손실이 발생할 수 있다.

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            byte bNum = 10;
            int iNum = bNum;
            
            double dNum = 1.2;
            float fNum = 0.9F;
            
    //        int < double < float
            
            int iNum1 = (int)dNum + (int)fNum;
            System.out.println(iNum1);          //값은 1
     
    //      int iNum1 = dNum + fNum; 은 오류
            
            //강제형변환 = 명시적형변환
            int iNum2 =(int)(dNum + fNum);
     
            System.out.println(iNum2);          //값은 2
    cs

     


    연산자의 종류

    - 단항연산자 : 피 연산자가 1개인 연산자

    - 이항 연산자 : 피 연산자가 2개인 연산자

    - 삼항 연산자 : 피 연산자가 3개인 연산자

     

    종류  연산자 
      ( ), [ ] 
    단항 연산자  ++, --, +, -, !, ~ 
    산술 연산자 %, /, *, +, - 
    시프트 연산자 >>, <<, >>> 
    관계 연산자 <, <=, >, >=, ==, != 
    논리 연산자 &, ^, |, ~, &&, || 
    삼항 연산자 ? : 
    대입 연산자  =, +=, -=, *=, %=, /=, >>=, <<= 

    > ++, -- 

    피연산자의 값을 1증가 또는 감소

    앞에 붙으면 전위증감, 뒤에 붙으면 후위증감

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            int i = 10;
            
            //++i --> i = i+1;
            //전위 증가는 바로 증가 1 됨
            System.out.println(++i);          //값은 11
            
            i = 10;
            
            //후위증가는 다음번 사용시 +1 됨
            System.out.println(i++);          //값은 10
            System.out.println(i);            //값은 11
     
    cs

     

    > !

    boolean 형의 연산자. true 는 false 로 false 는 true 로

    > %

    나누기의 나머지를 구하는 나머지 연산자.

     

    > 쉬프트 연산자 = 비트연산자 ( <<, >>, >>> )

    2진수로 표현했을 때 각 자리를 오른쪽 또는 왼쪽으로 이동

    오른쪽으로 n비트 = 2의 n 승으로 나눈것과 같은 결과

     

    > 관계 연산자 ( <, >, <=, >=, ==, != )

    두 피연산자를 비교, true or false

     

    > 논리 연산자 ( ||, && )

    || 은 or , && 는 and 연산자

    || 은 피연산자 중 어느 한 쪽이 true 면 true 이다.

    && 는 피연산자 양 쪽 모두 true 이면 true 이다.

     

    > 삼항 연산자

    연산식이 참일 때 앞의 값, 거짓일 때는 뒤의 값

    1
    2
    3
            int num4 = (5>3) ? 10:20;
            System.out.println(num4);
            //10
    cs

    if문

    조건식이 true 일 때 실행문을 실행하고 종료, 조건식이 false 일 때 실행문을 실행하지 않고 종료

    1
    2
    3
            if(a % 5 == 0)//조건식
            System.out.println("5의 배수입니다.");//실행문
    //        실행문이 하나 일 시 실행문에'{}'을 생략 가능
    cs

    else 절은 조건문이 false 일 때 실행

    1
    2
    3
    4
    5
    6
    7
    8
            if(a % 5 == 0)//조건문
            {
                System.out.println("5의 배수입니다.");//실행문
                System.out.println("5의 배수가 맞음");
            }
            else {
                System.out.println("5의 배수가 아님");
            }
    cs

    else if 문은 앞의 if 문 또는 else if 문이 false 일 경우 해당 조건식을 통해 true 일 경우 실행한다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            char grade ; //학점
            grade = 90;
            
            if(grade > 90)
                System.out.println("A학점입니다.");
            else if (grade > 80)
                System.out.println("B학점입니다.");
            else if (grade > 70)
                System.out.println("C학점입니다.");
            else if (grade > 60)
                System.out.println("D학점입니다.");
            else
                System.out.println("F학점입니다.");
             
    cs

     


    switch 문

    switch/case 문은 if 문과 비슷하다.

    switch문에서 키워드:  switch, case, default, break

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
            char grade ; //학점
            grade = 90;
            
            switch(grade) {
                case 90 : 
                    System.out.println("A학점입니다.");
                    break;
                case 80 : 
                    System.out.println("B학점입니다.");
                    break;
                case 70 : 
                    System.out.println("C학점입니다.");
                    break;
                case 60 : 
                    System.out.println("D학점입니다.");
                    break;
                default:
                    System.out.println("F학점입니다.");
                    break;
    }
    cs

    switch 안의 값이 90 일 경우 case 90 의 실행문인 A학점입니다. 를 출력

    breack 로 switch 문을 빠져나온다.

    default 는 case 문이 switch 안의 값과 일치하는 것이 없을 경우 출력 ( if-else 문의 else 같은 느낌 )

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
            // 1월 ~ 12월   30일까지 달/ 31일가지 달/ 28일 달
            // 해당하는 달의 일수를 출력해 주세요
            
            // import java.util.Scanner ;
            Scanner scan = new Scanner(System.in);
            
            System.out.println("월을 입력하세요.>>");
            int month = scan.nextInt();
            int days = 0;
     
            switch(month) {
                case 1case 3case 5case 7case 8case 10case 12:
                    days = 31;
                    break;
                case 2:
                    days = 28;
                    break;
                default:
                    days = 30;
                    break;            
            }
                System.out.println (month + "월은" + days + "일까지 있습니다.");
    cs

     

    'JAVA' 카테고리의 다른 글

    static main, 접근제한자, 싱글톤정의  (0) 2021.07.22
    java 및 객체의 정의  (0) 2021.07.22
    클래스,메서드정의  (0) 2021.07.21
    2-3차원배열,향상된for문  (0) 2021.07.21
    배열,while,for문  (0) 2021.07.21

    댓글

Designed by Tistory.