Java初学者的30个常见问题 | 您所在的位置:网站首页 › 学生成绩统计java程序中会遇到的问题及解决 › Java初学者的30个常见问题 |
学习Java的同学注意了!!! 学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:434987175 我们一起学Java! 本文回答了30个JAVA入门级初学者的常见问题。 我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间? 为什么JAVA库不用随机pivot方式的快速排序?
1.2 基本数据类型 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 就会编译报错。
1.3 条件语句和循环语句 Q. 为什么判断字符串相等不能使用 == ? A. 这反映了基础类型(int, double, boolean)和引用类型(String)的区别。 Q. 有没有在什么情况下,一条语句块的花括号不能省略的? A. 在下面的例子中,第一段代码是合法的,第二段代码会引发编译错误。从技术角度说,那一条语句是一个变量声明,而不是语句,所以会报错。 ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |