java面试-java基础(上)
文章目录
- 一、什么是Java?特点?
- 二、什么是JVM、JDK、JRE?
- 三、java跨平台实现原理
- 四、java数据类型有哪些?
- 五、char能不能存一个中文汉字?
- 六、存在数字i加1小于i或者i减1小于i?
- 七、什么是自动类型转换与强制类型转换?
- 八、什么是装/拆箱?为什么这么设计?
- 九、&&运算符和&运算符区别?
- 十、switch表达式的值?
- 十一、Math.round(-1.5) 等于多少?
- 十二、break,continue,return区别及作用?
- 十三、什么是自增?什么是自减?
- 十四、最高效率计算2的幂次方乘法?比如2乘以4?
- 总结
一、什么是Java?特点?
- Java是一门面向对象的编程语言
- 面向对象(封装,继承,多态),跨平台(一次编写,到处运行)
二、什么是JVM、JDK、JRE?
- JVM:Java Virtual Machine,Java虚拟机,Java程序运行在Java虚拟机上。针对不同系统的实现(Windows,Linux,macOS)不同的 JVM,因此Java语言可以实现跨平台。
- JRE:Java运⾏时环境。包括JVM和Java类库
- JDK: Java Development Kit(软件开发工具包)。包括了JRE以及编译器(javac)、Java 文档生成工具(Javadoc)、Java调试器等开发工具。
- JDK包含JRE,JRE包含JVM。
三、java跨平台实现原理
- 跨平台性,是指Java语言编写的程序,一次编译后,可以在不同系统平台(windows、linux、mac)上运行。
- 实现原理:Java程序是通过Java虚拟机在系统平台上运行的,只要该系统可以安装相应的Java虚拟机就可以运行java程序
四、java数据类型有哪些?
基本数据类型 | 八种 | 字节数 | 数据表示范围 | 默认值 | 包装类 |
---|---|---|---|---|---|
整型 | byte | 1 | -27-1,27-1 | 0 | Byte |
short | 2 | -215,215-1 | 0 | Short | |
int | 4 | -231,231-1 默认是int | 0 | Integer | |
long | 8 | -263,263-1 +L | 0 | Long | |
浮点型 | float | 4 | -3.403E38~3.403E38 E科学计数10^38 128-127次方+F 1位符号位,8位指数位(偏移量127,实际值应该减去127),23位尾数位,7位有效数字 | 0.0f | Float |
double | 8 | -1.798E308~1.798E308 E科学计数10^308 1024-1023次方+D 1位符号位,11位指数位,52位尾数位,16位有效数字,默认是双精度 | 0.0d | Double | |
布尔型 | boolean | 1 | true、false | false | Boolean |
字符型 | char | 2 | ''包裹,只包含一字符,运算按ASCII码对应的整数运算 | ‘’ | Character |
引用数据类型 | 数组、类、接口 | String是对象 | null |
五、char能不能存一个中文汉字?
- Java中无论汉字还是英文字母都用Unicode编码(2字节)表示。char类型占2个字节。所以可以存储一个中文汉字
六、存在数字i加1小于i或者i减1小于i?
- 整型类型是有范围的,如果发生越界,那么将出现该情况
七、什么是自动类型转换与强制类型转换?
- java数值类型变量从表示范围小的转化为表示范围大的变量,此时需要强制转换,反之则为自动类型转换
- 数据类型数据范围从小到大:byte -> short -> int -> long -> float -> double
long i = 100L;
int j = (int) i;//强制转换
int k = 100;
long m = k;//自动类型转换
八、什么是装/拆箱?为什么这么设计?
- 自动装箱是Java编译器在基本数据类型和对应的包装类之间做转化。比如:把int转化成Integer。反之就是自动拆箱。
- 为了简化代码,因为jdk1.5需要手写代码才能完成基本数据类型转成包装类放入集合中
九、&&运算符和&运算符区别?
- 都是表示与的逻辑运算符and,当两边的表达式都为true,结果才为true
- &&:有短路功能,当第一个表达式的值为false的时候,则不再计算第二个表达式;
- &:2个表达式都会执行。当两边的表达式不是Boolean类型则表示按位操作
十、switch表达式的值?
- 在jdk1.8下支持byte、short、int、char、enum(枚举)、String这6种类型
十一、Math.round(-1.5) 等于多少?
- round表示’四舍五入’,算法为Math.floor(x+0.5)即加0.5后再向下取整,所以Math.round(1.5)=2,Math.round(-1.5)=-1
十二、break,continue,return区别及作用?
- break跳出循环
- continue跳出本次循环
- return结束方法返回
十三、什么是自增?什么是自减?
自增是指i++、或者++i相当于i=i+1
自减是指i–、或者–i相当于i=i-1
如果符号在前面则先自增、后面则先执行别的再自增
public static void main(String[] args) {int i=1;int j=1;System.out.println(i++);//结果1 先输出System.out.println(i);//结果2 再+1System.out.println(++j);//结果2 先+1再输出}
十四、最高效率计算2的幂次方乘法?比如2乘以4?
- 2<<2。位运算,二进制位左移三位相当于乘以2的2次方。
总结
本文介绍了的java基础的面试(上),如有问题欢迎私信和评论
相关文章:
java面试-java基础(上)
文章目录 一、什么是Java?特点?二、什么是JVM、JDK、JRE?三、java跨平台实现原理四、java数据类型有哪些?五、char能不能存一个中文汉字?六、存在数字i加1小于i或者i减1小于i?七、什么是自动类型转换与强制类型转换?八、什么是装/拆箱&am…...

STM32快速搭建项目框架
注:编写本博客的原因,学习期间基于复习之前知识点的需要,故撰写本教程,即是复习前面的知识点也是作为博客的补充 1.0 文件夹的创建 创建一个STM32项目为模版工程,问价夹下分别包含4个子文件夹,一个是Librar…...

JMH324-免费【最后一战LOL】MOBA竞技版本+单机一键端+视频教程+文本教程
资源介绍: 修改前打开【D:\ZHServer】文件夹里的【[1]一键启动.bat】,游戏不要打开,否则修改失败。 修改完以后重启架设程序才会生效。 fball_gamedb1数据库——gameuser数据表 obj_name 角色名 obj_lv 等级 obj_diamond 钻石 obj_gold 8…...

WPF UI 3D 多轴 机械臂 stl 模型UI交互
1、三维插件环境调整 2、动态模型材质处理 3、动态模型鼠标交互 4、模型旋转基本思路 5、六轴机械臂节点旋转处理 6、更多HelixToolkit插件处理案例 7、快速对接Blender模型 鼠标交互(没有强调场景的变换) 鼠标命中测试(HitTest 不推荐&…...

《金山 WPS AI 2.0:重塑办公未来的智能引擎》
AITOP100平台获悉,在 2024 世界人工智能大会这一科技盛宴上,金山办公以其前瞻性的视野和创新的技术,正式发布了 WPS AI 2.0,犹如一颗璀璨的星辰,照亮了智能办公的新征程,同时首次公开的金山政务办公模型 1.…...

RT2-使用NLP的方式去训练机器人控制器
目标 研究在网络数据上训练的视觉语言模型也可以直接结合到端到端的机器人控制中,提升泛化性以及获得突出的语义推理;使得单个的端到端训练模型可以同时学习从机器人观测到动作的映射,这个过程可以受益于基于网络上的语言和视觉语言数据的预训…...
VisActor vs ECharts: 哪个更适合你的数据可视化需求?
VisActor vs ECharts: 哪个更适合你的数据可视化需求? 在当今数据驱动的世界里,选择合适的数据可视化工具是至关重要的。ECharts作为广受欢迎的可视化库,已经在行业内拥有了长久的历史和广泛的用户基础。然而,VisActor作为新兴的…...

【QT中实现摄像头播放、以及视频录制】
学习分享 1、效果图2、camerathread.h3、camerathread.cpp4、mainwindow.h5、mainwindow.cpp6、main.cpp 1、效果图 2、camerathread.h #ifndef CAMERATHREAD_H #define CAMERATHREAD_H#include <QObject> #include <QThread> #include <QDebug> #include &…...

el-table封装popver組件,点击列筛选行数据功能,支持筛选,搜索,排序功能
子组件: <template><div class"tableTool" ref"tableTool" click.stop><el-button click"shengFnc">升序</el-button><el-button click"jiangFnc">降序</el-button><el-input v-m…...

基于DPU的云原生计算资源共池管理解决方案
1. 方案背景和挑战 在传统的云环境中,通常存在着不同的技术栈,支撑多样化的计算服务,具体如下: ① OpenStack环境与虚拟化云主机及裸金属服务 OpenStack是一个开源的云计算管理平台项目,它提供了部署和管理大规模计…...
Bugly并非无所不能
在 iOS 应用因为内存占用过大而被系统 killed 的情况下,Bugly 以及大多数崩溃报告工具是无法捕获到这种类型的崩溃信息的。原因在于,当系统由于内存压力过大而终止应用时,是直接将应用进程杀死,不会触发常规的崩溃处理流程&#x…...

2024年信息系统项目管理师1批次上午客观题参考答案及解析(3)
51、探索各种选项,权衡包括时间与成本、质量与成本、风险与进度、进度与质量等多种因素,在整个过程中,舍弃无效或次优的替代方案,这种不确定性应对方法是()。 A.集合设计 B.坚韧性 C.多种结果…...

YOLOv8改进 | 注意力机制 | 对密集和小目标友好的EVAblock 【原理 + 完整代码】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效…...

高效前端开发:解密pnpm的存储与链接
什么是pnpm PNPM(Performant NPM)是一种快速且节省磁盘空间的包管理工具。相较于其他包管理器如NPM和Yarn,PNPM通过独特的存储机制和链接技术解决了许多常见的问题。以下是PNPM如何避免这些问题以及其关键技术的详细介绍。 特性 PNPM Store…...

设置单实例Apache HTTP服务器
配置仓库 [rootlocalhost ~]# cd /etc/yum.repos.d/ [rootlocalhost yum.repos.d]# vi rpm.repo仓库代码: [BaseOS] nameBaseOS baseurl/mnt/BaseOS enabled1 gpgcheck0[AppStream] nameAppStream baseurl/mnt/AppStream enabled1 gpgcheck0挂载 [rootlocalhost …...

Python | Leetcode Python题解之第221题最大正方形
题目: 题解: class Solution:def maximalSquare(self, matrix: List[List[str]]) -> int:if len(matrix) 0 or len(matrix[0]) 0:return 0maxSide 0rows, columns len(matrix), len(matrix[0])dp [[0] * columns for _ in range(rows)]for i in…...
使用Python实现线性拟合
如下 Python 代码主要用于处理和分析数据,并使用 Matplotlib 库绘制出数据的拟合曲线。它的主要步骤包括数据预处理、进行线性回归分析,并根据结果绘图展示。下面是对代码及其所引用库的详细解释: 引用的库 numpy (np): 用于进行数值计算。这…...

如何在浏览器控制台Console中引入外部 JS
想要在某个网页执行一些脚本,却发现某个工具类,如 ajax 请求的 axios 该网页没有引入,或者引入了但控制台却访问不到,这时要怎么办呢? 只需要控制台执行如下代码就好了 var script document.createElement(script);…...

后端——全局异常处理
一、老办法try-catch 当我们执行一些错误操作导致程序报错时,程序会捕捉到异常报错,这个异常会存在一个Exception对象里 那我们在spring boot工程开发时,当我们执行一个sql查询时报错了,那就会从最底层的Mapper层捕捉到Exceptio…...

软件开发面试题(C#语言,.NET框架)
1. 解释什么是委托(Delegate),并举例说明它在C#中的用法。 委托是一种引用类型,它可以用于封装一个或多个方法。委托对象可以像方法一样调用,甚至可以用于创建事件处理程序。委托是C#中实现事件和回调函数的重要机制。…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...