虽然申请博客已经有一段时间了,却是第一次写博客,有点激动,不知道该写些什么,刚好大三老学姐正值找实习工作之际,每天都会刷一点题,现在在看Java程序员面试笔试宝典一书,刚好把里面的题每天总结5道,写在博客里,一来自我督促,保持每天都会刷题,二来自我加深印象,三来可以省去大家的整理时间,如果能对朋友们有那么一点点的帮助,我也会开心很久的小白渣渣,欢迎大家指正,也欢迎转发给需要的小伙伴们,只需指明出处就好!
啦啦啦,每天进步一点点
正文正文正文啦啦啦啦:
Java基础知识:
36,int和ingteger有什么区别?
参考答案:Java语言提供两种不同的类型,即引用类型和原始类型(或内置类型)。Int是Java语言的原始数据类型,Integer是Java语言为int提供的封装类。Java为每个原始类型提供了封装类。
引用类型与原始类型的行为完全不同,并且它们具有不同的语义。而且,引用类型与原始类型具有不同的特征和用法。
37,赋值语句float f=3.4是否正确?
参考答案:不正确。数据3.4默认情况下是double类型,即双精度浮点数,将double类型数值赋值给float类型的变量,会造成精度损失,因此需要对其进行强制类型转换,即将3.4转换成float类型或者将3.4强制写出float类型。所以,float f = (float)3.4 或者float f=3.4F
38,下列说法中,正确的是()。
A, call by value不会改变实际参数的值
B, call by reference能改变实际参数
C, call by reference不能改变实际参数的地址
D,call by reference能改变实际参数的内容
参考答案:A、C、D。
解析:Java语言提供了两种参数传递的方式:值传递和引用传递
1) 值传递:在方法调用中,实参会把它的值传递给形参,形参只是用实参的值初始化一个临时的存储单元,因此形参与实参虽然有相同的值,但是却有不同的存储单元,因此对形参的改变不影响实参的值。
2) 引用传递:在方法调用中,传递的是对象(也可以看作是对象的地址),这时形参与实参的对象指向同一块存储单元,因此对形参的修改就会影响实参的值。
(Java中,除了8种基本的数据类型用的是值传递,其他所有类型都用的是引用传递)
39,下列程序的运行结果是什么?
inti = 1;
if(i)
System.out.println(“true”);
else
System.out.println(“false”)
参考答案:编译错误。因为if条件只接受boolean类型的值(true或false),而i的类型为int,int类型不能被隐式地转换成boolean类型。
40,对于下列代码结果强制类型转换后,变量a和b的值分别是
short a=128;
byte b = (byte)a;
参考答案:a = 128;b = -128。short类型变量占两个字节,a对应的二进制为:0000000010000000,由于byte只占一个字节,在强制转换为byte的时候只截取低字节:10000000,10000000是-128的补码,因此b的值为-128 。
注:参考Java程序员面试笔试宝典(PS:这里只是总结摘抄一部分题,建议有精力的同学可以去看看书哈,那里更全面。)