JAVA编程学习记录(方法)
发布日期:2021-07-23 18:13:26 浏览次数:7 分类:技术文章

本文共 2821 字,大约阅读时间需要 9 分钟。

第三周:学习方法

为什么要引入方法?

假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上述过程中,所提取出来的代码可以被看作是程序中定义的一个方法,程序在需要发射炮弹时调用该方法即可。

简单的说:方法就是完成特定功能的代码块,是语句的集合,它们在一起执行一个功能。    //很多语言里面都有函数或过程的定义,而函数在Java中被称作方法--->>>一个返回非void类型返回值的方法称为函数;一个返回void类型返回值的方法叫过程;

方法是解决一类问题的步骤的有序组合

方法包含于类或对象中

方法在程序中被创建,在其他地方被引用

方法的优点:

1. 使程序变得更简短而清晰。

2. 有利于程序维护。
3. 可以提高程序开发的效率。
4. 提高了代码的重用性。

方法的格式:

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {			函数体;			return 返回值;    }

格式解释:

修饰符:是可选的,告诉编译器如何调用该方法,定义了该方法的访问类型;

返回值类型:方法可能会有返回值,这时需要一个数据类型来限制返回值的类型;有些方法执行所需的操作,但没有返回值,这种情况下返回值为 void;

方法名:方法名是方法的实际名称,方法名和参数表共同构成方法签名。    // 上一篇中记录到起名要做到见名知意

参数类型:参数像是一个占位符,当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数,参数是可选的,方法可以不包含任何参数。    //用来限定调用方法时传入参数的数据类型

参数名:是一个变量,接收调用方法时传入的参数。

方法体:包含具体的语句,定义该方法的功能,完成功能的代码。

return:结束方法以及返回方法指定类型的值给调用者。

返回值:程序被return带回来的结果,返回给调用者。

如何写一个方法?

首先要有两个明确:

    返回值类型:明确功能结果的数据类型;

    参数列表:明确有几个参数,以及参数的类型;

写一个实例:

/** 返回两个整型变量数据的较大值 */public static int getMax(int num1, int num2) {   int max;   if (num1 > num2)      max = num1;   else      max = num2;    return max; }

方法调用

写完实例会发现执行看不到什么结果,这时就需要引入调用了;因为方法有一个很重要的特点:不调用不执行;

Java支持两种方式来调用方法,分为:a.有明确返回值的方法调用。b.没有明确返回值的方法调用;根据方法是否需要返回值来选择。

1.有明确返回值的方法调用:

a.单独调用,没有意义;没有输出结果;//用来调用无返回值(void)类型的方法

b.输出调用,有意义,但不够好,直接给出了结果,不能对结果进行操作;

c.赋值调用:有返回值类型的方法,推荐使用,可以对结果进一步操作;

三种调用实例:

单独调用

public class FunctionTest {	public static void main(String[] args) {		int a=10;		int b=20;		getSum(a,b);	//单独调用,看不到结果	}	public static int getSum(int a,int b) {		//定义变量		int sum=a+b;		return sum;		//返回和	}}

输出调用

public class FunctionTest {	public static void main(String[] args) {		int a=10;		int b=20;		System.out.println(sum(a,b));	//输出调用	}	public static int sum(int a,int b) {		//定义变量		int sum=a+b;		return sum;		//返回和	}}

赋值调用

public class FunctionTest {	public static void main(String[] args) {		int a=10;		int b=20;		int result=sum(a,b);	//赋值调用		System.out.println("a与b的和为:"+result);	}	public static int sum(int a,int b) {	return a+b;		//返回和	}}
定义方法的注意事项

1.方法和方法是平级关系,一个方法中不能再定义方法.

2.定义一个方法的时候,形式参数必须有数据类型,否则报错.
3.在主main()中,调用方法的时候,实际参数中不需要带数据类型的.
4.有大括号的地方,不能有分号,有分号的地方不能有大括号.

2.无明确返回值的方法调用

其实就是void调用;

写一个输出阵列的方法:

public static void main(String[] args) {		Scanner sc=new Scanner(System.in);		//获取要打印的行和列		System.out.println("请输入行");		int a=sc.nextInt();		System.out.println("请输入列");		int b=sc.nextInt();		xing(a,b);	//采用单独调用	}	public static void xing(int a,int b) {		for(int x=1;x<=a;x++) {	//行			for(int y=1;y<=b;y++) {	//列				System.out.print("*");			}			System.out.println();		}	}}

定义该方法时明确没有返回值,所以就需要采用void类型定义;

调用该方法时则就需要用到单独调用;

方法重载

在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。

方法重载特点:

方法名相同

方法的参数类型,个数顺序至少有一项不同
方法的返回类型可以不相同
方法的修饰符可以不相同

main方法也可以被重载

与返回值类型无关,只看方法名和参数列表

在调用时,虚拟机通过参数列表的不同来区分同名方法

转载地址:https://blog.csdn.net/otmqixi/article/details/79883940 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JAVA编程学习记录(数组)
下一篇:JAVA编程学习记录(Java基础)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月22日 10时16分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

pdo转mysql_mysql转mysqli或pdo 2019-04-21
mysql如果没有表就创建_mysql – 改变表是否存在或创建如果没有 2019-04-21
ireport连接mysql_ireport 4.5教程之数据源介绍 2019-04-21
mysql多维模型_数据仓库数据库设计方法---关系模型和多维模型比较分析 2019-04-21
局域网聊天程序 java MySQL_java 基于TCP/IP协议的局域网聊天小程序 2019-04-21
r glm 中的p值_假设检验中的P值 2019-04-21
mysql中sql语句结构_MySQL中使用sql语句获得表结构 2019-04-21
如何增加mysql主键约束_mysql修改表时怎么添加主键约束? 2019-04-21
java选择路径窗口_Java实现选择电脑路径的方法 2019-04-21
java 图像渐变_Java基础之在窗口中绘图——渐变填充(GradientApplet 1) 2019-04-21
冒泡排序面向对象java_所谓的面向对象实现的冒泡排序 2019-04-21
proto 客户端 JAVA_Kubernetes官方java客户端之五:proto基本操作 2019-04-21
java编写roguelike_RogueLike地牢生成算法Unity实现 2019-04-21
java ajax 修改数据库数据库数据库_AJAX 自学练习 无刷新提交并修改数据库数据并显... 2019-04-21
java并发编程指南博客_Java并发编程-synchronized指南 2019-04-21
java怎么中断阻塞状态_java并发编程()阻塞方法与中断方法 2019-04-21
java zlib 位运算_位运算入门:找出一个二进制数的最右端的第一个1;计算一个二进制数中1的个数;找出数组中唯一一个出现次数为奇数的数;找出数组中唯二两个出现次数为奇数的数... 2019-04-21
java lua热更新_lua热更新学习 2019-04-21
script执行php文件_php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法... 2019-04-21
apache 2.4 php5.4_apache2.4+php5.4+my sql 5.6,网站经常无故不能访问 2019-04-21