day02-作业题
一、简答题
请说出方法定义的全格式
访问修饰符 静态修饰符 返回值 方法名(参数列表){方法体;retrun 返回值;}
请说出方法重载的概念
在一个类中,可以定义方法名相同,参数列表不相同(参数类型、参数个数或者参数顺序不同)的方法
请简述什么是类,什么是对象
类:用户自定义的数据类型,用来描述相同属性和行为的对象集合。
对象:是根据类作为模板创建的实例,具有类所有的属性和行为。
请简述this关键字的概述及作用
this是一个关键字表示方法调用者的地址值。
主要作用:区分同名的成员变量和局部变量和访问当前对象的成员属性、成员方法、构造方法。
请简述private关键字的概述及作用
private:是一个访问修饰符。表示当前属性或者行为为该类私有的,其他类不可以直接访问。主要在面向对象中实现封装。
作用:隐藏对象内部细节,仅允许公共的方法进行访问和操作对象的状态,有助于保护对象的状态不受外部直接访问和修改的影响,可以防止用户的恶意操作。
请简述构造方法的作用和注意事项
构造方法用于帮助用户创建对象和给成员属性赋值,也可以在构造方法进行一系列的初始化操作。
注意事项:1.不能有返回值 2.构造方法名必须和类名相同
请简述封装有哪些体现以及好处
使用private访问修饰符来限制成员变量的访问权限,设计公共的方法setter和getter方法来允许外部代码访问和修改对象的状态。而不直接暴露对象的内部实现细节。
安全性:隐藏对象内部的细节,保护对象不能受外部直接访问和修改的影响。
复用性:对象可以在不同的上下文中被重复使用。
降低复杂度:外部代码只需要关注如何使用对象的功能,而不需要了解对象的内部复杂逻辑,从而减少了代码的复杂度和耦合度。
二、编程题
/*分析以下需求并完成代码设计一个方法,接收一个整数数组,能同时返回该数组的最大值和最小值提示:return后面只能写一个值
*/
public class Test02{public static void main(String[] args) {Random r = new Random();int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(100) + 1;}System.out.println(Arrays.toString(arr));System.out.println("该数组的最大值为:" + getMax(arr));System.out.println("该数组的最小值为:" + getMin(arr));}public static int getMax(int[] arr){int max = Integer.MIN_VALUE;for (int i : arr) {max = Math.max(i,max);}return max;}public static int getMin(int[] arr){int min = Integer.MAX_VALUE;for (int i : arr) {min = Math.min(i,min);}return min;}}
/*分析以下需求并完成代码设计一个方法,接收一个整数数组,计算数组中小于平均值的元素个数并返回*/
public class Test03{public static void main(String[] args) {Random r = new Random();int[] arr = new int[10];for (int i = 0; i < arr.length; i++) {arr[i] = r.nextInt(100) + 1;}System.out.println(Arrays.toString(arr));System.out.println("小于平均数的值有:" + ltAvgCount(arr) + "个");}public static int ltAvgCount(int[] arr){int sum = 0;for (int i : arr) {sum += i;}int avg = sum / arr.length;int count = 0;//统计平均数的个数for (int i : arr) {if (i < avg){count++;}}return count;}}
/*分析以下需求并完成代码编写实体类User,成员变量包含name姓名、年龄age、爱好hobby定义测试类,在main方法中完成实例化三个User对象,属性分别为"慕容雪痕",17,"弹钢琴""燕清舞",16,"跳舞""夏诗韵",21,"唱歌"将三个对象添加到合适的数组中 遍历数组,将年龄小于18岁的对象,爱好修改为"敲代码"遍历修改后的数组,控制台效果如下慕容雪痕 17 敲代码燕清舞 16 敲代码夏诗韵 21 唱歌
*/
public class TestUser{public static void main(String[] args) {User[] user = {new User("慕容雪痕",17,"弹钢琴"),new User("燕清舞",16,"跳舞"),new User( "夏诗韵",21,"唱歌")};user[0].setHobby("敲代码");user[1].setHobby("敲代码");for (User user1 : user) {System.out.print(user1.getName() + " ");System.out.print(user1.getAge() + " ");System.out.print(user1.getHobby());System.out.println();}}
}
class User{private String name;private Integer age;private String hobby;public User() {}public User(String name, Integer age, String hobby) {this.name = name;this.age = age;this.hobby = hobby;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getHobby() {return hobby;}public void setHobby(String hobby) {this.hobby = hobby;}
}
/*分析以下需求并完成代码编写实体类Person,成员变量包含姓名name、年龄age定义测试类,在main方法中完成定义方法getMinAge(Person[] persons),返回数组中最小的年龄定义方法getAvgAge(Person[] persons),返回数组中的对象平均年龄实例化三个Person对象,属性分别为"玄德",39"云长",35"翼德",34将三个对象添加到合适的数组中,将数组作为参数测试上述两个方法
*/
public class TestPerson{public static void main(String[] args) {Person[] persons = {new Person("玄德",39),new Person("云长",35),new Person("翼德",34)};Person minAgePerson = findMinAge(persons);System.out.println("最小年龄为:" + minAgePerson.getName() + " 岁数为:" + minAgePerson.getAge());System.out.println("平均年龄为:" + personAvgAge(persons));}//求岁数最小的人public static Person findMinAge(Person[] persons){Person personAgeMin = persons[0];for (int i = 1; i < persons.length; i++) {if (persons[i].getAge() < personAgeMin.getAge()){personAgeMin = persons[i];}}return personAgeMin;}//求平均年龄public static int personAvgAge(Person[] persons){int sum = 0;for (int i = 1; i < persons.length; i++) {sum += persons[i].getAge();}return sum / persons.length;}
}
class Person{private String name;private Integer age;public Person() {}public Person(String name, Integer age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
相关文章:
day02-作业题
一、简答题 请说出方法定义的全格式 访问修饰符 静态修饰符 返回值 方法名(参数列表){方法体;retrun 返回值;}请说出方法重载的概念 在一个类中,可以定义方法名相同,参数列表不相同(参数类型、参数个数或者参数顺序不同)的方法请简述什么是类…...

torch.cuda.set_divice()
我申请了两块GPU,然后看两张显卡的编号 import torch torch.cuda.set_device(0) # 设置当前cuda设备编号为1 print("当前cuda设备是", torch.cuda.current_device()) # 获取当前cuda设备import torch torch.cuda.set_device(1) …...

<数据集>RSOD数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:936张 标注数量(xml文件个数):936 标注数量(txt文件个数):936 标注类别数:4 标注类别名称:[aircraft, oiltank, overpass, playground] 序号类别名称图片数框数1air…...

企业高性能web服务器之Nginx
文章目录 Apache经典的web服务端Apache prefork 模型Apache work 模型(适应市场)Apache event 模型 网络I/O网络I/O模型I/O模型网络I/O模型 Nginx架构和安装Nginx源码编译环境准备安装nginx Nginx的平滑升级及版本回滚 Nginx架构和进程Nginx进程结构Ngin…...

11-sentinel利用nacos作持久化
本文介绍sentinel配置数据的持久化方法。由于sentinel官方并没有提供持久化功能,大家在测试过程中也能发现sentinel服务重启后,原来配置的数据就丢了,本文就是来处理这一问题的。 做好心理准备,我们要修改sentinel的源代码&#…...
密码学之哈希算法
文章目录 1. 哈希函数概述1.1 哈希函数的定义1.2 哈希函数的重要性 2. SHA系列算法简介2.1 SHA系列的发展历史2.2 SHA系列的应用场景 3. 主要SHA算法详解3.1 MD5算法3.2 SHA-1算法3.3 SHA-2算法家族3.4 SHA-3算法 4. SHA算法的安全性分析4.1 安全性的重要性4.2 已知的攻击方法4…...

杰发科技AC7801——GPIO通过寄存器地址控制高低电平
通过这个寄存器来查看控制的是哪个ODR值,使用sample,发现是0x20080068的第7和第9位 使用51控制寄存器的代码来置高置低代码,注意变量需要用unsigned int来声明 unsigned int ledBit 0;mdelay(100);ledBit | (1 << 9); ledBit & ~…...
代码随想录算法训练营第三十一天| 01背包问题 二维 01背包问题 一维 416. 分割等和子集
01背包问题 二维 代码随想录 视频讲解:带你学透0-1背包问题!| 关于背包问题,你不清楚的地方,这里都讲了!| 动态规划经典问题 | 数据结构与算法_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std;…...
github删除历史所有commit
背景 注意非确认情况下最好不要此操作 由于不小心在某些commits中提交了敏感信息,需要删除这些commits记录 网上看了很多方法,都是根据commit 找到一条id然后全部清除得,因为我是需要全部删除,所以有一种更简单得思路。 过程 1…...
C++前向声明简介
前向声明 class a; class b; class c:public d { ..... }类a和b已经实现了具体功能,类c在定义,在类c上面声明类a和b有什么作用 在类 c 的定义上面声明类 a 和 b 的作用主要是为了确保在编译时能够识别这两个类的存在,特别是在类 c 中可能会使…...
华为手机是越贵越好吗?
华为手机的价格与其性能、功能、设计以及市场定位等多种因素有关,因此不能简单地说华为手机越贵就越好。 首先,华为手机的产品线非常广泛,涵盖了从入门级到旗舰级的多个系列,每个系列都有其特定的目标用户群和市场需求。因此&…...

【java基础】IDEA 的断点调试(Debug)
目录 1.为什么需要 Debug 2.Debug的步骤 2.1添加断点 2.2单步调试工具介绍 2.2.1 Step Over 2.2.2 Step Into 2.2.3 Force Step Into 2.2.4 Step Out 2.2.5 Run To Cursor 2.2.6 Show Execution Poiint 2.2.7 Resume Program 3.多种 Debug 情况介绍 3.1行断点 3.2方…...

MPLS相关实验
一、实验拓扑图以及实验要求 1、实验拓扑图 2、实验要求 合理利用IP地址进行分配R3、R4、R5、R6运行ospf在R2、R3、R4、R5、R6上运行MPLSR1上使用静态,R7上运行rip协议,R8上运行ospf协议全网可达 二、实验分析 合理利用IP地址进行分配R3、R4、R5、R6…...

从零开始学习SLAM(五):极几何与极约束
文章参考计算机视觉life 前备知识 概念 几何关系: 上图中: 极平面(Epipolar plane):点c0, c1, p三点确定的平面; 极点(Epipoles): c0 c1 连线与两个平面的交点 基线&a…...

Freertos学习笔记
目录 1.单片机_RTOS_架构的概念 2.系统中的数据类型和编程命名规范 3.堆和栈的概念 4.rtos各个操作系统的优先级 5.1000HZ1ms;1000ms1s。 6.任务状态转换图 7.FreeRTOS任务管理中的Delay函数 8.任务调度算法 9.同步与互斥的概念 10.能实现同步、互斥的各类…...
线程(Thread)的使用方法和锁(同步代码块,lock锁)的问题
多线程: 进程: 正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。 理解:一个正在运行的软件 线程: …...
Java 反射机制
Java 反射(Reflection)是 Java 语言提供的一种在运行时动态获取类信息、创建对象、调用方法、访问属性等功能的机制。它允许程序在运行时对类进行检查、修改和调用,而不需要在编译时就知道类的具体信息。 一、反射的主要类和方法 Class类&…...
详解MBR分区结构以及GPT分区结构
学习笔记: GUID(GPT)分区表详解_gpt分区表-CSDN博客 详解MBR分区结构以及GPT分区结构-CSDN博客 其中U盘作为移动存储设备,可不具备上述分区,也可识别...

jvm 调优篇
一 jvm调优篇 1.1 查看新生代和老年代的比例 输入命令: jinfo -flag NewRatio 17480 1.2 查看新生代,survivor和Eden区比例 1.3 查看jvm调优参数 二 调优参数 2.1 oom异常 通过visual vm查看 2.java dump 大对象 2.2 mat工具进行分析 栈的信息...

Spring AOP应用指南:概念、通知与表达式分析
目录 一.AOP的基础概念 二.Spring AOP的应用场景 三.Spring AOP的核心概念 ▐ 切点(Pointcut) ▐ 连接点(Join Point) ▐ 通知(Advice) ▐ 切面(Aspect) 通知类型 四.PointCut与Order 切面优先级 五.切点表达式 execution(...)表达式 annotation表达式 一.AOP的基…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...