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

2024-05-13 01:52
文章标签 java 基础 顺平

本文主要是介绍韩顺平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允许将同一个类中多个同名同功能,但参数个数不一样的方法,封装成一个方法。

基本语法:

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

}

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

这篇关于韩顺平0基础学Java——第10天的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984354

相关文章

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注