每日五道java面试题之java基础篇(二)

在这里插入图片描述

第一题. 为什么说 Java 语⾔“编译与解释并存”?

⾼级编程语⾔按照程序的执⾏⽅式分为编译型解释型两种。

简单来说,编译型语⾔是指编译器针对特定的操作系统将源代码⼀次性翻译成可被该平台执⾏的机器码;解释型语⾔是指解释器对源程序逐⾏解释成特定平台的机器码并⽴即执⾏。

⽐如,你想读⼀本外国的⼩说,你可以找⼀个翻译⼈员帮助你翻译,有两种选择⽅式,你可以先等翻译⼈员将全本的⼩说(也就是源码)都翻译成汉语,再去阅读,也可以让翻译⼈员翻译⼀段,你在旁边阅读⼀段,慢慢把书读完。

Java 语⾔既具有编译型语⾔的特征,也具有解释型语⾔的特征,因为 Java 程序要经过先编译,后解释两个步骤,

由 Java 编写的程序需要先经过编译步骤,⽣成字节码( *.class ⽂件),这种字节码必须再经过 JVM,解释成操作系统能识别的机器码,在由操作系统执⾏。因此,我们可以认为 Java 语⾔编译与解释并存
在这里插入图片描述

第二题. Java 有哪些数据类型?

定义:Java 语⾔是强类型语⾔,对于每⼀种数据都定义了明确的具体的数据类型,在内存中分配了不同⼤⼩的内存空间。

Java 语⾔数据类型分为两种:基本数据类型和引⽤数据类型
在这里插入图片描述
基本数据类型:

  • 数值型
    • 整数类型(byte、short、int、long)
    • 浮点类型(float、double)
  • 字符型(char)
  • 布尔型(boolean)

Java 基本数据类型范围和默认值
在这里插入图片描述
引⽤数据类型:

  • 类(class)
  • 接⼝(interface)
  • 数组([])

第三题. 自动类型转换、强制类型转换?看看这⼏⾏代码?

Java 所有的数值型变量可以相互转换,当把⼀个表数范围⼩的数值或变量直接赋给另⼀个表数范围⼤的变量时,可以进⾏⾃动类型转换;反之,需要强制转换。
在这里插入图片描述
这就好像,⼩杯⾥的⽔倒进⼤杯没问题,但⼤杯的⽔倒进⼩杯就不⾏了,可能会溢出。

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

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);其中有隐含的强制类型转换。

第四题 什么是⾃动拆箱/封箱?

  • 装箱:将基本类型⽤它们对应的引⽤类型包装起来;
  • 拆箱:将包装类型转换为基本数据类型;
    Java 可以⾃动对基本数据类型和它们的包装类进⾏装箱和拆箱。
    在这里插入图片描述
    举例:

Integer i = 10; //装箱
int n = i; //拆箱

第五题. &和&&有什么区别?

&运算符有两种⽤法: 短路与 、 逻辑与 。

&&运算符是短路与运算。逻辑与跟短路与的差别是⾮常巨⼤的,虽然⼆者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。

&&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进⾏运算。很多时候我们可能都需要⽤&&⽽不是&。

例如在验证⽤户登录时判定⽤户名不是 null ⽽且不是空字符串,应当写为 username != null&&!username.equals(“”) ,⼆者的顺序不能交换,更不能⽤&运算符,因为第⼀个条件如果不成⽴,根本不能进⾏字符串的 equals ⽐较,否则会产⽣ NullPointerException 异常。
注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/381977.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理

摘要 | Abstract TO-BE-FILLED 1.前言 | Introduction 近期想深入了解语音识别(ASR)中隐马尔可夫模型(HMM)和深度神经网络-隐马尔可夫(DNN-HMM)混合模型,但是尽管网络上有许多关于DNN-HMM的介绍,如李宏毅教授的《深度学习人类语言处理》[1],…

问题:超声波纵波斜入射时,当入射角大于第一临界角小于第二临界角时,在第二介质内只有折射横波。 #微信#经验分享#其他

问题:超声波纵波斜入射时,当入射角大于第一临界角小于第二临界角时,在第二介质内只有折射横波。 参考答案如图所示

SpringBoot 接入讯飞星火大模型实现对话

申请地址 https://xinghuo.xfyun.cn/sparkapi?scrprice 免费申请200万Token 开发文档 https://www.xfyun.cn/doc/spark/Web.html#_1-接口说明 页面最下面有相关demo可以参考 介绍 接口是以套接字的形式分段返回,而且非http请求,比较繁琐,官…

Sam Altman计划筹集5至7万亿美元;OPPO发布AI时代新功能

🦉 AI新闻 🚀 Sam Altman计划筹集5至7万亿美元,建立全球芯片帝国 摘要:Sam Altman宣布计划筹集5至7万亿美元来建立全球芯片帝国,以满足日益增长的AI基础设施需求。他已在全球寻求资金,包括中东土豪。此外…

开发JSP自定义标记

开发JSP自定义标记 您已经学习了如何用JavaBean处理JSP页面的业务逻辑。除此以外,您还可以用自定义标记处理JSP应用程序中反复出现的业务逻辑要求。 tag是程序中使用的执行重复性任务的可重用单元。例如, 是使主体文本在网页中间出现的HTML标记。JSP可用于创建于XML标记类似…

​(三)hadoop之hive的搭建1

下载 访问官方网站https://hive.apache.org/ 点击downloads 点击Download a release now! 点击https://dlcdn.apache.org/hive/ 选择最新的稳定版 复制最新的url 在linux执行下载命令 wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz 2.解压…

SpringBoot全局异常捕获处理实现方案

在Spring Boot中实现全局异常处理可以通过以下方式: 使用ControllerAdvice注释创建一个全局异常处理类,并使用ExceptionHandler注释来定义具体异常的处理方法。 import your.package.IllegalNumberException; import org.springframework.http.HttpSta…

继续教育试题答案?学生党都在用的九款搜题工具来了 #其他#笔记#知识分享

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.题老大 这是一个公众号 适合大学生找答案。包含了大学网课答案,期末复习资料,新视野英语,考研答案…

[office] excel如何计算毛重和皮重的时间间隔 excel计算毛重和皮重时间间隔方法 #笔记#学习方法

excel如何计算毛重和皮重的时间间隔 excel计算毛重和皮重时间间隔方法 在日常工作中经常会到用excel,有时需要计算毛重和皮重的时间间隔,具体的计算方式是什么,一起来了解一下吧 在日常工作中经常会到用excel,在整理编辑过磅数据…

「daily updating」k3s + openfaas serverless bench 踩坑指南持续更新中

OpenFaas从入门到实战 – 踩坑指南 | k3dOpenFaas | deploy your first python function https://blog.alexellis.io/first-faas-python-function/ https://docs.openfaas.com/deployment/kubernetes/ 搭建环境:第一种方法失败,第二种方法…

灰度发布浅见

在之前的稳定性生产文章中有一项对于研发人员比较重要的措施是变更管控,关于变更管控其实在实际生产活动中有很多措施,因为对于不太的行业,其行业特点和稳定性生产的要求也不一样,例如下图,我们可以看到信通院调研的不…

[职场] 大厂群面的基本题型 #学习方法#其他

大厂群面的基本题型 大厂群面的基本题型 群面,又叫做“无领导小组面试”。历年来是企业校招时,进行大批量刷人的有效方法。流行于互联网、快消、银行、四大等多个行业。因为难度大、情况复杂、淘汰率高,又被称为“死亡面试”。 无领导小组…

微信小程序(四十)API的封装与调用

注释很详细,直接上代码 上一篇 新增内容: 1.在单独的js文件中写js接口 2.以注册为全局wx的方式调用接口 源码: utils/testAPI.js const testAPI{/*** * param {*} title */simpleToast(title提示){//可传参,默认为‘提示’wx.sho…

CSS3 基本语法

CSS3 基本语法 1. CSS3 新增长度单位 rem 根元素字体大小的倍数,只与根元素字体大小有关。vw 视口宽度的百分之多少 10vw 就是视口宽度的 10% 。vh 视口高度的百分之多少 10vh 就是视口高度的 10% 。vmax 视口宽高中大的那个的百分之多少。(了解即可&am…

【复现】泛微云桥 e-Bridge SQL注入漏洞_44

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 泛微云桥(e-Bridge)是上海泛微公司在”互联网”的背景下研发的一款用于桥接互联网开放资源与企业信息化系…

AI新工具(20240210) Osam - Osam是一个启用本地运行的开源llm;Whishper - Whishper是一个开源的语音工具

Osam - Osam是一个启用本地运行的开源“一切分割”模型工具,支持多种接口和自定义视觉模型。 Osam是一个开源工具,它允许本地运行“可对任何内容进行分割”的模型(Segment-Anything Models),灵感来源于Ollama。使用Osam,用户可以…

猪圈密码.

1.介绍 又称朱高密码、共济会密码、共济会暗号、共济会员密码,是一种以格子为基础的简单替代式密码。即时使用符号,也不影响密码分析,亦可用其他替代式密码。 2.产生背景 这是一种外形古怪的密码,已经传递了几百年。没有人明确…

Minecraft的红石教程之电梯

一.前言 我记得是上初中的时候,就看到了这类电梯。现在我在看现在这类电梯的相关视频,大多是盗用创意未能领会其中的红石运作规律,于是我就删繁就简写了这篇。 二.步骤 1.材料 粘性活塞,黏液块,红石,红…

洛谷p4391 无限传输

考察字符串周期的题 题目链接 结论 要求字串 s s s的最短循环字串长就是: a n s n − p m t [ n ] ansn-pmt[n] ansn−pmt[n] 证明如下: 这是最大的前缀和后缀 现在我们做如下操作: 补全字段 a a a和字段 b b b,按子段 a a a的…

Javaweb之SpringBootWeb案例之事务管理的详细解析

1. 事务管理 1.1 事务回顾 在数据库阶段我们已学习过事务了,我们讲到: 事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功&am…