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的基…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...