티스토리 뷰
* 본 포스팅은 인피니티 북스의 Power JAVA 2판을 참고하여 작성되었습니다.
* 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다.
각 변수는 특정 값을 담아 둘 수 있다. 그리고 변수는 어떤 값을 받을지 정할 수 있는데 이를 자료형이라 한다. 자료형은 변수를 선언할 때 결정되며, 자바에서 변수는 기초형, 참조형이 있다. 기초형은 실제 값이 저장되며, 참조형은 실제 객체(Object)를 가리키는 주소가 저장된다.
기초형 변수는 다음과 같은 8가지의 자료형이 있다.
자료형 |
설명 |
크기 |
byte |
부호있는 정수 |
8bit |
short |
부호있는 정수 |
16bit |
int |
부호있는 정수 |
32bit |
long |
부호있는 정수 |
64bit |
float |
실수 |
32bit |
double |
실수 |
64bit |
char |
문자(유니코드) |
16bit |
boolean |
true or false |
8bit |
아래의 소스코드는 정수형 자료형의 예제다. 빛이 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.");
}
}
아래의 소스 코드는 논리 자료형의 예제다. 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와 double의 두가지 실수 자료형을 지원한다. float과 double의 차이는 얼마나 많은 유효 숫자를 가질 수 있느냐이다. 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;
문자 자료형인 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 02 : 자바 프로그래밍 기초 (0) | 2014.07.14 |
Java 01 : 자바 소개, 개발 도구 (1) | 2014.07.14 |