本帖最后由 HAIHAIHEI 于 2022-3-28 11:01 编辑
第十三天,有不对之处麻烦各位指正
方法的语法机制:
[Java] 纯文本查看 复制代码 /*
方法的语法机制:
[修饰符列表] 返回值类型 方法名(形式参数列表){
方法体;
}
注意:[]叫中括号,以上中括号[]里面的内容表示不是必须的,是可选的
方法体由Java语句构成
方法定义之后需要去调用,不调用是不会执行的
关于修饰符列表:
修饰符列表不是必选项,是可选的。目前为止,统一写成:public static,后面根据个人理解来写
关于返回值类型:
第一:返回值类型可以是任何类型,只要是Java中的合法数据类型就行,数据类型包括基本数据类型和引用数据类型,返回值可以是其中任意
第二:返回值一般指的是一个方法执行结束之后的结果,结果通常是一个数据,所以称为“值”。方法就是为了完成某个特定的功能,方法结束之后,大部分情况下都是有一个结果的,而体现结果的一般都是数据。数据得有类型,这就是返回值类型。
main{
//调用a方法
a();//如果a方法执行结束之后有返回值,这个返回值返回给了main了。
}
方法执行结束之后的返回值实际上是给调用者了。谁调用就返回给谁
}
第三:当一个方法执行结束不返回任何值的时候,返回值的类型也不能空白,必须写上void关键字。所以void表示该方法执行结束后不返回任意结果
第四:如果返回值类型不是void,那么你在方法体执行结束的时候必须使用“return 值;”这样的语句来完成值的返回,如果没用"return 值;"这样的语句,那么编译器会报错
第五:只要有“return 值;”关键字的语句执行,当前方法必然结束。(注:不是整个程序结束)
第六:如果返回值类型是void,那么在方法体当中不能有return 值;这样的语句,但是可以有return;语句。这个语句return;的作用就是终止当前方法的
第七:除了void之外,剩下的必须有return 值;这样的语句
方法名:
方法名要见名知意。(驼峰命名方式)
方法名要在标识符命名规范当中,要求首字母小写,后面每个单词首字母大写。只要是合法的标识符就行
形式参数列表:(形参)
注意:形式参数列表当中的每一个参数都是局部变量,方法结束之后内存释放
形参的个数是:0~n个
public static void main(){}
public static void main(int x){}
public static void main(int x,int y){}
public static void main(int a,int b,double d,String s){}
形参有多个的话,使用逗号隔开,形参的数据类型起决定性作用,形参对应的变量名是随意的
方法体:
由Java语句构成。Java语句以“;”结尾
方法体当中编写的是业务逻辑代码,完成某个特定功能
在方法体中的代码遵循自上而下的顺序依次逐行执行
在方法体中处理业务逻辑代码的时候需要数据,数据来源就是这些形参
方法定义之后调用:
方法必须调用才能执行
类名.方法名(实际参数列表);
实参和形参必须一一对应,类型得对应,个数也得对应
*/
public class Test{
//方法定义到这里可以
//main方法执行结束之后不需要给jvm返回任何执行结果
public static void main(String[] args){
//调用方法
//错误:不兼容类型,String不能转换成int
//Test.divide("abc",200);//int x="abc";
//错误:实际参数列表和形式参数列表长度不同
//Test.divide();
//(10,5)为实际参数列表
Test.divide(10,5);
//调用sum方法
//使用变量来接受这个方法的返回值
//注意:变量的定义需要指定变量的数据类型
int jieguo = Test.sum(100,200);
System.out.println(jieguo);//300
//double是大容量,int是小容量,自动类型转换
double jieguo2 = Test.sum(100,200);
System.out.println(jieguo2);//300.0
//对于没有返回值的方法,变量不接收
//当一个方法有返回值的时候,也可以选择不接收
}
//计算两个int数据类型的和
public static int sum(int a,int b){
return a+b;
}
//方法定义到这里也可以,没有顺序要求
//方法执行结束之后返回执行结果
/*
public static int divide(int x,int y){
int z=x/y;
return z;
}
*/
/*
public static int divide(int x,int y){
int z=x/y;
return x/y;
}//可以
*/
/*
public static int divide(int x,int y){
int z=x/y;
return;
}//错误,缺少返回值
*/
/*
public static void divide(int x,int y){
int z=x/y;
return z;
}//错误;不兼容类型,意外的返回值
*/
/*
public static void divide(int x,int y){
int z=x/y;
return;
}//可以
*/
/*
public static void divide(int x,int y){
}//可以
*/
/*
public static void divide(int x,int y){
System.out.println(x/y);
}//可以
*/
public static void divide(int x,int y){
System.out.println(x/y);//2
}
}
|