韩顺平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

相关文章

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

springMVC返回Http响应的实现

《springMVC返回Http响应的实现》本文主要介绍了在SpringBoot中使用@Controller、@ResponseBody和@RestController注解进行HTTP响应返回的方法,... 目录一、返回页面二、@Controller和@ResponseBody与RestController

JAVA集成本地部署的DeepSeek的图文教程

《JAVA集成本地部署的DeepSeek的图文教程》本文主要介绍了JAVA集成本地部署的DeepSeek的图文教程,包含配置环境变量及下载DeepSeek-R1模型并启动,具有一定的参考价值,感兴趣的... 目录一、下载部署DeepSeek1.下载ollama2.下载DeepSeek-R1模型并启动 二、J

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分