java面试题整理

 

1、原题:Math.round(11.5) 等于多少?Math.round(-11.5)等于多少? 【ydtf】
答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。

 

2、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?【ydtf】

当然有错误,short占2个字节,int占4个字节,short型变量+上int型值计算结果是int型,占4个字节,然后付给一个short型变量s1,

就要丢失2个字节的精度,这是不容许的。你非要这么做的话,我给你提供一个办法:
s1=s1+1;改成s1+=1;虽然是一个意思,但是在jvm里面是不同的方法做的,是运算符重载,所以是不一样的。

 

3、java中3*0.1==0.3将会返回什么?true还是false?[参考:float和double的区别]

fale,因为浮点数不能完全精确的表示出来,一般会损失精度。

 

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

不正确,3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于向下转型会造成精度损失,因此需要强制类型转换float f = (float)3.4;或者写成 float f = 3.4f;才可以。

        System.out.println(3*0.1); //0.30000000000000004
        System.out.println(3*0.1==0.3); //false
        
     // float是8位有效数字,第7位数字将会四舍五入
        float a = 1.32344435f;
        System.out.println(a);//1.3234444

 

5、在调用方法时,若要使用方法改变实参的值,可以 ( A )   【zyhy】

A、用引用数据类型作为参数
B、用基本数据类型作为参数
C、A和B都对
D、A和B都不对

6、Character流与Byte流的区别是( C )。 【zyhy】  

A.每次读入的字数相同
B.前者带有缓冲,后者没有
C.前者是块读写,后者是字节读写
D.二者没有区别,可以互换使用  

解析:  参考【Character流与Byte流的区别

  本题主要考查Java语言的I/O流知识点。选项A错误,前者是以字符为单位的块读写,后者是以字节为单位的读写;一般一个字符占两个字节,

所以它们每次读入的字符数不相等;选项B错误,两者都不带有缓冲;选项C正确。前者是以字符为单位的块读写,后者是以字节为单位的读写:选项D

错误,字符流是特殊类型的字节流,它仅仅处理文本数据,而字节流是一种较通用的流,它可以用于任何文件形式的流,故此选项中说它们没有区别,

可以互换使用是不正确的。故本题答案是C。

 

 7. 字符串常量

看这一篇就够了:https://blog.csdn.net/weixin_40304387/article/details/81071816

 

 

 

java基础笔试题:

参考:https://wenku.baidu.com/view/883115a0336c1eb91b375d20.html

posted @   一帘幽梦&nn  阅读(177)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击查看具体代码内容
点击右上角即可分享
微信分享提示