Interview
文章平均质量分 52
yyqhwr
这个作者很懒,什么都没留下…
展开
-
基本数据类型float和double的区别
float : 单精度浮点数double : 双精度浮点数两者的主要区别如下: 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 03.数值取值范围 单精度浮点数的表示范围:-3.40E+38~3.4...原创 2018-03-27 14:20:59 · 16578 阅读 · 2 评论 -
Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。所谓向上取整指当计算的结果不为整数时取大于计算结果的整数,向下取整指当计算的结果不为整数时取小于计算结果的整数.当计算结果为整数时直接取整数...转载 2018-03-27 17:06:26 · 3406 阅读 · 0 评论 -
解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。
答:通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、”hello”和常量都是放在静态区中。栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。1String...原创 2018-03-27 17:01:23 · 680 阅读 · 0 评论 -
什么情况下用+运算符进行字符串连接比调用StringBuilder对象的append方法连接字符串性能更好?
经常在网上看到或者在周围听到有人说字符串拼接不要直接用 String 相加, StringBuilder 的效率要比 String 直接相加拼接要高。还有人常说, StringBuffer 是同步的(线程安全的), StringBuilder 不是线程安全的,同步带来了性能消耗,那么 String 、 StringBuilder 、 StringBuffer 这三者的效率到底有多大的差距呢?Tal...转载 2018-03-27 16:50:54 · 1029 阅读 · 0 评论 -
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
答:是值传递。Java语言的方法调用只支持参数的值传递。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的属性可以在被调用过程中被改变,但对对象引用的改变是不会影响到调用者的。C++和C#中可以通过传引用或传输出参数来改变传入的参数的值。在C#中可以编写如下所示的代码,但是在Java中却做不到。12345678910111213141516171819using Sys...原创 2018-03-27 16:45:16 · 830 阅读 · 0 评论 -
Java 中 Equals和==的区别
在谈论equals和==的区别前,我们先简单介绍一下JVM中内存分配的问题。在JVM中 内存分为栈内存和堆内存。二者有什么区别呢?当我们创建一个对象(new Object)时,就会调用它的构造函数来开辟空间,将对象数据存储到堆内存中,与此同时在栈内存中生成对应的引用,当我们在后续代码中调用的时候用的都是栈内存中的引用,还需注意的一点,基本数据类型是存储在栈内存中。有了一定的了解 我们来看Equal...原创 2018-03-27 16:07:35 · 183 阅读 · 0 评论 -
&和&&的区别
答:&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不...原创 2018-03-27 14:47:27 · 12042 阅读 · 1 评论 -
int和Integer有什么区别
答:Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。Java 为每个原始类型提供了包装类型:- 原始类型: boolean,char,by...原创 2018-03-27 14:45:37 · 140 阅读 · 0 评论 -
short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
答:对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型。而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型转换。...原创 2018-03-27 14:23:22 · 337 阅读 · 0 评论