Java数据类型的取值范围
在JAVA中一共有八种基本数据类型,他们分别是
byte、short、int、long、float、double、char、boolean
整型
其中byte、short、int、long都是表示整数的,只不过他们的取值范围不一样
byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
注意:在long类型里面,不要忘记在后面加上L
举例:181698518154L
浮点型:float/double
float和double是表示浮点型的数据类型,他们之间的区别在于他们的精确度不同
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。
boolean型(布尔型)
这个类型只有两个值,true和false(真和非真)
boolean t = true;
boolean f = false;
char型(文本型)
用于存放字符的数据类型,占用2个字节
Java和Mysql数据库的类型对照
类型名称 | 数据库类型 | JAVA类型 |
VARCHAR | VARCHAR | java.lang.String |
CHAR | CHAR | java.lang.String |
BLOB | BLOB | java.lang.byte[] |
TEXT | VARCHAR | java.lang.String |
INTEGER | INTEGER UNSIGNED | java.lang.Long |
TINYINT | TINYINT UNSIGNED | java.lang.Integer |
SMALLINT | SMALLINT UNSIGNED | java.lang.Integer |
MEDIUMINT | MEDIUMINT UNSIGNED | java.lang.Integer |
BIT | BIT | java.lang.Boolean |
BIGINT | BIGINT UNSIGNED | java.math.BigInteger |
FLOAT | FLOAT | java.lang.Float |
DOUBLE | DOUBLE | java.lang.Double |
DECIMAL | DECIMAL | java.math.BigDecimal |
BOOLEAN | 同TINYINT | |
ID | PK (INTEGER UNSIGNED) | java.lang.Long |
DATE | DATE | java.sql.Date |
TIME | TIME | java.sql.Time |
DATETIME | DATETIME | java.sql.Timestamp |
TIMESTAMP | TIMESTAMP | java.sql.Timestamp |
YEAR | YEAR | java.sql.Date |
在时间类型当中,我要提及一下。鉴于上面的问题,时间类型不容易处理,需要进行转换,现在jdk1.8之后,我们有更好的类来进行处理,下面是处理时间格式的举例:
时间类型的转换
类型名称 | 数据库类型 | JAVA类型 |
DATETIME | DATETIME | java.time.LocalDateTime |
TIME | TIME | java.time.LocalTime |
DATE | DATE | java.time.LocalDate |
格式:该类数据库存储格式 2018-04-12 13:31:44
举例:
数据库类型:
model层:
1. private int id; 2. private String name; 3. private String address; 4. private LocalDateTime idatetime; 5. private LocalTime timetest; 6. private LocalDate datetest;
serviceimpl类
1. d.setId(14); 2. d.setName("张三"); 3. d.setAddress("济南"); 4. d.setIdatetime(LocalDateTime.now()); 5. d.setDatetest(LocalDate.now()); 6. d.setTimetest(LocalTime.now());
数据库存储:
是不是很不错...................