/*
关于java语言中的方法
方法怎么定义,语法结构:
【修饰符列表】 返回值类型 方法名(形式参数列表){
// public static int fangFa(int a)
方法体;
}
对以上的语法结构进行解释说明
关于修饰符列表
可选项,不是必须的
目前统一写成:public static【以后讲】
方法的修饰符列表当中有"static"关键字的话,怎么调用这个方法?
类名.方法名(实际参数列表);
返回值类型
什么是返回值?
一个方法是可以完成某个特定功能的,这个功能结束后
最终返回执行结果,执行结果可能是一个具体存在的数据,
而这个具体存在的数据就是返回值
返回值类型?
返回值是一个具体存在的数据,数据都是有类型的,此处需要
指定一个具体的返回值数据类型
返回值类型都可以指定那些类型?
java任意一种类型都可以,包括基本数据类型和引用数据类型
也可能这个方法执行结束之后不返回任何数据类型,java中规定,
当一个方法执行结束之后不返回任何数据的话,
返回值类型位置必须编写:void关键字
返回值类型可以是:
byte short char int long float double boolean String void......
返回值类型若不是void,表示这个方法执行结束之后必须返回一个具体数据
返回值代码怎么写?
return 值;
并且要求这个值要与"方法的返回值"的数据类型相同
返回值是void的时候,在方法体不能编写return 值;这样的语句
但是注意可以写return;这样的语句
只要带有return关键字的语句执行,return语句所在的方法结束。【注意只是所在的方法结束】
方法名
只要是合法的标识符就行
方法名最好见名知意
方法名最好是动词
方法名首字母要求小写,后面每个单词首字母大写
方法体:
必须有大括号括起来,方法体当中的java代码有顺序,遵循自上而下的执行java代码
每一个java语句最后都要有分号;结束
形式参数类表:简称形参
形参是局部变量, int a;等等
形参的个数是0-n个
多个形参之间有逗号,隔开
形参中起决定性作用的是形参的数据类型,
例如:
方法定义
public static int sum(int a , int b ){
}
方法调用
//一下的"abc","def",10,20都是实参,
//("abc","def")(10,20)是实参类表
sum("abc","def")//编译器报错,因为是调用的int类型,这里是String类型
sum(10,20);
方法在调用的时候,实际给这个方法传递的真实数据被称为:实际参数,简称:实参
实参列表和形参类别必须满足:
数量相同
类型对应相同
方法怎么调用?
方法只定义不去调用是不会执行的,只有在调用的时候才会执行
语法规则:(方法的修饰符列表当中有static时)
类名.方法名(实参列表);
*/
/*
public表示公开的
class表示定义类
MethodTest03是一个类名
*/
//表示定义一个公开的类,取名为MethodTest03,由于是公开的类,所以源文件名必须是MethodTest03.java
public class MethodTest03
{
/*
类体
类体中不能直接编写java语句,除声明变量以外
方法出现在类体中
*/
/*
方法
public表示公开的
static表示静态的
void表示方法执行结束之后不返回任何数据
main是方法名:主方法
(String[] args)是形参类别,其中String[]是一种引用数据类型,args是一个局部变量的变量名
所以以下只有args这个局部变量的变量名是随意的
主方法就需要这样固定编写,这是程序的入口
*/
public static void main(String[] args){
/*
这里的程序是一定会执行的
main方法是jvm负责调用的,是一个入口
从这里作为起点开始执行程序
我们可以在这里编写java语句去调用其他的方法
调用下面的MethodTest03的sumInt方法,传递两个实参
*/
MethodTest03.sumInt(10,20);
//一个方法可以被重复使用,重复调用
int x = 50;
MethodTest03.sumInt(x,50);
}
/*
自定义方法,不是程序的入口
方法作用:计算两个int类型数据的和,不要求返回值,但要输出计算结果到控制台
修饰符列表
返回值类型
方法名
形参列表
方法体
*/
public static void sumInt(int a , int b){
int c = a + b;
System.out.println(c);
}
}