티스토리 뷰

개인공부/JAVA

Java 03 : 변수

Yowu 2014. 7. 14. 19:48


* 본 포스팅은 인피니티 북스의 Power JAVA 2판을 참고하여 작성되었습니다.

* 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다.


변수

  각 변수는 특정 값을 담아 둘 수 있다. 그리고 변수는 어떤 값을 받을지 정할 수 있는데 이를 자료형이라 한다. 자료형은 변수를 선언할 때 결정되며, 자바에서 변수는 기초형, 참조형이 있다. 기초형은 실제 값이 저장되며, 참조형은 실제 객체(Object)를 가리키는 주소가 저장된다.


기초형 변수는 다음과 같은 8가지의 자료형이 있다.

자료형

설명

크기 

byte

부호있는 정수 

8bit 

short 

부호있는 정수 

16bit

int 

부호있는 정수 

32bit 

long 

부호있는 정수 

64bit 

float 

실수 

32bit 

double 

실수 

64bit 

char 

문자(유니코드) 

16bit 

boolean 

true or false 

8bit 


정수형(Integer Type)

  아래의 소스코드는 정수형 자료형의 예제다. 빛이 1년동안 진행하는 거리를 계산하는 소스코드이며, 표현하려는 값의 크기가 크므로 long 자료형을 사용한다.

Light.java

public class Light {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        long lightspeed;
        long distance;
        
        lightspeed = 3000000;
        distance = lightspeed * 365L * 24 * 60 * 60;
        
        System.out.println("빛이 1년동안 가는 거리 : " + distance +"km.");
    }

}


논리형(Boolean Type)

  아래의 소스 코드는 논리 자료형의 예제다. true 혹은 false의 값만 가질 수 있으며, 논리형은 논리 연산을 수행하는 데 사용된다.

  C나 C++에서는 true는 1, false는 0으로 표현할 수 있었지만 JAVA에서는 불가능 하다. 즉, 정수값을 논리형으로 형변환 할 수 없다.

BooleanTest.java

public class BooleanTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        boolean b;  //boolean형은 true 혹은 false의 값만 가진다.
        
        b = true;
        System.out.println("boolean b : " + b);
        
        b = (1 > 2);
        System.out.println("1 > 2 : " + b);
        
        b = (10 > 1);
        System.out.println("10 > 1 : " + b);
        
        b = (10 != 10);
        System.out.println("10 != 10 : " + b);
        
    }
}


실수형(Float Type)

  아래의 소스 코드는 실수 자료형의 예제다. 자바에서는 floatdouble의 두가지 실수 자료형을 지원한다. floatdouble의 차이는 얼마나 많은 유효 숫자를 가질 수 있느냐이다. float은 7개 정도이며, double는 15개 정도다. 주로 double형을 사용하는게 좋다고 한다.

AreaTest.java

import java.util.Scanner;


public class AreaTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        double radius, area;
        final double PI = 3.141592;
        
        Scanner input = new Scanner(System.in);
        System.out.print("반지름을 입력하시오 : ");
        radius = input.nextDouble();
        
        area = PI * radius * radius;
        System.out.println("원의 면적 : " + area);
    }

}


  추가로 float 자료형에 다음과 같이 실수형 상수를 대입하면 오류가 난다.

float fl = 4.23;


  자바에서 실수형 상수는 double과 같은 64bit 크기를 가진다. 그러한 64bit 짜리 데이터를 32bit짜리 float에 집에 넣으려고 하기 때문에 발생하는 에러. 이를 회피하기 위해서는 다음과 같이 끝에 'f'를 붙이고 대입연산 해야한다.

float fl = 4.23f;



문자형(Character Type)

  문자 자료형인 char은 하나의 문자를 저장 할 수 있다. 하나의 char은 16bit로 표현되며, 이는 자바가 16bit 유니코드(UTF-16)를 사용하기 때문이다. 

  다음 표는 자바에서 사용하는 특수 문자들이다.

특수문자 표기 

의미 

\\ 

역슬래시 

\ 

연결자 

\b 

백스페이스 

\r 

캐리지 리턴 

\f 

폼피드 

\t 

수평 탭 

\n 

줄 바꿈 

\' 

단일 따옴표 

\" 

이중 따옴표

\udddd 

16진수 dddd에 해당하는 유니코드 문자 

\ddd 

8진수 ddd에 해당하는 문자 


  문자열(String)은 C나 C++의 문자의 배열이 아닌 클래스로 제공된다. 

String str = "Hello Java World";

  에서 str이 String 타입의 객체가 된다.



'개인공부 > JAVA' 카테고리의 다른 글

Java 08 : 필드와 메소드  (2) 2014.07.30
Java 07 : PowerJava2 p.169 LAB 1  (0) 2014.07.30
Java 06 : 문자열(String) 클래스  (0) 2014.07.30
Java 05 : 클래스와 객체  (0) 2014.07.30
Java 04 : 지나가는 switch 문 예제  (0) 2014.07.16
Java 03 : 변수  (5) 2014.07.14
Java 02 : 자바 프로그래밍 기초  (0) 2014.07.14
Java 01 : 자바 소개, 개발 도구  (1) 2014.07.14
프로필사진

Yowu (Yu Yongwoo)

흔한 백엔드 개발자입니다
우분투 데스크탑 개발 환경을 선호합니다
최근에는 vscode에 neovim 모드 올려서 쓰고 있습니다
개발용 키보드는 역시 해피해킹 프로2 무각입니다
락 밴드에서 드럼을 쳤습니다

«   2020/08   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
글 보관함
Total
2,892,801
Today
823
Yesterday
1,126