JAVA基本类型运算面试必须要知道的几个问题

类型转换,在有的时候JAVA会自动的转换(byte->short(char)->int->long)当然你也可以写出来,虽然是多余的,但是代码更明白。有的时候我们进行的是高精度的转换成低的,那我们就必须进行强制转换(long i=1;int a=(int) i)。

1.
short a=1;
1.1
a=a+1 //错误,因为1是默认的 那就是int,相加后就是int ,而a是short的,这时候只能强制转换。
1.2
a+=a //对的,原理像赋值语句那样

2.
把29.7变成int型是29还是30??
是29,如果要四舍五入,那么就要用java.lang.Math中的round()方法。

3.
short a=1;short b=2;short c=a+b;//错误,因为只要比int小(char,byte,short),那么在计算之前就会变成int,结果就是int了。

4.
int a=1;a++;++a//如果这2个单独拿出来。就是没有=,那么结果都是一样2,但是如果int c=a++,d=++a;那么c就是1,d是2;

5,
&与&&的区别:

&是按位运算符,用在2进制的计算,而&&是逻辑运算符,用来判断用到(还是短路运算符哦,如果有一个flase,那么后面的就不用判断了,效率高)

6.
移位运算符(左移<<,右移>>,无符号右移>>>)是对2进制而言。是一种高效的运算。
2*16(2<<4) 16/8(16>>3)

7.
3-2.6==0.4//false,因为由于精度的问题,结果是0.3999999999999……那么怎么样才能正确呢,我们可以用BigDecimal进行浮点数计算

8.
你会发现java是没有sizeof的,因为在java中的所有数据类型在所有机器中的大小都是相同的。

9.
int与Integer的区别:
int是基本类型,然Integer是int的封装类,是一个类对象来使用的,里面有方法

10.
基本类型的值是直接存在变量中的,只有new方法出的变量存放的是引用。

11.
int a=1;a=a++与a=++a,这也要注意一下,第一个是a=1,都2个a=2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值