Java面试(3)基础语法

news2024/11/24 22:23:52

基础语法

1. 标识符和关键字的区别是什么?

在我们编写程序的时候,需要大量地为程序、类、变量、方法等取名字,于是就有了 标识符 。简单来说, 标识符就是一个名字 。

有一些标识符,Java 语言已经赋予了其特殊的含义,只能用于特定的地方,这些特殊的标识符就是 关键字简单来说,关键字是被赋予特殊含义的标识符 。比如,在我们的日常生活中,如果我们想要开一家店,则要给这个店起一个名字,起的这个“名字”就叫标识符。但是我们店的名字不能叫“警察局”,因为“警察局”这个名字已经被赋予了特殊的含义,而“警察局”就是我们日常生活中的关键字。

2. continue、break 和 return 的区别是什么?

在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到下面几个关键词:

  • continue :指跳出当前的这一次循环,继续下一次循环。
  • break :指跳出整个循环体,继续执行循环下面的语句。
  • return 用于跳出所在方法,结束该方法的运行。return 一般有两种用法:
    • return; :直接使用 return 结束方法执行,用于没有返回值函数的方法
    • return value; :return 一个特定值,用于有返回值函数的方法

3. Java语言关键字有哪些?

在这里插入图片描述
官方文档:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

4. switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?

在Java 5以前,switch(expr)中,expr只能是byte、short、int、char。从Java5开始,Java中引入了枚举类型,expr也可以是enum类型,从Java 7开始,expr还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

5. Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?

Math.round(11.5)的返回值是 12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加 0.5 然后进行下取整。

6. 成员变量与局部变量的区别?

  • 语法形式 : 从语法形式上看,成员变量是属于类的,而局部变量是在代码块或方法中定义的变量或是方法的参数;成员变量可以被 public,private,static 等修饰符所修饰,而局部变量不能被访问控制修饰符及 static 所修饰;但是,成员变量和局部变量都能被 final 所修饰。
  • 存储方式 : 从变量在内存中的存储方式来看,如果成员变量是使用 static 修饰的,那么这个成员变量是属于类的,如果没有使用 static 修饰,这个成员变量是属于实例的。而对象存在于堆内存,局部变量则存在于栈内存。
  • 生存时间 : 从变量在内存中的生存时间上看,成员变量是对象的一部分,它随着对象的创建而存在,而局部变量随着方法的调用而自动生成,随着方法的调用结束而消亡。
  • 默认值 : 从变量是否有默认值来看,成员变量如果没有被赋初始值,则会自动以类型的默认值而赋值(一种情况例外:被 final 修饰的成员变量也必须显式地赋值),而局部变量则不会自动赋值。

7. 静态方法为什么不能调用非静态成员?

  1. 静态方法是属于类的,在类加载的时候就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化之后才存在,需要通过类的实例对象去访问。
  2. 在类的非静态成员不存在的时候静态成员就已经存在了,此时调用在内存中还不存在的非静态成员,属于非法操作。

8. 什么是可变长参数?

从 Java5 开始,Java 支持定义可变长参数,所谓可变长参数就是允许在调用方法时传入不定长度的参数。就比如下面的这个 printVariable 方法就可以接受 0 个或者多个参数。

public static void printVariable (String... args) {
   //......
}

另外,可变参数只能作为函数的最后一个参数,但其前面可以有也可以没有任何其他参数。

public static void printVariable1(String arg1, String... args) {
   //......
}

9. 遇到方法重载的情况怎么办呢?会优先匹配固定参数还是可变参数的方法呢?

答案是会优先匹配固定参数的方法,因为固定参数的方法匹配度更高

10. 访问修饰符 public,private,protected,以及不写(默认)时的区别

在这里插入图片描述

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

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

相关文章

python带你用最简单嘚词云图分析出最热话题

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 平常我们爬的评论、弹幕等等,数量又多又密,根本看不过来, 这时候数据分析的作用来了, 今天我们就试试用Python根据这些数据,来绘制词云图进行热词分析。 目录…

JUC-线程Callable使用与FutureTask源码阅读

JUC-线程Callable使用与FutureTask源码阅读 Callable简单使用 带返回值的线程(实现implements Callable<返回值类型>)&#xff0c;使用示例 import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Fut…

STC32G12K128单片机的 moubus-rtu 主机测试工程

简介 STC32G12K128 是STC 推出的一款32位的 C251 的单片机。最近拿到一块官方申请的 屠龙刀-STC32G开发板&#xff0c;就用它的提供的库函数&#xff0c;查考安富莱提供的 modbus 例程移植了一个 modbus-rtu 主站的工程。 modbus-rtu host 移植注意点 modbus-rtu 功能配置 …

MapReduce序列化【用户流量使用统计】

目录 什么是序列化和反序列化&#xff1f; 序列化 反序列化 为什么要序列化&#xff1f; 序列化的主要应用场景 MapReduce实现序列化 自定义bean对象实现Writable接口 1.实现Writable接口 2.无参构造 3.重写序列化方法 4.重写反序列化方法 5.顺序一致 6.重写toStri…

您应该查看的5个ChatGPT WordPress插件

要创建免费网站&#xff1f;从易服客建站平台免费开始 500M免费空间&#xff0c;可升级为20GB电子商务网站 您应该查看的5个ChatGPT WordPress插件 发布于 2023年4月1日 ChatGPT 席卷了数字世界。作为内容创建者或营销者&#xff0c;您可能希望通过在您的网站上使用ChatGPT…

JimuReport - 积木报表(一款免费Web报表工具)

一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报表设计。…

扫雷【C语言】

用C语言实现一个9X9的扫雷 test.c 测试部分 game.c 游戏实现部分 game.h 游戏声明部分 菜单部分 游戏部分 游戏部分包括创建一个扫雷的区域&#xff0c;在其中埋雷&#xff0c;玩家进行扫雷&#xff0c;判断扫雷是否成功 这里我i们定义行列&#xff0c;便于以后将其…

2023.05.12-使用Transformers Agents来一键调用千万个AI模型

1. 简介 简单来说&#xff0c;就是以前想要实现某一个AI功能&#xff0c;需要自己去网上搜索对应的模型、下载对应的权重才能使用。现在可以把中间的这些个环节都砍了&#xff0c;我们只需要告诉模型我们想要对某段文字或者某张图片进行什么操作&#xff0c;transformer就会自…

【经验贴】项目风险管理的有效方法

你遇见过“最奇葩”的项目风险是什么&#xff1f; 中级项目经理小李&#xff1a;我比较幸运? 项目一开始发现客户的需求不太明确&#xff0c;就识别出可能会有范围无限蔓延的风险&#xff0c;制定了一系列的应对措施&#xff0c;不出所料出了问题&#xff0c;最终还是将风险遏…

springboot整合redis,MongoDB,Elasticsearch(ES)

目录 springboot整合redis 连接Redis 字符串操作 哈希表操作 列表操作 集合操作 有序集合操作 lettcus与jedis的区别 springboot整合MongoDB 新增数据 查询数据 更新数据 删除数据 springboot整合Elasticsearch&#xff08;ES&#xff09; 创建ElasticsearchRepo…

区间预测 | MATLAB实现QRCNN-BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测

区间预测 | MATLAB实现QRCNN-BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测 目录 区间预测 | MATLAB实现QRCNN-BiLSTM卷积双向长短期记忆神经网络分位数回归时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于QRCNN…

Redis数据热迁移

1、redis数据热迁移&#xff0c;先通过redis-shake工具实现。 2、再通过redis-full-check检查迁移后的数据是否想同。 3、redis-shake版本下载&#xff1a; https://github.com/tair-opensource/RedisShake/releases 4、redis-full-check版本下载&#xff1a; https://github.c…

更简单的存和取bean

注解&#xff08;更简单存bean和取bean&#xff09;更简单的存bean&#xff08;使用类注解&#xff09;方法注解更简单的获取bean 注解&#xff08;更简单存bean和取bean&#xff09; 注解&#xff1a;声明和表示这个类或方法有某个能力。servlet的Web注解&#xff1b;实现路由…

2000多套微信小程序源码-史上最全的不同行业的源码集合

前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 很多伙伴学习小程序不知怎么开始&#xff0c;我准备了2000多套小程序源码&#xff0c;基本覆盖各个行业&#xff0c;大家有需要的可以借鉴学习~ 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面…

“数字人交互,与虚拟的自己互动”——用PaddleAvatar打造数字分身,探索人机交互的未来

“数字人交互&#xff0c;与虚拟的自己互动”——用PaddleAvatar打造数字分身&#xff0c;探索人机交互的未来 你是否曾经幻想过与自己的虚拟人交互&#xff1f;现在&#xff0c;使用PaddleAvatar&#xff0c;您可以将自己的图像、音频和视频转化为一个逼真的数字人视频&#…

Spring Cloud Alibaba--Nacos集群配置

文章目录 一、Nacos持久化配置二、Nacos集群配置三、避坑指南集群端口号冲突问题内存不足&#xff0c;无法启动的问题 一、Nacos持久化配置 Nacos默认自带的是嵌入式数据库derby&#xff0c;Nacos采用了集中式存储的方式来支持集群化部署&#xff0c;目前只支持MySQL的存储。 …

Goby 漏洞更新 |secnet-智能路由系统 actpt_5g.data 信息泄露

漏洞名称&#xff1a;secnet-智能路由系统 actpt_5g.data 信息泄露 English Name&#xff1a;secnet Intelligent Router actpt_5g.data Infoleakage CVSS core: 7.5 影响资产数&#xff1a;71768 漏洞描述&#xff1a; secnet安网智能AC管理系统是广州安网通信技术有限公…

mysql错误:2059 - Authentication plugin ‘caching_ sha2_password‘ cannot be loaded:

这个错误是因为MySQL数据库使用了 caching_sha2_password 插件进行身份验证&#xff0c;而该插件需要 MySQL 8.0.4 及以上版本的 MySQL 客户端才能够使用。 如果你使用的是旧版本的 MySQL 客户端&#xff0c;可以考虑升级到 MySQL 8.0.4 或更高版本。如果升级不是一个可行的选…

Windows重启mysql的方法(快速简单)

目录 一、背景 二、操作步骤 错误做法 正确做法 一、背景 有时候修改了数据库&#xff0c;但是MySQL数据库内容有延迟缓存&#xff0c;那么就需要重启一下数据库去解决问题 二、操作步骤 错误做法 直接去cmd命令里面输入net stop mysql这样停止&#xff0c;这样很可能…

【C++初阶】C++模版(进阶)

文章目录 前言一、非类型模板参数二、模板的特化概念函数模板特化类模板特化1.全特化3.偏特化 三、模板分离编译什么是分离编译模板的分离编译解决方法 模板总结 前言 前边我们讲解了模版初阶的内容&#xff0c;对泛型编程&#xff0c;函数模版&#xff0c;类模板有了一定的认…