java 数据类型

 

jdk jre jvm之间的关系

JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。

详见文下参考文献

 

进制转换

两两相互转换

十进制转二进制

方法一 降二次幂及减法混合运算

方法二 余数短除法除以二

 

Java基本数据类型 4个整型 2个浮点型 1个字符型 1个布尔型

byte short int long    float double    char    boolean

数据

存储要求

取值范围

默认值

byte

1字节

-128~127

0

short

2字节

-32 768~32 767

0

int

4字节

-2 147 483 648~2 147 483 647(20亿)

0

long

8字节

- 9 223 372 036 854 775 808~9 223 372 036 854 775 807

0L

float

4字节

大约±3.402 823 47E+38F(有效数为6~7位)

0.0f

double

8字节

大约±1.797 693 134 862 315 70E+308(有效位数为15位)

0.0d

char

2字节

‘\u0000~u\ffff’

‘\u0000’

boolean

--------

True/false

false

char类型用于表示单个字符.通常用来表示字符常量.例如:'A'是编码为65所对应的字符常量.与"A"不同,"A"是一个包含字符A的字符串.

java常用unicode编码. unicode编码单元可以表示为十六进制,其范围从\u0000到\Uffff.

除了可以采用转义序列符\u表示Unicode代码单元的编码之外,还有一些用于表示特殊字符的转义序列符.

 

boolean(布尔)类型有两个值: false 和 true ,用来判定逻辑条件.整型和布尔值之间不能进行相互转换.

 

源码 反码 补码

计算机使用二进制 并以补码的形式存储数据 便于解决正负计算的问题

以byte为例 1个字节 8位  0000 0000

首位为符号位 (正为0 负为1) 其余七位为数值位

取值范围 -128~127

-128的源码为1000 0000

源码变反码

正数不变

负数 符号位不变 数值位各位取反

源码变反码

正数不变

负数 符号位不变 数值位各位取反 末尾加1

 

数据类型转换

实线表示无信息丢失的转换

虚线表示可能有精度损失的转换

当两个数值进行二元操作时,想要将两个数转换为同一种类型,然后在进行计算.

·如果两个操作数中有一个是double 类型的,另一个操作数就会转换为double 类型.

·否则,如果其中一个操作数中有一个是float类型的,另一个操作数就会转换为float类型.

·否则,如果其中一个操作数中有一个是long类型的,另一个操作数就会转换为long类型.

·否则,两个操作数都将被转换为ing类型.

强制类型转换

强制类型转换的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名.

例如:

double x = 9.997;

int nx = (int)x;

这样,变量nx的值为9.强制类型转换通过截断小数部分将浮点值转换为整型.

如果想对浮点数进行舍如运算,以便得到最近进的整型,就需要使用Math.round方法:

double x = 9.997;

int nx = (int) Math.round(x);

现在,变量nx的值为10.当调用round时,仍要使用强制类型转换(int),因为round方法返回的结果为long类型,由于存在信息丢失的可能性,所以使用显式的强制类型转才能将long类型转换成int类型.

 

 

 

部分图片来源:

https://zh.wikihow.com/%E4%BB%8E%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E6%8D%A2%E4%B8%BA%E4%BA%8C%E8%BF%9B%E5%88%B6;

参考文献:

[1].http://playkid.blog.163.com/blog/static/56287260201372113842153/

[2]. Cay S. Horstmann著, 叶乃文等译, <<java核心技术,卷一(原书第八版)>> ,机械工业出版社,2008.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值