韩顺平0基础学Java——第10天

news2025/1/18 8:22:11

p202-233

类与对象(第七章)

成员方法

person类中的speak方法:

1.public表示方法是公开的

2.void表示方法没有返回值

3.speak()中,speak表示方法名,括号是形参列表。

4.大括号为方法体,写我们要执行的代码,本例中是输出我是个好人

构造函数

方法使用:

方法写好后不调用就不生效。先创建对象,然后调用方法即可。

例:Person p1 = new Person();

P1.speak();//调用方法

同理计算两个数的和:

public int getSum(int x, inty){

        int res = x+y;

        return res;

}

懂这个,略了

方法调用机制:

1.当程序执行到方法时,就会开辟一个独立的空间(栈空间

2.方法执行完毕,或者执行到return时就会返回

3返回到调用方法的地方

4返回后,继续执行方法后面的代码

5.当main方法(栈)执行完毕,整个程序退出

入栈出栈:是先进后出

例:遍历数组,输出数组的各个元素值。

方法的使用细节

1访问修饰符:public ,默认,protected,private

2数据返回类型:一个方法只有一个返回值,那么我想返回多个值可以返回数组。返回可以是任何类型,比如一个对象。

3.如果方法要求了返回数据类型,比如public int xxxxx(),那么最后一句必须是return一个int

4.形参列表:可以有0个参数,也可以多个,用逗号隔开

        参数类型可以是任何类型

        注意传入参数和返回值的类型,比如把byte传进返回int的方法就可以

        注意传参数时的顺序也要一致

5.方法不能嵌套定义

6.同一类中的方法可以调用:直接调用即可,不需要创建对象

方法练习

1.

2.

成员方法传参机制

传值和传地址

引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参。

练习:

b.test200(p)把地址传到了class B的方法中,使形参中的指针置空,但是实参并没有置空!

经过测试,在形参置空前进行数据的操作还是会传回来。

案例:

解:

输出时,可以通过输出对象的hashCode来比较它们是不是同一个对象

==和equals的区别?

方法递归调用

递归就是方法自己调用自己,每次调用时传入不同的变量。

案例:

2 3 4 

n!

递归的过程会反复开栈,如下图

递归的重要规则

练习

1.斐波那契数列:

2.猴子吃桃

递归调用-老鼠出迷宫

0222_韩顺平Java_老鼠出迷宫2_哔哩哔哩_bilibili

还挺难想到的

回溯现象

当小球走到一个点位,给它置3(走不通)时,就会发生回溯,返回到上一个栈去,寻找上一个栈的另一个方向的解。

如何寻找最短路径?

1.穷举法

2.图数据结构求出最短路径,深度优先广度优先等等。

汉诺塔

没看懂,脑壳痛,你这代码怎么实现的?我虽然理解汉诺塔的规则了,但是你这代码为什么是这样的?

“如果塔只有一层,那就挪一次。如果不是一层,就看成最后一层和上面的所有层,然后递归上面的层直到剩一层”

0225_韩顺平Java_汉诺塔_哔哩哔哩_bilibili

八皇后

0226_韩顺平Java_八皇后_哔哩哔哩_bilibili

写不来,摆了

方法重载

java中允许一个类中,多个同名方法的存在,但要求形参列表不一致。

好处:减轻了起名、记名的麻烦。

细节:

1.方法名需要相同

2.形参列表不能完全相同。形参名字不能用来区分。

3.返回类型不参与构成方法重载。不进行要求。

练习:

b c d e 

可变参数

java允许将同一个类中多个同名同功能,但参数个数不一样的方法,封装成一个方法。

基本语法:

访问修饰符 返回类型 方法名(数据类型... 形参名){

}

啊该死的八皇后我看着重载想递归救命啊睡不着了

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

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

相关文章

2005-2022年各省居民人均可支配收入数据(含城镇居民人均可支配收入、农村居民人均可支配收入)(无缺失)

2005-2022年各省居民人均可支配收入数据(含城镇居民人均可支配收入、农村居民人均可支配收入)(无缺失) 1、时间:2005-2022年 2、来源:国家统计局、统计年鉴 3、指标:全体居民人均可支配收入、…

语言:C#

一、VSCode生成exe 二、

Spring Cloud学习笔记(Nacos):基础和项目启动

这是本人学习的总结,主要学习资料如下 - 马士兵教育 1、基础和版本选择2、启动项目2.1、源码启动项目2.2、命令行启动 1、基础和版本选择 Nacos是用于服务发现和注册,是Spring Cloud Alibaba的核心模块。 根据文档,Spring Cloud Alibaba的版…

ollama离线安装,在CPU运行它所支持的哪些量化的模型

在线安装的链接: Download Ollama on LinuxGet up and running with large language models.https://ollama.com/download/linux 离线安装教程: 下载install.sh: https://ollama.ai/install.sh

算法笔记——数位DP

一、前置知识 1.DP小知识 D P DP DP 是一种算法思想,用递推方程的方式解决问题。但是使用它要满足如下性质: 最优子结构: 子结构优秀,整个就优秀。无后效性:当前决策不会影响后面。 2.DP实现方法 众所周知&#xf…

STC8增强型单片机开发——串口调试UART

一、什么是串口 串口是一种在数据通讯中广泛使用的通讯接口,通常我们叫做UART (通用异步收发传输器Universal Asynchronous Receiver/Transmitter),其具有数据传输速度稳定、可靠性高、适用范围广等优点。在嵌入式系统中,串口常用于与外部设备…

【算法】动态规划之线性DP问题

前言: 本系列是看的B站董晓老师所讲的知识点做的笔记 董晓算法的个人空间-董晓算法个人主页-哔哩哔哩视频 (bilibili.com) 树塔-记忆化搜索 特点(前提):从上向下的累加和是不能重复使用的,从下向上的累加和是可以重…

Golang — map的使用心得和底层原理

map作为一种基础的数据结构,在算法和项目中有着非常广泛的应用,以下是自己总结的map使用心得、实现原理、扩容机制和增删改查过程。 1.使用心得: 1.1 当map为nil和map为空时,增删改查操作时会出现的不同情况 我们可以发现&#…

浅谈如何做好软件项目

如何做好软件项目,这是摆在软件实施团队每个人面前的关键问题。笔者在此提出一些浅见,供大家参考。欢迎在评论区交流! 目录 【摘要】 【正文】 一、树立正确的需求调研理念 二、谋定而后动的开发工作 三、大道至简的系统设计 四、专注项…

Yoast SEO Premium插件下载,提升您的网站SEO排名

在当今数字化时代,网站的搜索引擎优化(SEO)至关重要。它不仅影响着网站的可见度,更直接关系到您的在线业务成功与否。如果您正在寻找一个能够显著提升网站SEO表现的工具,Yoast SEO Premium插件将是您的理想选择。 为什…

OpenHarmony 实战开发——如何编译OpenHarmony自带APP

概述 OpenHarmony 的主干代码是开源社区的重要学习资源,对于想进行应用开发和熟悉 OpenHarmony 能力的同学主干代码是非常重要的资源,在主干代码的 applications 目录里聚集了很多原生的应用实现,那么如何编译这些代码就是我们这篇文章的主要…

springboot+vue+mybatis灵活就业服务平台+PPT+论文+讲解+售后

随着网络科技的不断发展以及人们经济水平的逐步提高,网络技术如今已成为人们生活中不可缺少的一部分,而微信小程序是通过计算机技术,针对用户需求开发与设计,该技术尤其在各行业领域发挥了巨大的作用,有效地促进了灵活…

draw.text((left, top - 15), text,font=font, fill=“green”)

这是一个Python PIL库中的方法,用于在图片上绘制文本。具体来说,它可以在指定的位置绘制指定的文本,并使用指定的字体、颜色等参数进行渲染。其中,left和top是文本绘制的左上角坐标,text是要绘制的文本内容&#xff0c…

【linux学习】多线程(1)

文章目录 线程的概念线程与进程 线程的用法线程的创建多线程 线程的等待线程锁死锁 线程的概念 在Linux中,线程(Thread)是程序执行流的最小单位,是进程中的一个实体,负责在程序中执行代码。线程本身不拥有系统资源&…

只需三步将Kimi接入微信公众号

今天我将手把手交大家如何把Kimi大模型接入微信公众号,创建属于你自己的公众号智能助理,让你的公众号具备智能对话、文件阅读、信息搜索等强大功能,同时提高用户互动率、减少人工客服压力等。 废话不多说,先来看看实际效果吧~ 一…

简约在线生成短网址系统源码 短链防红域名系统 带后台

简约在线生成短网址系统源码 短链防红域名系统 带后台 安装教程:访问 http://你的域名/install 进行安装 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

AI视频教程下载:用ChatGPT自动化各种工作任务

这是一门实用的无代码课程,旨在通过使用ChatGPT高级数据分析和代码解释器提高生产力。 通过让ChatGPT代码解释器创建程序来自动化单调的任务,提高您的计算机生产力。 这门课程专为那些渴望快速使用小型实用程序的人设计,不需要编程知识。相…

下水道井盖多分类检测定位

下水道井盖识别,多分类,使用yolov5训练,采用一部分开源数据集和自建数据集。python pytorch opencv 深度学习#人工智能#深度学习#目标检测

在另外一个页面,让另外一个页面弹框显示操作(调佣公共的弹框)

大概意思是,登录弹框在另外一个页面中,而当前页面不存在,在当前页面中判断如果token不存在,就弹框出登录的弹框 最后一行 window.location.href … 如果当前用户已登录,则执行后续操作(注意此处,可不要)

7.STL_string1.0(详细)

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 1. 为什么学习string类? 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 1. string类对象的常见构造 2. string类对象的容量操作 reserve 3. string类对象…