当前位置: 首页 > news >正文

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数据类型有哪些?

基本数据类型八种字节数数据表示范围默认值包装类
整型byte1-27-1,27-10Byte
short2-215,215-10Short
int4-231,231-1 默认是int0Integer
long8-263,263-1 +L0Long
浮点型float4-3.403E38~3.403E38 E科学计数10^38 128-127次方+F 1位符号位,8位指数位(偏移量127,实际值应该减去127),23位尾数位,7位有效数字0.0fFloat
double8-1.798E308~1.798E308 E科学计数10^308 1024-1023次方+D 1位符号位,11位指数位,52位尾数位,16位有效数字,默认是双精度0.0dDouble
布尔型boolean1true、falsefalseBoolean
字符型char2''包裹,只包含一字符,运算按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基础的面试(上),如有问题欢迎私信和评论

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 商家店铺电商小程序模板源码
  • 联想小新14Pro,误删了一个注册表,怎么办?
  • c#的List<T>的SelectMany 和Select
  • 【LinuxC语言】手撕Http协议之GET方法的实现
  • Spring AOP源码篇四之 数据库事务
  • 【C++】初步认识C++
  • Mobile ALOHA: 你需不需要一个能做家务的具身智能机器人
  • unity canvas显示相机照射画面的方法
  • flex布局中子元素内容超出时,子元素本身出现滚动条实现方法
  • C#如何从中级进阶到高级开发
  • STM32-USART
  • SpringBoot新手快速入门系列教程四:创建第一个SringBoot的API
  • 视频分析、目标检测的过去和未来:目标检测从入门到精通 ------ YOLOv8 到 多模态大模型处理视觉基础任务
  • LeetCode 3101.交替子数组计数:等差数列求和(较详题解)
  • 【Docekr】容器自动重启/取消自动重启
  • Android交互
  • css的样式优先级
  • JavaScript服务器推送技术之 WebSocket
  • PHP 的 SAPI 是个什么东西
  • python_bomb----数据类型总结
  • Quartz初级教程
  • rabbitmq延迟消息示例
  • SpringCloud集成分布式事务LCN (一)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 反思总结然后整装待发
  • 那些被忽略的 JavaScript 数组方法细节
  • 我与Jetbrains的这些年
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​TypeScript都不会用,也敢说会前端?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (C++20) consteval立即函数
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (补充)IDEA项目结构
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (十六)一篇文章学会Java的常用API
  • (四)汇编语言——简单程序
  • (推荐)叮当——中文语音对话机器人
  • (一) 初入MySQL 【认识和部署】
  • (转)一些感悟
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .Net FrameWork总结
  • .NET gRPC 和RESTful简单对比
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)