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基础的面试(上),如有问题欢迎私信和评论

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学不好能搞人工智能吗?

很遗憾&#xff0c;不能。 人工智能&#xff08;AI&#xff09;实际上是一个将数学、算法理论和工程实践紧密结合的领域。AI 扒开来看就是算法&#xff0c;也就是数学、概率论、统计学、各种数学理论的体现。 新的时代&#xff0c;程序员想要跨入 AI 之门&#xff0c;只要稍微…

13 - Python网络编程入门

网络编程入门 计算机网络基础 计算机网络是独立自主的计算机互联而成的系统的总称&#xff0c;组建计算机网络最主要的目的是实现多台计算机之间的通信和资源共享。今天计算机网络中的设备和计算机网络的用户已经多得不可计数&#xff0c;而计算机网络也可以称得上是一个“复…

Springweb详解

Springweb详解 一.springweb介绍 1.1 SpringWEB 特点  SpringWEB 是 spring 家族原生产品&#xff0c;与 IOC 容器等基础设施无缝对接.  基于原生的 Servlet&#xff0c;提供了一个前端控制器 DispatcherServlet &#xff0c;开发者 无须额外开发控制器对象.  可以自…

【SQL】聚簇索引与⾮聚簇索引的区别

聚簇索引&#xff08;Clustered Index&#xff09;和非聚簇索引&#xff08;Non-Clustered Index&#xff09;是数据库索引的两种主要类型&#xff0c;它们在数据存储和访问方式上有显著区别。 聚簇索引 数据存储顺序&#xff1a;聚簇索引将数据行按照索引键的顺序进行存储。…

VSCode打开其它IDE项目注释显示乱码的解决方法

问题描述&#xff1a;VSCode打开Visual Studio&#xff08;或其它IDE&#xff09;工程&#xff0c;注释乱码&#xff0c;如下图所示&#xff1a; 解决方法&#xff1a;点击VSCode右下角的UTF-8&#xff0c;根据提示点击“通过编码重新打开”&#xff0c;再选择GB2312&#xff0…

R语言数据分析案例42-基于时间序列模型对股票预测分析和研究

一、研究背景和意义 随着全球经济的不断发展和数字化转型的加速推进&#xff0c;科技公司在全球市场中扮演着日益重要的角色。其中&#xff0c;中国的阿里巴巴集团作为全球最大的电子商务公司之一&#xff0c;其业务范围覆盖电子商务、云计算、金融科技等多个领域。由于其在中…

AI革命:RAG技术引领未来智能

AI革命:RAG技术引领未来智能 在人工智能的浪潮中,一种名为RAG(Retrieval-Augmented Generation)的技术正在悄然改变我们的世界。这种技术通过整合外部知识库,极大地增强了大型语言模型(LLM)的性能,为智能助手、聊天机器人等应用带来了革命性的提升。 1 突破性的RAG技…

【问题记录】Jenkins Pipeline读取变量的各种方法

方法一 输出docker image镜像标签给IMAGE_TAG def IMAGE_TAG sh(script: docker images | grep ${SERVER_NAME} | grep $NAME_SPACE | awk {print $2}|grep ${BUILD_NUMBER}, returnStdout: true) 另外&#xff0c;如果想输出docker image命令执行结果给IMAGE_TAG def IMAG…

【python】PyQt5可视化开发,如何设计鼠标显示的形状?

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

通信施工安全员B类测试题含答案

1.全国人民代表大会常务委员会关于修改<中华人民共和国安全生产法>的决定》由中华人民共和国第十二届全国人民代表大会常务委员会第十次会议通过&#xff0c;自( )起施行。 A、2002年11月1日 B、2014年8月31日C、2014年12月1日(正确答案) D、2015年1月01日 2.生产经营单…

JMeter:循环控制器While Controller的用法小结

前言 在之前的博文“JMeter案例优化&#xff1a;测试执行结束后&#xff0c;实现tearDown的几种方式”中&#xff0c;尝试了JMeter的循环控制器While Controller&#xff0c;发现还有点小复杂&#xff0c;将学习过程记录下来&#xff0c;免得遗忘。 注&#xff1a;我使用的是…

《C++20设计模式》外观模式

文章目录 一、前言二、实现1、UML类图2、实现 一、前言 一句话总结外观模式&#xff1a;简化接口&#xff0c;或者简化流程。&#x1f642; 相关代码可以在这里&#xff0c;如有帮助给个star&#xff01;AidenYuanDev/design_patterns_in_modern_Cpp_20 二、实现 原来需要很…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-54~55循环神经网络的从零开始实现和简洁实现

54循环神经网络的从零开始实现 import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l import matplotlib.pyplot as plt import liliPytorch as lp# 读取H.G.Wells的时光机器数据集 batch_size, num_steps 32, …

多特征线性回归

目录 一、多特征符号意义说明&#xff1a;二、多特征模型表示&#xff1a;三、Numpy向量表示、内积计算&#xff1a;1.向量表示&#xff1a;2.内积计算&#xff1a; 四、多元线性回归梯度下降算法&#xff1a; 一、多特征符号意义说明&#xff1a; x下标j&#xff1a;表示第j个…

怎么做外贸推广:10个详细教程和工具

1. 介绍 1.1 什么是外贸推广 外贸推广指的是将产品或服务推广到国际市场的过程。它的主要目的是吸引海外客户&#xff0c;增加销售额&#xff0c;并扩大企业的全球影响力。外贸推广不仅仅是销售产品&#xff0c;它还包括品牌建设、市场研究和客户关系管理。 谷歌外贸推广案例…

机器学习---线性回归

1、线性回归 例如&#xff1a;对于一个房子的价格&#xff0c;其影响因素有很多&#xff0c;例如房子的面积、房子的卧室数量、房子的卫生间数量等等都会影响房子的价格。这些影响因子不妨用 x i x_{i} xi​表示&#xff0c;那么房价 y y y可以用如下公式表示&#xff1a; y …

吴恩达机器学习 第三课 week3 强化学习(月球着陆器自动着陆)

目录 01 学习目标 02 概念 2.1 强化学习 2.2 深度Q学习&#xff08;Deep Q-Learning &#xff09; 03 问题描述 04 算法中的概念及原理 05 月球着陆器自动着陆的算法实现 06 拓展&#xff1a;基于pytorch实现月球着陆器着陆 07 总结 写在最前&#xff1a;关于强化学习…

python conda查看源,修改源

查看源 conda config --show-sources 修改源 可以直接vim .condarc修改源&#xff0c;

Shell学习——Shell变量

文章目录 Shell变量使用变量只读变量删除变量变量类型字符串变量&#xff1a; 在 Shell中&#xff0c;变量通常被视为字符串。整数变量&#xff1a; 在一些Shell中&#xff0c;你可以使用 declare 或 typeset 命令来声明整数变量。数组变量&#xff1a; Shell 也支持数组&#…

平价猫粮新选择!福派斯鲜肉猫粮,让猫咪享受美味大餐!

福派斯鲜肉猫粮&#xff0c;作为一款备受铲屎官们青睐的猫粮品牌&#xff0c;凭借其卓越的品质和高性价比&#xff0c;为众多猫主带来了健康与美味的双重享受。接下来&#xff0c;我们将从多个维度对这款猫粮进行解析&#xff0c;让各位铲屎官更加全面地了解它的魅力所在。 1️…