位置: IT常识 - 正文

Java基础面试题突击系列5(java基础面试题选择题)

编辑:rootadmin
Java基础面试题突击系列5

推荐整理分享Java基础面试题突击系列5(java基础面试题选择题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:java基础面试题及答案,java基础面试题应届生,java基础面试题文档,java基础面试题及答案,java基础面试题 集合,java基础面试题目,java基础面试题目,java基础面试题应届生,内容如对您有帮助,希望把文章链接给更多的朋友!

👩🏻 作者:一只IT攻城狮 ,关注我不迷路 ❤️《java面试核心知识》突击系列,持续更新… 💐 面试必知必会学习路线:Java技术栈面试系列+SpringCloud项目实战学习路线 📝再小的收获x365天都会成就不一样的自己,一起学习,一起进步。

文章目录一、java反射二、instanceof 关键字的作用三、Java 序列化中如果有些字段不想进行序列化,怎么办?四、&和&&的区别?五、3*0.1 == 0.3返回值是什么六、用最有效率的方法计算 2 乘以 8?七、float f=3.4;是否正确?八、Java 中的Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?九、switch 是否能作用在 byte 上,是否能作用在 long 上?十、char 型变量中能不能存贮一个中文汉字?十一、String s = new String(“xyz”);创建了几个字符串对象?十二、如何实现字符串的反转及替换?十三、怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?十四、阐述 final、finally、finalize 的区别十五、是否可以继承 String 类?一、java反射

1、定义: 反射机制是在运行时,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意个对象,都能够调用它的任意一个方法。在java中,只要给定类的名字,就可以通过反射机制来获得类的所有信息。 这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。

2、哪里会用到反射机制?

jdbc就是典型的反射 Class.forName('com.mysql.jdbc.Driver.class');//加载MySQL的驱动类这就是反射。如mybatis等框架使用反射实现的。

反射的核心是获取class对象,获取 Class 对象的 3 种方法 1)调用某个对象的 getClass()方法 2)调用某个类的 class 属性来获取该类对应的 Class 对象 3)使用 Class 类中的 forName()静态方法(最安全/性能最好)

更多详情:Java反射

二、instanceof 关键字的作用

instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法为:

boolean result = obj instanceof Class

其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。 注意:编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。

int i = 0; System.out.println(i instanceof Integer);//编译不通过 i必须是引用类型,不能是基本类型 System.out.println(i instanceof Object);//编译不通过 Integer integer = new Integer(1); System.out.println(integer instanceof Integer);//true //false ,在 JavaSE规范 中对 instanceof 运算符的规定就是:如果 obj 为 null,那么将返回false。 System.out.println(null instanceof Object)三、Java 序列化中如果有些字段不想进行序列化,怎么办?

对于不想进行序列化的变量,使用 transient 关键字修饰。 transient 关键字的作用是:阻止实例中那些用此关键字修饰的的变量序列化;当对象被反序列化时,被 transient 修饰的变量值不会被持久化和恢复。transient 只能修饰变量,不能修饰类和方法。

四、&和&&的区别?

&运算符有两种用法:(1)按位与;(2)逻辑与。 &&运算符是短路与运算。

Java基础面试题突击系列5(java基础面试题选择题)

逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是 true 整个表达式的值才是 true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。

很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是 null 而且不是空字符串,应当写为:username != null &&!username.equals(“”),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的 equals 比较,否则会产生 NullPointerException 异常。注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。

五、3*0.1 == 0.3返回值是什么

false,因为有些浮点数不能完全精确的表示出来。

在计算机中浮点数的表示是误差的。所以一般情况下不进行两个浮点数是否相同的比较。而是比较两个浮点数的差点绝对值,是否小于一个很小的正数。如果条件满足,就认为这两个浮点数是相同的。

六、用最有效率的方法计算 2 乘以 8?

2 << 3(左移 3 位相当于乘以 2 的 3 次方,右移 3 位相当于除以 2 的 3 次方)。

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

不正确。3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化)会造成精度损失,因此需要强制类型转换 float f =(float)3.4; 或者写成 float f =3.4F;。

八、Java 中的Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加 0.5 然后进行向下取整。

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

在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、char、int。从 Java5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 Java 7 开始,expr 还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

十、char 型变量中能不能存贮一个中文汉字?

char 类型可以存储一个中文汉字。 因为 Java 中使用的编码是 Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一 个 char 类型占 2 个字节(16 比特),所以放一个中文是没问题的。

补充:使用 Unicode 意味着字符在 JVM 内部和外部有不同的表现形式,在 JVM内部都是 Unicode,当这个字符被从 JVM 内部转移到外部时(例如存入文件系统中),需要进行编码转换。所以 Java 中有字节流和字符流,以及在字符流和字节流之间进行转换的转换流,如 InputStreamReader 和 OutputStreamReader,这两个类是字节流和字符流之间的适配器类,承担了编码转换的任务;对于 C 程序员来说,要完成这样的编码转换恐怕要依赖于 union(联合体/共用体)共享内存的特征来实现了。

十一、String s = new String(“xyz”);创建了几个字符串对象?

两个对象,一个是静态区的”xyz”,一个是用 new 创建在堆上的对象。

十二、如何实现字符串的反转及替换?

可以自己写实现也可以使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。 示例代码:

// StringBuffer reverseStringBuffer stringBuffer = new StringBuffer();stringBuffer. append("abcdefg");System. out. println(stringBuffer. reverse()); // gfedcba// StringBuilder reverseStringBuilder stringBuilder = new StringBuilder();stringBuilder. append("abcdefg");System. out. println(stringBuilder. reverse());

有一道很常见的面试题是用递归实现字符串反转,代码如下所示:

public static String reverse(String originStr) {if(originStr == null || originStr.length() <= 1) return originStr; return reverse(originStr.substring(1)) + originStr.charAt(0); }十三、怎样将 GB2312 编码的字符串转换为 ISO-8859-1 编码的字符串?String s1 = "你好";String s2 = new String(s1.getBytes("GB2312"), "ISO-8859-1");十四、阐述 final、finally、finalize 的区别

final:修饰符(关键字)有三种用法:如果一个类被

本文链接地址:https://www.jiuchutong.com/zhishi/296017.html 转载请保留说明!

上一篇:我的开源项目与开源经历分享(开源项目有什么用)

下一篇:Vue如何启动项目(vue项目如何启动运行)

  • 苹果手机怎样把健康码添加到桌面上(苹果手机怎样把照片拼图合成)

    苹果手机怎样把健康码添加到桌面上(苹果手机怎样把照片拼图合成)

  • win10卸载软件在哪里(win10卸载程序在哪里)

    win10卸载软件在哪里(win10卸载程序在哪里)

  • 京东白条怎么用(京东白条怎么用支付宝还款)

    京东白条怎么用(京东白条怎么用支付宝还款)

  • iqooz1x和vivoz6的区别有哪些

    iqooz1x和vivoz6的区别有哪些

  • 华为荣耀9x有计步功能吗(华为荣耀9x计算机怎么查记录)

    华为荣耀9x有计步功能吗(华为荣耀9x计算机怎么查记录)

  • 华为手机的小艺怎么改名字(华为手机的小艺在哪里)

    华为手机的小艺怎么改名字(华为手机的小艺在哪里)

  • 苹果13系统什么时候推送(苹果13系统什么版本微信好)

    苹果13系统什么时候推送(苹果13系统什么版本微信好)

  • 荣耀play反向充电在哪(荣耀play反向充电)

    荣耀play反向充电在哪(荣耀play反向充电)

  • jmm-tl10什么型号(jmm_al10什么机型)

    jmm-tl10什么型号(jmm_al10什么机型)

  • 爱趣视频怎么下载(爱趣视频 mkv 下载)

    爱趣视频怎么下载(爱趣视频 mkv 下载)

  • 苹果漏电如何检查(iphone漏电怎么修)

    苹果漏电如何检查(iphone漏电怎么修)

  • 重装win7卡在正在启动(重装win7卡在正在启动windows界面很久)

    重装win7卡在正在启动(重装win7卡在正在启动windows界面很久)

  • airpodspro无法切换降噪模式(airpodspro无法切换模式)

    airpodspro无法切换降噪模式(airpodspro无法切换模式)

  • 手机钉钉最小化播放可以算时间吗(钉钉如何最小化手机)

    手机钉钉最小化播放可以算时间吗(钉钉如何最小化手机)

  • 充电的时候手机屏幕不灵敏(充电的时候手机发烫是什么原因)

    充电的时候手机屏幕不灵敏(充电的时候手机发烫是什么原因)

  • 朋友圈拉黑了怎么恢复(朋友圈拉黑了怎么还能发信息)

    朋友圈拉黑了怎么恢复(朋友圈拉黑了怎么还能发信息)

  • qq人工投诉电话多少(qq投诉人工服务电话)

    qq人工投诉电话多少(qq投诉人工服务电话)

  • 微信拉黑名单和删除有区别吗(微信拉黑名单和拉黑名单又删除有什么区别)

    微信拉黑名单和删除有区别吗(微信拉黑名单和拉黑名单又删除有什么区别)

  • 手机怎么打开夜间模式(手机怎么打开夜视模式)

    手机怎么打开夜间模式(手机怎么打开夜视模式)

  • 快手怎么暂停播放(快手怎么暂停播放功能)

    快手怎么暂停播放(快手怎么暂停播放功能)

  • 结构化程序设计是什么(结构化程序设计的三种基本结构)

    结构化程序设计是什么(结构化程序设计的三种基本结构)

  • 华为mate30与华为mate20区别(华为mate30与华为nova8哪个好)

    华为mate30与华为mate20区别(华为mate30与华为nova8哪个好)

  • 电脑版微信可以视频吗(电脑版微信可以扫一扫二维码吗)

    电脑版微信可以视频吗(电脑版微信可以扫一扫二维码吗)

  • 蓝牙耳机对大脑有影响吗(蓝牙耳机对大脑有辐射吗)

    蓝牙耳机对大脑有影响吗(蓝牙耳机对大脑有辐射吗)

  • 美团的津贴余额怎么用(美团的津贴余额在哪里看)

    美团的津贴余额怎么用(美团的津贴余额在哪里看)

  • Win11新工具:轻轻松松帮你安装任何安卓 APK 应用(windows10轻松使用是什么)

    Win11新工具:轻轻松松帮你安装任何安卓 APK 应用(windows10轻松使用是什么)

  • 「ChatGPT」十分钟学会如何在本地调用API_KEY(最新版 | 附源码)(十分=1)

    「ChatGPT」十分钟学会如何在本地调用API_KEY(最新版 | 附源码)(十分=1)

  • python scrapy处理翻页的方法(scrapy csdn)

    python scrapy处理翻页的方法(scrapy csdn)

  • 公司旧车出售要交什么税
  • 个体户需要给员工交保险吗
  • 出口结汇必须要开票吗
  • 借款利息收入要开票吗
  • 处置固定资产产生的净损失
  • 海关进口增值税专用缴款书如何抵扣
  • 个体工商户的个税税率表
  • 国际多式联运必须具备的基本条件是什么
  • 同一控制下资产收购
  • 发票认证延期抵扣啥意思
  • 土地增值税什么时候开始征收的
  • 软件 退税
  • 未取得发票的收入怎么做账
  • 冲销应收账款会引起
  • 对于税收会计记账科目应该如何设置?
  • 滴滴客运服务费发票税率
  • 工资薪金税前扣除比例
  • 增值税简易征收一览表
  • 小规模纳税人领发票要带什么
  • win10专业版虚拟内存怎么设置
  • 新版edge浏览器兼容模式怎么设置
  • 税金及附加审计说明怎么写
  • 减免税额科目有没有余额
  • ·exe是什么文件
  • 因质量问题被扣钱怎么办
  • 电脑开机后桌面图标变乱
  • windows11自带录屏怎么使用
  • 如何使用rank函数排名
  • 短视频小程序源码
  • 结转代销成本
  • php while true
  • 如何使用axios直接发送GET请求
  • Yii中的relations数据关联查询及统计功能用法详解
  • 小客车能用多少年
  • 代开发票是否代征城建税和教育费附加?
  • 进项税额认证后可以撤销吗
  • 技术服务费增值税税率1%
  • 合同资产要结转增值税吗
  • idea快速生成lambda
  • sqlserver怎么把数据库导出来
  • 企业的净利润率
  • 进口关税如何交
  • 增值税税款抵扣
  • 商业企业会计如何记账
  • 应发工资包含
  • 实收资本报表怎么填
  • 存货跌价准备的特点
  • 劳动仲裁经济补偿金写多了
  • 企业的所得税税率怎么计算
  • 待抵扣进项税如何在营运资金
  • 车辆购置税滞纳金上限
  • 结转完工入库产品成本的会计分录
  • 增值税递延纳税
  • 停车费报账
  • 加油费不征税发票可以报销吗
  • 商贸企业的产值和营业收入
  • 工资薪金个人所得税扣除标准
  • 应发和实发工资账务处理
  • sqlserver怎么删除字段
  • win8.1 multiple edition
  • win10系统设置快捷键
  • windows vista在哪里
  • win2003好用吗
  • centos6安装步骤
  • Linux查看磁盘剩余空间指令
  • windows设置tomcat自动重启
  • PSof1.exe - PSof1是什么进程 有什么作用
  • win7组合键失效
  • win10预览在哪
  • javascript入门教程
  • 贴吧热门评论
  • perl 教程
  • js表达式语法大全
  • js原始值有哪些
  • js实现时间
  • 深入了解的高级表达
  • shell脚本实现文件管理
  • 如何在android studio中导入其他包
  • 个人房屋出租给公司怎么开发票
  • 江苏优抚对象
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设