java初学常见问题_Java初学者的30个常见问题

本文回答了30个JAVA入门级初学者的常见问题。 我可以用%除以一个小数吗? a = b 和 a = a b 的效果有区别吗? 声明一个数组为什么需要花费大量时间? 为什么JAVA库不用随机pivot方式的快速排序?

1基本数据类型

Q.为什么 -0/3 结果是0,而 -0.0/3.0 结果是-0.0?(注意后边的结果0带负号)

A.在Java里,整数是用补码表示的。在补码中0只有一种表示方法。另一方面,浮点数则是用IEEE 标准表示的, 对于0有两种表示方法, 0 和-0。

Q.我可以用%除以一个小数吗?

A.当然可以。比如,如果angle是一个非负数,那么angle % (2 * Math.PI)就会把 angle 转换到 0 到2 π之间。

Q.当 a b 都是基本类型变量时,a = b和a = a b的效果有区别吗?

A.当 a 和 b 的类型不同时,那两条语句的效果就可能有区别。a = b等同于a = (int) (a b),这种情况下可以是a是int型,b是float型。但是同等情况下a = a b就会编译报错。

2条件语句和循环语句

Q.为什么判断字符串相等不能使用==?

A.这反映了基础类型(int,double,boolean)和引用类型(String)的区别。

Q.有没有在什么情况下,一条语句块的花括号不能省略的?

A.在下面的例子中,第一段代码是合法的,第二段代码会引发编译错误。从技术角度说,那一条语句是一个变量声明,而不是语句,所以会报错。

//legalfor (int i = 0; i

Tag标签:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值