您的位置:首页 > 数据库 > Oracle

Mysql,Oracle,Java数据类型对应

2015-12-23 12:43 731 查看
MysqlOracleJava
BIGINT
NUMBER(19,0)
java.lang.Long

BIT
RAW
byte[]

BLOB
BLOB RAW
byte[]

CHAR
CHAR
java.lang.String

DATEDATEjava.sql.Date
DATETIMEDATEjava.sql.Timestamp
DECIMALFLOAT (24)java.math.BigDecimal

DOUBLEFLOAT (24)java.lang.Double
DOUBLE PRECISIONFLOAT (24)java.lang.Double
ENUMVARCHAR2java.lang.String

FLOATFLOATjava.lang.Float
INT
NUMBER(10,0)
java.lang.Integer
INTEGER

NUMBER(10,0)
java.lang.Integer
LONGBLOBBLOB RAWbyte[]
LONGTEXTCLOB RAWjava.lang.String
MEDIUMBLOBBLOB RAWbyte[]
MEDIUMINT

NUMBER(7,0)java.lang.Integer

MEDIUMTEXTCLOB RAWjava.lang.String
NUMERICNUMBER
REALFLOAT (24)
SET
VARCHAR2
java.lang.String

SMALLINT
NUMBER(5,0)
java.lang.Integer

TEXT

VARCHAR2 CLOBjava.lang.String

TIMEDATEjava.sql.Time
TIMESTAMPDATEjava.sql.Timestamp
TINYBLOBRAWbyte[]
TINYINTNUMBER(3,0)java.lang.Boolean
TINYTEXTVARCHAR2java.lang.String
VARCHARVARCHAR2 CLOBjava.lang.String
YEAR

NUMBERjava.sql.Date(日期设为2月1日晚上2点)
//字节数与对应关系

Java 占用字节数

数据类型 大小(二进制位数)                 范围                                                                                 默认值

byte(字节) 	         8                     -128 - 127                                                                                             0
shot(短整型)            16                   -32768 - 32768                                                                                      0
int(整型)                  32                    -2147483648-2147483648                                                                    0
long(长整型)            64                   -9233372036854477808-9233372036854477808                                0
float(浮点型)            32                   -3.40292347E+38-3.40292347E+38                                                     0.0f
double(双精度)	        64                 -1.79769313486231570E+308-1.79769313486231570E+308              0.0d
char(字符型)           16                  ‘ \u0000 - u\ffff ’                                                                                      ‘\u0000 ’


boolean(布尔型)      1                   true/false                                                                                                 false





JAVA基本数据类型所占字节数是多少?

byte1字节
short2字节
int4字节
long8字节
char2字节(C语言中是1字节)可以存储一个汉字
float4字节
double8字节
booleanfalse/true(理论上占用1bit,1/8字节,实际处理按1byte处理)

JAVA是采用Unicode编码。每一个字节占8位。你电脑系统应该是 32位系统,这样每个int就是 4个字节


其中一个字节由8个二进制位组成


Java一共有8种基本数据类型(原始数据类型):
类型  存储要求 范围(包含) 默认值 包装类
整 int 4字节(32位) -231~ 231-1 0 Integer
数 short 2字节(16位) -215~215-1 0 Short
类 long 8字节(64位) -263~263-1 0 Long
型 byte 1字节(8位) -27~27-1 0 Byte
浮点 float 4字节(32位) -3.4e+38 ~ 3.4e+38 0.0f Float
类型 double 8字节(64位) -1.7e+308 ~ 1.7e+308 0 Double
字符 char 2字节(16位) u0000~uFFFF(‘’~‘?’) ‘0’ Character
(0~216-1(65535))
布尔 boolean 1/8字节(1位) true, false FALSE Boolean



在移动开发中由于移动设备内存的局限性,往往需要考虑使用的数据类型所占用的字节数。下面简单介绍下Java中几种基本数据类型,以加深记忆。

在Java中一共有8种基本数据类型,其中有4种整型,2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型和1种用于表示真值的boolean类型。(一个字节等于8个bit)

1.整型

类型 存储需求 bit数 取值范围 备注

int 4字节 4*8

short 2字节 2*8 -32768~32767

long 8字节 8*8

byte 1字节 1*8 -128~127

2.浮点型

类型 存储需求 bit数 取值范围 备注

float 4字节 4*8 float类型的数值有一个后缀F(例如:3.14F)

double 8字节 8*8 没有后缀F的浮点数值(如3.14)默认为double类型

3.char类型

类型 存储需求 bit数 取值范围 备注

char 2字节 2*8

4.boolean类型

类型 存储需求 bit数 取值范围 备注

boolean 1字节 1*8 false、true

补充:Java有一个能够表示任意精度的算书包,通常称为“大数值”(big number)。虽然被称为大数值,但它并不是一种Java类型,而是一个Java对象。
如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigIntegerBigDecimal(Android SDK中也包含了java.math包以及这两个类)这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。具体的用法可以参见Java
API。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: