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

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.rhkb.cn/news/325809.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重塑数据架构:云器Lakehouse如何简化组装式架构实现性能与成本的精益平衡

导读本文将介绍云器科技自研的 Lakehouse 产品。通过本次分享,您将了解云器 Lakehouse 产品特性,了解一体化数据平台如何提升数据处理和数据分析的效率,使之更轻松、更简洁、更高效,了解增量计算如何做到平衡数据新鲜度、查询性能…

DE2-115串口通信

目录 一、 内容概要二、 Hello Nios-II2.1 Nios-II编程2.1.1 硬件Ⅰ 搭建环境Ⅱ 编写代码 2.1.2 软件2.1.3 烧录Ⅰ硬件Ⅱ 软件 2.2 verilog编程 三、 心得体会 一、 内容概要 分别用Verilog和Nios软件编程, 实现DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助…

【Shell】shell编程之循环语句

目录 1.for循环 例题 2.while循环 例题 3.until循环 1.for循环 读取不同的变量值,用来逐个执行同一组命令 for 变量 in 取值列表 do 命令序列 done [rootlocalhost ~]# for i in 1 2 3 > do > echo "第 $i 次跳舞" > done 第 1 次跳舞 第 …

使用Pycharm编写Python程序时对基本类结构中方法的重写的两种初步操作方式

使用Pycharm编写Python程序时对基本类结构中方法的重写的两种初步操作方式 Python和其他一些高级面向对象的编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改&…

闲来装个虚拟机Ubuntu24.04和硬盘分区及挂载

简述 最近ubuntu出新版本了,ubuntu24.04, 俗称高贵食蚁兽。5年前进行Android或者linux开发基本是在windows下的虚拟机中进行。目前,虽然物质基础提高了,功能有独立进行编译、代码管理的服务器了。可以通过ssh登录,但是…

【C++11】C++11类与模板语法的完善

目录 一,新的类功能 1-1,默认成员函数 1-2,强制生成关键字 二,可变参数模板 2-1,模板参数包 2-2,STL容器empalce的相关接口 一,新的类功能 1-1,默认成员函数 C11之前的类中有…

Tomcat添加服务以及设置开机自启

下载地址连接 Index of /dist/tomcat👓 注意点:不要出现中文路径 #环境变量 CATALINA_HOMED:\apache-tomcat-7.0.62 TOMCAT_HOMED:\apache-tomcat-7.0.62 JAVA_HOMED:\tool\jdk1.8.0_111 PATH%CATALINA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\…

对称加密介绍

一、什么是对称加密 对称密钥算法(Symmetric-key algorithm),又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。 对称加密的特点是,在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。 这…

超越传统游戏:生成式人工智能对游戏的变革性影响

人工智能(AI)在游戏中的应用 游戏产业是一个充满活力、不断发展的领域,人工智能(AI)的融入对其产生了重大影响。这一技术进步彻底改变了游戏的开发、玩法和体验方式。本文分析的重点是传统人工智能和生成式人工智能在游…

网络安全之弱口令与命令爆破(下篇)(技术进阶)

目录 一,什么是弱口令? 二,为什么会产生弱口令呢? 三,字典的生成 四,九头蛇(hydra)弱口令爆破工具 1,破解ssh登录密码 2,破解windows登录密码 3&#xf…

java项目之相亲网站的设计与实现源码(springboot+mysql+vue)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的相亲网站的设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 相亲网站的设计与实…

Excel办公技巧之下拉菜单

在日常办工中,经常需在单元格中输入特定的值,此时我们可以使用下拉菜单解决,输入错误和错误值,可以一劳永逸的解决固定数据输入问题。 使用Excel下拉菜单时,它在数据输入和验证方面发挥着重要作用通过点击单元格的下拉…

权限及权限操作

1.命令行解释器 Linux将命令行解释器称为外壳程序shell 命令行解释器的作用就是将用户输入的指令转换为操作系统能够直接执行的指令。同时将操作系统的反馈转换为用户能看懂的反馈,解决了用户和操作系统沟通成本的问题。与此同时,命令行解释器还能够拦…

乡村旅游指标-最美乡村数、旅游示范县数、旅行社数、景区数、农家乐数(2007-2021年)

01、数据介绍 乡村旅游也是促进乡村经济发展的有效途径。通过发展乡村旅游,可以带动乡村相关产业的发展,提高乡村居民的收入,促进乡村的经济发展和社会进步。此外,乡村旅游还能促进城乡交流,推动城乡统筹发展。 数据…

rt-thread 挂载romfs与ramfs

参考: https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/qemu-network/filesystems/filesystems?id%e4%bd%bf%e7%94%a8-romfs https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutor…

香港虚拟主机哪里可以试用?用于企业建站的

香港虚拟主机适合个人、企业建站,包括外贸企业网站、个人博客网站、中小企业官网等,那么作为新手不知道哪家香港虚拟主机好用的时候,该如何找到可以试用的香港虚拟主机呢? 香港虚拟主机也称作香港空间、香港虚拟空间,…

DS:时间复杂度和空间复杂度

欢迎各位来到 Harper.Lee 的学习世界! 博主主页传送门:Harper.Lee的博客主页 想要一起进步的uu欢迎来后台找我哦! 本片博客主要介绍的是数据结构中关于算法的时间复杂度和空间复杂度的概念。 一、算法 1.1 什么是算法? 算法(Alg…

QT--2

Qt界面设计 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口相关设置this->resize(680,520);this->setFixedSize(680,520);this->setWindowTitle("Tim");this->setWindowFla…

Linux进程控制——Linux进程终止

前言:前面了解完前面的Linux进程基础概念后,我们算是解决了Linux进程中的一大麻烦,现在我们准备更深入的了解Linux进程——Linux进程控制! 我们主要介绍的Linux进程控制内容包括:进程终止,进程等待与替换&a…

【机器学习数据可视化-04】Pyecharts数据可视化宝典

一、引言 在大数据和信息爆炸的时代,数据可视化成为了信息传递和展示的关键手段。通过直观的图表和图形,我们能够更好地理解数据,挖掘其背后的信息。Pyecharts,作为一款基于Python的数据可视化库,凭借其丰富的图表类型…