b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

java递归算法 java面试题

电脑杂谈  发布时间:2018-01-18 14:08:44  来源:网络整理

java递归算法_递归算法实现步骤_java递归算法1加到100

4、float f=3.4;是否正确?

答案:不正确。

原因:精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f

在java里面,没小数点的默认是int,有小数点的默认是 double;

编译器可以自动向上转型,如int 转成 long 系统自动转换没有问题,因为后者精度更高

double 转成 float 就不能自动做了,所以后面的加上个 f;

5、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?

1.高位转低位需要强制转换

2.低位转高位自动转.

因为S1是short型的,占2个字节,而1是int型的,占4个字节。在两个类型的值相加的时候,会发生自动类型的提升,要不然数据也装不下呀,是这个道理吧*_*。也就是说s1+1后,其结果是int型的,而不是short型的,所以可以想想看,把4个字节的东西放在两个字节的空间里,肯定编译不通过。

后面的那个不会发生类型的提升,JAVA规范上说【e1+=e2 实际上是 e1=(T1)(e1+e2) 】,其中T1是e1的数据类型。 s1+=1等效于 s1=(short)(s1+1),所以是正确的。

9、解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法。

通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;而通过new关键字和构造器创建的对象放在堆空间;程序中的字面量(literal)如直接书写的100、“hello”和常量都是放在静态存储区中。栈空间操作最快但是也很小,通常大量的对象都是放在堆空间,整个内存包括硬盘上的虚拟内存都可以被当成堆空间来使用。

String str = new String(“hello”);

上面的语句中str放在栈上,用new创建出来的字符串对象放在堆上,而“hello”这个字面量放在静态存储区。

10、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.

11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?

/**

* 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上

* 基本类型的包装类(如:Character、Byte、Short、Integer)

*

* switch可作用于char byte short int

* switch可作用于char byte short int对应的包装类

* switch不可作用于long double float boolean,包括他们的包装类

* switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-61031-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 朱允炆
      朱允炆

      康师傅有小鬼子股份

    • 裴仪
      裴仪

      最好还是滚出地球吧

    • 周溥溥
      周溥溥

      在干粉下还能生蛆太扯了吧

    每日福利
    热点图片
    拼命载入中...