오라클자바커뮤니티에서 설립한 개발자실무교육6년차 오엔제이프로그래밍 실무교육센터
(신입사원채용무료교육, 오라클, SQL, 튜닝, 자바, 스프링, Ajax, jQuery, 안드로이드, 아이폰, 닷넷, C#,
ASP.Net) www.onjprogramming.co.kr
1. 정수 자료형 (byte,short,int,long)
자바에서 제공하는 정수 자료형은 byte, short, int, long 4가지가 있습니다.(1,2,4,8 바이트 순)
C언어의 unsigned는 지원하지 않습니다.
short, byte에 연산을 하면 무조건 int형이 됩니다. 아래의 예를 보죠...
short a=0, b=0;
short c = a + b;
만약 위의 코드 부분이 컴파일 되다면 다음과 같은 오류가 날것 입니다.
---------- javac ----------
test.java:10: possible loss of precision
found : int
required: short
short c = a + b;
^
1 error
int형이 아닌 long형으로 데이터를 다루기 위해선 숫자 끝에 소문자 l이나 대문자 L을 표시한다.
Int : 12 (10진수), 012 (8진수), 0x12 (16진수)
Long : 12L, 12l
2. 부동소수 자료형 (float ,double)
자바에서 제공하는 부동소수 자료형은 float와 double이 있습니다.
부동소수 자료형 뒤에 아무것도 붙이지 않거나 ‘d’ 또는 ‘D’ 가 붙으면 기본적으로 double 형이 되며 ‘f’, ‘F’를 붙이면 float 자료형이 됩니다.
유효 10진 자리수
float : 6자리, double : 15자리
2진수로 표현하므로 표현 오차 발생하며 보다 정확한 표현을 하려면 BigDecimal 이용하세요~
리터럴
float --> 1e1f, 2.F, .3f, 6.02E+23f, 1.4039846e-45f ~ 3.40282347e+38f
double --> 1e1, 2.D, .3, 6.02E+23d, 4.94065645841246544e-324 ~ 1.79769313486231570e+308
[예제]
// FloatPointTest.java
class FloatingPointTest
{
public static void main( String[] args )
{
System.out.println( 1.2345678901234567890123456789 ); // 1.2345678901234567
System.out.println( 2e3 ); // 2000.0
System.out.println( 0.1 + 1.6 ); // 1.7000000000000002
System.out.println( 3.0 / 0.0 ); // Infinity
System.out.println( 0.0 / 0.0 ); // NaN
}
}
3. 진리 자료형 (boolean)
boolean Literal : true, false
boolean 형은 다른 데이터형과 연산이 불가하며 boolean형은 boolean 형과 연산이 가능 합니다.
[예제]
public class BooleanTest {
public static void main(String[] args) {
boolean b1 = true; boolean b2 = !b1;
System.out.println("b1 : " + b1);
System.out.println("!b1 : " + b2);
System.out.println(b1 & b2);
System.out.println(b1 | b2);
System.out.println(b1 == b2);
System.out.println(" 6 < 7 : " + (6 < 7));
}
}
[결과]
b1 : true
!b1 : false
false
true
false
6 < 7 : true
4. 문자 자료형 (char)
자바는 유니코드를 지원하는데 JDK1.4부터는 Unicode 2.0까지 지원합니다.
한 문자를 표현할 때는 '와 ' 사이에 단 한 글자만이 올 수 있습니다.
자바에서 문자를 표현하는 방법은 두가지가 있는데 첫번째 방법은 있는 그대로 쓰는 것이며 두번째 방법은 유니코드로 표현하는 방법이다. 예)char c = ‘A’, char c = ‘\u0041’
[예]
class CharTest {
public static void main(String[] args) {
char c1 = 'A'; char c2 = '\u0041';
char c3 = '가'; char c4 = '\uac00';
System.out.println("c1:"+c1+",c2:"+c2);
System.out.println(c1 == c2);
System.out.println("c3:"+c3+",c4:"+c4);
System.out.println(c3 == c4);
}
}
[결과]
c1:A,c2:A
true
c3:가,c4:가
true
댓글 없음:
댓글 쓰기