本文我们接着学习JavaEE的方法定义、方法的重载、return的作用,话不多说,上代码!💪💪💪
* 方法(method):一段具有独立功能的代码块,不调用就不执行(不会提高效率)
* 好处:
1.提高可阅读性
2.提高代码的复用性
* 格式:
public static void 方法名(){
//方法体
}
* 调用格式:
方法名();
public class Main {
public static void main(String[] args) {
method();
}
public static void method(){
System.out.println("hello");
}
}
* 格式:
public static void 方法名(数据类型 变量名){
方法体;
}
* 调用格式:
1.方法名(参数); //推荐使用
2.类名.方法名(参数);
public class Main {
public static void main(String[] args) {
method(10); //方法名(参数); 调用
System.out.println("-------------");
Main.method(5); //类名.方法名(参数); 调用
}
public static void method(int num){
if(num%2==0){
System.out.println(num+"是一个偶数");
}else {
System.out.println(num+"是一个奇数");
}
}
}
* 格式:
public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
* 调用格式:
1.单独使用:
方法名(参数)调用 //不推荐没有意义
2.赋值使用(推荐):
数据类型 变量名 = 方法名(参数)
例子:
int sum = add(4, 3);
3.输出调用(偶尔用):
例子:
System.out.println(getMax(10, 20));
public class Main {
public static void main(String[] args) {
add(4,3); // 方法名(参数)调用
int sum=add(4,3); //赋值使用(推荐)
System.out.println(sum);
System.out.println(add(4,3)); //输出调用(偶尔用)
}
public static int add(int a,int b){
int c=a+b;
return c;
}
}
1.方法与方法之间是平级的关系,不允许嵌套定义
2.方法不调用不执行
3.方法的编写顺序和执行顺序无关
3.return语句下面,不能编写代码,因为永远执行不到,属于无效的代码
4.在返回类型为void的方法里面,有个隐含的 "return"语句,因此,在void方法里面可以省略不写
5.void标识此方法没有返回值的,不是一个数据类型
6.没有返回值的方法可以省略return语句不写,如果要编写return,后面不能跟具体的数据
7.如果一个方法有明确的返回值类型,一定要通过return语句返回一个结果,无论什么情况下
8. return只能返回一个结果,如果有多个结果,用数组保存,返回数组
public class MethodDemo1 {
public static void main(String[] args) {
int c=add(5,3);
System.out.println(c);
}
public static int add(int a,int b){
int c=a+b;
return c;
System.out.println("hello"); //报错
//return语句下面,不能编写代码, 因为永远执行不到,属于无效的代码
}
}
public class MethodDemo1 {
public static void main(String[] args) {
}
public static void print(int a,int b){
if(a>b){
System.out.println("hello");
return;
// 因为void不是数据类型,所以 return后面不能带具体的值
// 如果要写return,只能是return;
return a;
}
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner rd=new Scanner(System.in);
int a=rd.nextInt();
int [] arr=new int[a];
for (int i = 0; i < arr.length; i++) {
arr[i]=rd.nextInt();
}
print(arr);
}
public static int[] print(int [] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if(i== arr.length-1){
System.out.print(arr[i]);
}else {
System.out.print(arr[i]+",");
}
}
System.out.println("]");
int [] arr1=arr;
return arr1;
}
}
* 形参:全称形式参数,是指在"定义"方法时,所声明的参数
* 实参:全称实际参数,"调用"方法时,传入的参数
* 在同一个类中,定义了多个同名的方法,但每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
* 简单来说:同一个类中,方法名相同,参数不同
参数不同:个数不同,类型不同,顺序不同
public class Main {
public static void main(String[] args) {
}
public static void add(int a,int b){
}
public static void add(int a,int b,int c){
}
}
public class Main {
public static void main(String[] args) {
}
public static void add(long a,int b){
}
public static void add(int a,int b){
}
}
public class Main {
public static void main(String[] args) {
}
public static void add(long a,int b){
}
public static void add( int b,long a){
}
}
public class Main {
public static void main(String[] args) {
}
public static void add(int a,int b){
}
public static void add( int b,int a){
}
}
/*
这里的参数顺序不同,一定是不同类型的顺序不同,而不能是同类型的顺序不同而已,
要不然就不是重载会报错
*/
1.统一方法名,提高方法的兼容性和灵活性,方便调用者使用方法
2.JDK中大量使用了方法重载,比如println方法就是重载,目的是调用println时只需要记住一个名字,使用方便
1.是否为重载关系,只看方法名和参数,跟返回值无关
2.这里的参数 顺序不同 一定是"不同类型的顺序不同",而不能是 同类型的顺序不同 而已,要不然就不是重载会报错
1、返回一个值,这个值可以是任意类型
2、使程序返回到操作系统(即终止程序)
public class Main {
public static void main(String[] args) {
int sum = add(3, 4);
System.out.println(sum);
}
public static int add(int a,int b){
int c=a+b;
return c;
}
}
public class Main {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
if(i==5){
return;
}else{
System.out.println(i);
}
}
}
}
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习