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#中实现事件和回调函数的重要机制。…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
Canal环境搭建并实现和ES数据同步
作者:田超凡 日期:2025年6月7日 Canal安装,启动端口11111、8082: 安装canal-deployer服务端: https://github.com/alibaba/canal/releases/1.1.7/canal.deployer-1.1.7.tar.gz cd /opt/homebrew/etc mkdir canal…...
