4 분 소요

변수(Variable) | 연산자 | 타입변환

변수(Variable)

- 하나의 값을 저장할 수 있는 메모리 공간


변수의 선언

- 타입 변수이름;

​ 예) int age;


변수의 초기화

- 변수 이름 = 값;

​ 예) age = 20; // 우측에서 좌측으로 대입


변수의 재대입

- 변수 이름 = 값;

​ 예) age = 25; // age에 20을 지우고 25를 대입


변수이름 작성 방법

- 첫번째 글자는 문자 또는 "$","_" 해야함
- 숫자로 시작할 수 없음
- 대소문자 구별
- 문자수의 길이 제한 없음
- 예약어(문법)는 사용할 수 없음
- 첫 문자는 영어 소문자로 시작, 다른 단어가 붙을 경우 첫문자를 대문자로 함(관례, 카멜표기법)


기본 데이터 타입

- 정수

- byte 1byte -128 ~ 127

- char 2byte -32768 ~ 32767 (문자와 숫자) -> 아스키코드(유니코드)

- short 2byte -32768 ~ 32767

- int☆ 4byte 약 -21억 ~ 21억

- long 8byte int 이상

- 실수

- float 4byte 소수점 6자리 표현가능

- double☆ 8byte float 이상

- 문자

- char 2byte 유니코드

        char var1 = 'A';
        char var2 = '가';
        // char var3 = 'AB'; // 두개 이상의 문자는 char 저장되지 않음
        System.out.println(var1);
        System.out.println(var2);

        char var3 = 100;
        System.out.println(var3);

- 논리

- boolean 1byte true(1), false(0) 저장



🎁 아스키 코드

- 숫자로 문자를 표현하기 위한 일종의 약속

- 특수문자, 숫자, 문자에 번호를 부여해서 컴퓨터에서 처리하기 쉽도록 만든 방법



🎁 컴퓨터 용량단위

- 1bit : 0 혹은 1

- 1byte : 8bit

- 1KB : 1024byte

- 1MB : 1024KB

- 1GB : 1024MB

- 1TB : 1024GB

- 1PB : 1024TB

- 1EB : 1024PB



연산자

- 프로그램에서 데이터를 처리하여 결과를 산출

- 연산에 사용되는 표시나 기호



1) 산술연산자

  • +, -, *, /, %(나머지)

    예) 10 % 3 = 1

    		int var1 = 10, var2 = 3;
      
            int result = var1 + var2;
            System.out.println(result); //13
      
            result = var1 - var2;
            System.out.println(result); //7
      
            result = var1 * var2;
            System.out.println(result); //30
      
            result = var1 / var2;
            System.out.println(result); //3
            System.out.println(var1/3.0); //3.333333333333
      
            result = var1 % var2;
            System.out.println(result); //1
    


2) 비교연산자

  • ’>’ , ‘< ‘, ‘>=’ , ‘<=’ , ‘==(같음)’ , ‘!=(다름)

    예) 10 . 3 = true, 결과는 항상 논리형

            int var1 = 10;
            int var2 = 3;
      
            boolean result = var1 > var2;
            System.out.println(result); // true
      
            result = var1<var2;
            System.out.println(result); // false
      
            result = var1 >= var2;
            System.out.println(result); // true
      
            result = var1 <= var2;
            System.out.println(result); // false
      
            result = var1 == var2;
            System.out.println(result); // false
      
            result = var1 != var2;
            System.out.println(result); // true
    


3) 증감연산자

  • 변수의 값을 1증가 또는 1감소 시키는 연산자
  • ++변수 : 다른 연산을 수행하기 전에 값을 1증가시킴
  • –변수 : 다른 연산을 수행하기 전에 값을 1감소시킴
  • 변수++ : 다른 연산을 먼저 수행한 후에 값을 1증가시킴
  • 변수– : 다른 연산을 먼저 수행한 후에 값을 1감소시킴


4) 대입연산자

  • 값을 변수에 저장하는 연산자

  • = : 우측의 값을 좌측 변수에 저장

  • += : 우측의 값을 좌측 변수와 더한뒤 다시 좌측 변수에 저장

  • -= : 우측의 값을 좌측 변수와 뺀뒤 다시 좌측 변수에 저장

  • *= : 우측의 값을 좌측 변수와 곱한뒤 다시 좌측 변수에 저장

  • /= : 우측의 값을 좌측 변수와 나눈뒤 다시 좌측 변수에 저장

  • %= : 우측의 값을 좌측 변수와 나머지 연산을 한 뒤 다시 좌측 변수에 저장

            int var1 = 100, var2 = 100, var3 = 100, var4 = 100, var5 = 100;
            var1 += 10;
            var2 -= 10;
            var3 *= 10;
            var4 /= 10;
            var5 %= 10;
      
            System.out.println("var1 += 10 : " + var1); // 110
            System.out.println("var2 -= 10 : " + var2); // 90
            System.out.println("var3 *= 10 : " + var3); // 1000
            System.out.println("var4 /= 10 : " + var4); // 10
            System.out.println("var5 %= 10 : " + var5); // 0
    


5) 논리연산자

  • 논리곱(&&), 논리합(   ), 배타적 논리합(^), 논리부정(!)
  • 피연산자가 논리형(boolean)

  • 양수는 0 음수는 1

  • 배타적 논리합(^) ; XOR

        A       ^       B       결과
        true            true    false
        true            false   true
        false           true    true
        false           false   false
    
  • 논리 부정(!)

            !A          결과
            true        false
            false       true
    


6)비트연산자

  • 데이터를 비트 단위로 연산

  • &, , ^, «, »
            int var1 = 28, var2 = 5, var3 = 2;
            System.out.println("var1 & var2 : " + (var1 & var2)); // 4
            System.out.println("var1 | var2 : " + (var1 | var2)); // 29
            System.out.println("var1 << var2 : " + (var1 << var2)); // 896
            System.out.println("var1 >> var2 : " + (var1 >> var2)); // 0
    


7) 삼항 연산자

  • 세 개의 피연산자가 필요로 하는 연산자
  • 앞의 조건식에 따라 콜론(;) 앞뒤의 피연산자가 선택
  • 조건 연산자
    • 조건 ? 값 : 값(결과가 논리형)



타입 변환

- 연산은 기본적으로 같은 타입의 피연산자 간에만 수행

- 서로 다른 타입의 피연산자가 있을 경우 두 피연산자 중 크기가 큰 타입으로 자동 변환됨

​ 예) 10 + 5.0 = 15.0 ​ int + double = double(자동 타입 변환)

✔ 강제 타입 변환

​ int -> byte ​ (byte)변수명

        byte var1 = 10;
        int var2 = var1; // 자동형변환
        System.out.println(var2);

        int var3 = 200;
        byte var4 = (byte)var3; // 강제형변환
        System.out.println(var4); // -128 ~ 127

        char var5 = 'A';
        int var6 = var5; // 자동형변환
        System.out.println(var6); // 65

        int var7 = 10;
        double var8 = 3.0;
        int var9 = 3;
        System.out.println(var7/var9);  //실수
        System.out.println(var7/var8);  //정수

태그:

카테고리:

업데이트: