java,每日练习02
题目
选自牛客网
1.下列关于Java中类的构造方法的描述,正确的是()
A.构造方法的返回类型为void
B.可以定义一个类而在代码中不写构造方法。
C.在同一个类中定义的重载构造方法不可以相互调用。
D.子类不允许调用父类的构造方法。
正确答案:B 。
A. 构造方法的返回类型为 void ——
这是错误的。构造方法实际上没有返回类型,它的名称与类名相同,并且不返回任何值。你不能像普通函数那样给构造方法指定返回类型。B. 可以定义一个类而在代码中不写构造方法 —— 这是正确的。如果你没有显式地定义构造方法,Java 编译器会自动为类生成一个默认的无参构造方法。这个默认构造方法没有任何操作。
C. 在同一个类中定义的重载构造方法不可以相互调用 —— 这是错误的。在同一个类中,你可以使用
this
关键字在一个构造方法中调用另一个构造方法,但必须作为第一条语句。D. 子类不允许调用父类的构造方法 —— 这也是错误的。子类可以通过
super
关键字调用父类的构造方法,并且通常需要在子类构造方法的第一条语句中进行调用,如果子类构造方法没有显式调用父类的构造方法,则默认会调用父类的无参数构造方法。
2.执行下面的程序段,语句3的执行次数为(其中n>1)()
for (i = 0; i <= n-1; i++) // (1)
for (j = n; j > i; j–) // (2)
state; // (3)
A.n(n+2)/2
B.(n-1)(n+2)/2
C.n(n+1)/2
D.(n-1)(n+2)
正确答案:C 为了确定语句3的执行次数,我们需要分析这两个嵌套循环的工作原理。
外部循环(第1行)从0到(n-1)迭代,总共迭代(n)次。
内部循环(第2行)对于每次外部循环的迭代,其迭代次数不同。当外部循环变量(i)取不同的值时,内部循环的起始点和终止点也不同。具体来说:
- 当(i=0)时,内部循环从(j=n)迭代到(j=1),共迭代(n)次。
- 当(i=1)时,内部循环从(j=n)迭代到(j=2),共迭代((n-1))次。
- …
- 当(i=n-1)时,内部循环只迭代一次,即(j=n)。
内部循环对于每个(i)值的迭代次数形成一个等差数列:(n, n-1, n-2, …,
1)。我们需要计算这个数列的总和,这将给出语句3的执行次数。
这对应于选项 C (n(n+1)/2)。
3.java中关于继承的描述正确的是()
A.一个子类只能继承一个父类
B.子类可以继承父类的构造方法
C.继承具有传递性
D.父类一般具有通用性,子类更具体
正确答案:ACD
在Java中关于继承的描述正确的是:A. 一个子类只能继承一个父类 —— 这个说法是正确的。Java 不支持多重继承,这意味着一个类只能继承一个父类。
B. 子类可以继承父类的构造方法 —— 这个说法是不正确的。子类不会直接继承父类的构造方法。子类可以通过
super
关键字来调用父类的构造方法,但这不是继承构造方法的行为。C. 继承具有传递性 —— 这个说法是正确的。如果类 C 继承自类 B,而类 B 继承自类 A,那么类 C 间接地继承了类 A
的特性,这就体现了继承的传递性。D. 父类一般具有通用性,子类更具体 ——
这个说法是正确的。通常情况下,父类提供了一组通用的功能和属性,而子类则扩展或细化这些功能,使之更加具体化。
4.在Java线程状态转换时,下列转换不可能发生的有()?
A.初始态->运行态
B.就绪态->运行态
C.阻塞态->运行态
D.运行态->就绪态
正确答案:AC
在Java中,线程的状态转换遵循一定的规则。线程的生命周期中包含五种状态:初始态、就绪态、运行态、阻塞态、死亡状态。A. 初始态 -> 运行态 —— 这个转换是不可能直接发生的。线程从初始态(即刚刚创建但尚未启动的状态)变为运行态,中间需要经过就绪态。也就是说,当线程被创建并调用
start()
方法后,线程进入就绪态,等待CPU分配时间片开始执行,此时线程才可能进入运行态。B. 就绪态 -> 运行态 —— 这个转换是可能发生的。当线程处于就绪态时,它等待CPU调度,一旦获得CPU时间片,就可以进入运行态。
C. 阻塞态 -> 运行态 —— 这个转换是不可能直接发生的。当线程从阻塞态恢复时,它应该先回到就绪态,然后再由操作系统调度进入运行态。因此,从阻塞态直接跳转到运行态是不符合线程状态转换规则的。
D. 运行态 -> 就绪态 —— 这个转换是可能发生的。当线程正在运行时,如果它的时间片用尽或主动让出CPU(如遇到
yield()
方法),它会从运行态变为就绪态,等待下一次被调度。
5.以下代码执行的结果显示是多少()?
public class Demo{public static void main(String[] args){System.out.print(getNumber(0));System.out.print(getNumber(1));System.out.print(getNumber(2));System.out.print(getNumber(4));}public static int getNumber(int num){try{int result = 2 / num;return result;}catch (Exception exception){return 0;}finally{if(num == 0){return -1;}if(num == 1){return 1;}}}
}
A.0110
B.-1110
C.0211
D.-1211
正确答案:B
public static int getNumber(int num){try{int result = 2 / num;return result;}catch (Exception exception){return 0;}finally{if(num == 0){return -1;}if(num == 1){return 1;}} }
对于不同的
num
值,我们来分析getNumber
方法的行为:
当
num = 0
时:
- 在
try
块中,尝试执行2 / num
会导致除以零异常,因此会触发catch
块。catch
块返回0
。finally
块中有一个针对num == 0
的条件判断,会覆盖catch
块中的返回值,返回-1
。当
num = 1
时:
- 在
try
块中,2 / num
的结果是2
。return result
返回2
。finally
块中有一个针对num == 1
的条件判断,会覆盖try
块中的返回值,返回1
。当
num = 2
时:
- 在
try
块中,2 / num
的结果是1
。return result
返回1
。finally
块中没有匹配的条件,因此返回值不变,仍然是1
。当
num = 4
时:
- 在
try
块中,2 / num
的结果是0
。return result
返回0
。finally
块中没有匹配的条件,因此返回值不变,仍然是0
。综上所述,当分别调用
getNumber(0)
、getNumber(1)
、getNumber(2)
和getNumber(4)
时,返回值分别为-1
、1
、1
和0
。因此,程序的输出结果是
-1110
。正确答案是 B. -1110。
相关文章:
java,每日练习02
题目 选自牛客网 1.下列关于Java中类的构造方法的描述,正确的是() A.构造方法的返回类型为void B.可以定义一个类而在代码中不写构造方法。 C.在同一个类中定义的重载构造方法不可以相互调用。 D.子类不允许调用父类的构造方法。 正确答案…...
C# TreeView
添加 TreeView 控件:定义节点:添加节点:设置节点属性:处理节点事件:自定义节点绘制:数据绑定:节点选择:节点展开和折叠:搜索和过滤:示例代码总结 C# 中的 Tre…...

通过xshell使用密钥连接阿里云服务器
目录 步骤1:创建密钥对 步骤2:连接服务器 步骤3:连接服务器 连接阿里云服务器有几种方式,例如有密码进行连接,但是密码连接安全风险较大,所以我们选择密钥方式进行连接。操作简单且安全性高 步骤1&…...

<数据集>路面坑洼识别数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:681张 标注数量(xml文件个数):681 标注数量(txt文件个数):681 标注类别数:1 标注类别名称:[pothole] 使用标注工具:labelImg 标注规则:对类…...
几个常用脚本
系统初始化 #!/bin/bash # 定义颜色常量 RED\033[0;31m GREEN\033[0;32m NC\033[0m # No Color #功能菜单 menu() {clearecho "请选择要执行的操作:"echo "1. 检查网络"echo "2. 关闭防火墙和SELinux"echo "3. 替换YUM源"echo "…...
gtest中TEST和TEST_F和TEST_P的区别是什么
gtest(Google Test)是Google开发的一个开源的C测试框架,它提供了多种宏来支持不同类型的测试。其中,TEST、TEST_F和TEST_P是三个常用的宏,它们各自有不同的用途和特性。以下是它们之间的主要区别: TEST 用…...

VS2022如何调出输出窗口,并在输出窗口打印日志
在输出窗口打印 System.Diagnostics.Debug.WriteLine("这是一行自定义的输出。Debug.WriteLine");System.Diagnostics.Debug.Write("这是第二行自定义的输出,Debug.Write");System.Diagnostics.Debug.WriteLine("换行");System.Diagn…...

【全国大学生电子设计竞赛】2021年I题
🥰🥰全国大学生电子设计大赛学习资料专栏已开启,限时免费,速速收藏~...

【项目】基于Vue2+Router+Vant 前端面经项目
环境配置 Vue脚手架的创建 在终端中打开输入 vue create 项目包名 -m npm注意⚠️:项目名称不再允许包含大写字母。 选择第三项 3.选择要安装的模块 从上到下的功能模块: Babel - ES:降级处理Router-Vue:路由插件CSS预处理器E…...

【论文阅读】YOLOv10: Real-Time End-to-End Object Detection
题目:YOLOv10: Real-Time End-to-End Object Detection 作者:Ao Wang Hui Chen∗ Lihao Liu Kai Chen Zijia Lin Jungong Han Guiguang Ding∗ 清华大学的 motivation: 作者觉得YOLO系列的NMS和某些结构非常的耗时,提出NMS-free和一些列高效…...
计算资源消耗
计算资源消耗 计算资源的消耗分成: 模型参数本身的存储。模型参数的梯度以及梯度momentum的存储。token的传播过程 例如以llama3-7b为例: 模型参数存储: 模型参数量 * fp32 例如llama3-70b为例,7 * 10^9 * 4 模型参数的梯度以…...
企业微信推送消息的Java实现教程
在这篇教程中,我们将介绍如何使用Java实现企业微信的消息推送功能,特别是在完成任务后,将结果信息通过企业微信推送给指定的用户。我们将基于您提供的代码进行说明。 1. 环境准备 1.1 依赖库 在开始编写代码之前,确保您的项目中…...

强化学习之Actor-Critic算法(基于值函数和策略的结合)——以CartPole环境为例
0.简介 DQN算法作为基于值函数的方法代表,基于值函数的方法只学习一个价值函数。REINFORCE算法作为基于策略的方法代表,基于策略的方法只学习一个策略函数。Actor-Critic算法则结合了两种学习方法,其本质是基于策略的方法,因为其目…...

Linux学习记录(五)-------三类读写函数
文章目录 三种读写函数1.行缓存2.无缓存3.全缓存4.fgets和fputs5.gets和puts 三种读写函数 1.行缓存 遇到新行(\n),或者写满缓存时,即调用系统函数 读:fgets,gets,printf,fprintf,sprintf写:fputs,puts,scanf 2.无缓…...
2024年8月13日(lvs NAT脚本 RS脚本 ds脚本)
lvs-nat模式的优点配置简单,缺点是请求和响应都必须经过ds,容易称为性能瓶颈 希望有这样的模式,请求的时候使用input链进行负载均衡,响应的时候就不要经过ds,直接由rs响应给客户端 在nat模式的时候,请求vip,接收vip的响应 构想 请求vip,接受rip响应,这是不允许lvs-dr模式 NAT脚…...

css实现水滴效果图
效果图: <template><div style"width: 100%;height:500px;padding:20px;"><div class"water"></div></div> </template> <script> export default {data() {return {};},watch: {},created() {},me…...

接口测试面试题目,你都会了吗?
面试题 什么是接口测试? 接口自动化测试的流程是什么? GET请求和POST请求区别是什么? 接口测试的常用工具有哪些? HTTP接口的请求参数类型有哪些? 如何从上一个接口获取相关的响应数据传递到下一个接口࿱…...

jmeter-beanshell学习16-自定义函数
之前写了一个从文件获取指定数据,用的时候发现不太好用,写了一大段,只能取出一个数,再想取另一个数,再粘一大段。太不好看了,就想到了函数。查了一下确实可以写。 public int test(a,b){return ab; } ctes…...

LogicFlow工作流在React和Vue3中的使用
LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和简单灵活的节点自定义、插件等拓展机制,方便我们快速在业务系统内满足类流程图的需求。 核心能力 可视化模型:通过 LogicFlow 提供的直观可视化界面,…...
Python循环语句:不到长城心不死
Python中的循环语句是编程中非常重要的结构,它们允许你重复执行一段代码多次,直到满足某个条件为止。Python提供了两种主要的循环类型:for循环和while循环。 文章目录 1. for 循环2. while 循环循环控制语句range() 函数结合循环语句和 rang…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...