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…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...