java的数据类型大小写,JAVA数据类型

JAVA数据类型

java的标识符的命名规则

做到"见名知意"

只有由

1)26个字母(区分大小写)

2)0~9的数字

3)$(美元符号)

4)_(下划线)

组成

注意事项

1)不能数字打头

2)不能使用关键字

3)严格区分大小写

java的数据类型

java是一种强类型语言,必须先定义后使用

数据类型

基本数据类型

整数型 字节数 取值范围

字节型 byte 1 2^7-1 ~ -2^7

短整型 short 2 2^15-1 ~ -2^15

整型 int 4 2^31-1 ~ -2^31

长整型 long 8 2^63-1 ~ -2^63

浮点型

单精度浮点型 float 4

双精度浮点型 double 8

字符型 char 2 0 ~65536

布尔型 boolean 1 只有true和false

引用数据类型

数组

接口

定义long类型变量,变量值必须有L(大小写都可以)

定义float类型变量,变量值必须有F(大小写都可以)

byte a = 100;

short b = 200;

int c = 300;

long d = 400L;

float w1 = 10.12132L;

double w2 = 231.128131;

比较时最好避免使用浮点数,使用java提供BigDecimal

浮点数 有限 舍入 离散 接近但不等于

进制转换

进制

二进制 "逢二进一" 用0b表示

八进制 "逢八进一" 用0表示

十进制 "逢十进一"

十六进制 "逢十六进一" 用0x表示

8421码

除基取余法

计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。

二进制表示法,最高位为符号位;"0"表示正数,"1"表示负数。

正数的原反补一样

负数的原码 最高位为1

反码 除符号位外全部取反

补码 在反码的基础末尾+1

例如:已知某数X的原码为10110100B,试求X的补码和反码。

0B代表二进制

反码 1100101

补码 1100110

类型转换

范围小 范围大

byte,short,char --->int ---> long --->float --->double

byte,short,char参与运算,先转换成int类型

强制类型转换(隐式类型转换):将范围大的类型转换范围小的类型

自动类型转换(显示类型转换):将范围小的类型转换范围大的类型

注意事项:

1)不能对布尔类型进行转换

2)不能将对象类型转换成不相干类型

3)强制转换,可能存在内存溢出和精度问题

数据类型常见的面试题

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是编译失败的呢?为什么呢?

b=3+4 ,3和4都是常量,所以java在编译时期会检查该常量的和是否超出byte类型的范围。如果

没有可以赋值。

b=b1+b2不可以,是因为b1和b2是变量,因为变量的值会变化,不确定具体的值,所以默认使用

int类型进行存储。

面试题

byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?

有问题,byte取值范围为 127 ~ -128 会溢出,需要强转

byte b = (byte)130;

"计算底层运算通过补码来进行的"

最高位符号位

补码: 1 0000010

反码: 1 0000001

原码: 1 1111110

结果为 -(2^6+2^5+2^4+2^3+2^2+2^1+0)= -126;

标签:类型转换,JAVA,java,补码,数据类型,反码,byte

来源: https://blog.csdn.net/qq_44808059/article/details/114752849

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值