tinyint对应java中什么类型_Java中的8种数据类型详解

Java数据类型

  • 基本数据类型
    • int(整形)
    • long(长整型)
    • double(双精度浮点型)
    • float(浮点型)
    • short(短整型)
    • char(字符型)
    • byte(字节型)
    • boolean(布尔型)
  • 注意事项

一、基本数据类型

http://1.int(整形)

整形类型,无论机器型号(因为有JVM,java的所有类型都是固定大小的),整形在java中占四个字节。

其对应的包装类: Integer

取值范围:-2147483648 -> 2147483647,如果赋值超出此范围会报错(如图)

af5b8293d3ad226e8793ecd25d7d6e57.png

2.long(长整型)

大小:8个字节

对应的包装类:Long

取值范围:-9223372036854775808 -> 9223372036854775807 (基本上可以表示能遇到的所有大小了)

定义方法:默认的数字是int型,所以定义是需要说明:

long a = 10L;//或10l(不过根据阿里巴巴java规范 不推荐写成小写的l,毕竟容易被看成1)

3.double(双精度浮点型)

大小: 8个字节

注意事项:

  1. java中的小数默认是double类型,不是float类型
  2. Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势必会存在一定的精度误差。如下:
double num = 1.1;
System.out.println(num * num)
    
// 执行结果
1.2100000000000002

4.float(浮点型)

大小:4个字节

对应的包装类:Float

注意事项:float 类型在 Java 中占四个字节, 同样遵守 IEEE 754 标准. 由于表示的数据精度范围较小, 一般在工程上用到浮点数都考虑使用double类型,不推荐使用float类型。

定义:默认是double所以需要说明,不加说明会报错(相当于把一个double类型赋值给一个float类型的变量,这样会有可能有精度损失,因此会报错)

a5aa0b8926a1a621d5f8741ae8831a47.png
float num = 1.0f;//或1.0F

5.short(短整型)

大小:2个字节

对应的包装类:Short

取值范围:-32768 ->32767

6.char(字符型)

大小:2个字节

对应的包装类:Character

注意事项:这点与c语言的char类型不同,java中采用的是Unicode编码,因此char类型可以赋值给一个汉字,但是在编译时可能会出现如下情况(编码格式不对):

Test.java:3: 错误: 未结束的字符文字
 char ch = '鍛?'; 
 			^

解决上述情况需要在javac编译时加上:

javac -encoding UTF-8 Test01.java

7.byte(字节型)

大小:一个字节

对应的包装类:Byte

取值范围:-128 -> 127

注意事项:可以直接赋值,但是超出范围会报错,不过可以通过强制类型转换进行赋值 :

int a = 128;
byte b = (byte)a;
System.out.println(b);
//运行结果:-128

byte b = -128;
b--;
System.out.println(b);
//运行结果:127

byte a = 127;
a++;
System.out.println(a);
//运行结果:-128

8.boolean(布尔型)

大小:没有明确的规定,有的说一个字节,有的说占一个比特位。

取值范围:只有true或者false。

对应的包装类:Boolean

注意事项:1)boolean类型不能和其他基本数据类型之间进行相互转换。

61f6777487216154f0b56ea4a0a098a2.png

2)在java中不能用0表示false,也不能用非零表示true。

1489bbd9d28d59906151c0a1928a7537.png

二、注意事项

  1. java中不存在无符号类型数据,所有的基本数据类型都是有符号的。
  2. 因为有JVM的存在,java的数据类型的大小(所占的字节数)不会因为机器的变化而发生变化。
  3. java中的所有基本数据类型需要初始化才能使用,不然会报错(编译时报错)。
  4. java小的类型赋值给大类型需要进行强制类型转换(可能产生精度损失,因此java会让用户来决定是否要这么做,推卸责任),小的类型赋值给大的不用强转(默认进行)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值