java 方法

简述

什么是方法,方法它是一个程序的执行的入口。之前我们还提到可以使用 .去调用方法,像

Sysout.out.println();中 println()就是一个方法

所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。

方法声明
语法:
访问修饰符 返回类型 方法名(参数列表) {
 方法体 
}
实例:
public static void main(String[] args) {
 System.out.println("Hello,World!");
}

访问修饰符就是方法允许被访问的范围;返回类型可以是void和其他任何类型的数据(包括自己创造
的数据类型);方法名需要满足标识符的全部规则外还需要满足驼峰原则;参数列表可以省略,既没
有参数,同样参数可以有多个,每个参数之间使用逗号间隔,参数由数据类型和参数名构造,类似变
量的定义;
根据参数和返回值,方法可以分为四类:

  1. 无参无返回值
  2. 无参有返回值
  3. 带参无返回值
  4. 带参有返回值。
方法类型:
无参无返回值方法:
public class One {
 // 打印输出星号的方法
 public void printStar() {
 System.out.println("********************************");
 }
 
 // 一行打印输出一串星号
 public static void main(String[] args) {
 //创建一个One类的对象MyOne
 One MyOne=new One();
 //使用对象名.方法名()去调用方法
 MyOne.printStar();
 System.out.println("欢迎来到Java的世界!");
 MyOne.printStar();
 }
}

什么是返回值,返回值其实是本方法求得的结果,这个结果最终可能为其他方法或代码块所需要,那
么为了将该结果传递出去,就需要使用返回值将得出的结果传递出去。

带参无返回值方法
例题:

定义一个求两个float类型的数据最大值的方法,在方法中将最大值打印输出

public class MaxDemo {
 public void max(float a, float b) {//形式参数(形参)
 float max;
 if(a > b) {
 max = a;
 } else {
 max = b;
 }
 System.out.println("最大值为:" + max);
 }
 public static void main(String[] args) {
 MaxDemo md = new MaxDemo();
 md.max(1.1, 1.3);//实际参数(实参)
 }
}

局部变量的范围只限于定义它的大括号中,传递数值时主方法中可以是变量,也可以是一个字面值,
不同类型传递会出现类型转换。

带参有返回值的方法

例题:
定义一个求n!的方法,然后再求1!+ 2!+3!+4!+5!
n!是指阶乘,5的阶乘就是 12345

public class Four {
 //方法不能嵌套定义
 //求阶乘的方法
 public int fac(int n) {
 int s=1;
 for(int i=1;i<=n;i++) {
 s*=i;//s=s*i;
 }
 return s;
 }
 public static void main(String[] args) {
 Four four=new Four();
 int fac=four.fac(3);
 System.out.println("3!="+fac);
 int sum=0;
 //求1!+2!+3!+4!+5!
 for(int i=1;i<=5;i++){
 fac=four.fac(i);
 sum+=fac;
 }
 System.out.println("1!+2!+3!+4!+5!="+sum);
 }
}

方法的定义必须定义在类的里面,但是不能定义在另外一个方法的里面。方法不能嵌套,带有返回值
的方法是为了参与进一步的运算

数组作为方法参数

例题:
定义方法,打印输出数组元素的值

public class Five {
 //打印输出数组元素的值
 public void printArry(int[] arr) {
 for(int i=0;i<arr.length;i++) {
 System.out.print(arr[i]+" ");
 }
 System.out.println();
 }
 public static void main(String[] args) {
 int[] arr= {10,20,30,40,50,};
 Five am=new Five();
 am.printArry(arr);
 }
}
方法重载

方法重载——有时候需要使用相同的方法,得出不一样的结果。
在同一类当中,调用方法的时候,会发现:有很多方法名一样,但是参数不一样的方法。由此:

  1. 方法名相同
  2. 方法的参数类型或者参数个数不一样
    //这两点是必须的。
  3. 方法的返回类型可以不相同
  4. 方法的修饰符可以不相同
  5. main方法也可以被重载——main()是普通方法
    //但是虚拟机只调用带字符串公共类型的方法;
    如果需要执行其他main方法,或者其他方法,都在
    public static void main(String[] args) {}中调用。
public class Test01 {
	//重载,方法名相同
	int i;
	Test01(){
		System.out.println("无参数构造函数");
        i = 4;
	}
	Test01(int j){
		System.out.println("有参数构造函数");
        i = j;
	}
	public void add() {
		System.out.println("--------one----------");
	}
	public int add(int a,int b) {
		System.out.println("--------two----------"+(a+b));
		return a+b;		
	}
	public int add(int a,int b,int c) {
		System.out.println("--------three----------"+(a+b+c));
		return a+b+c;
	}
	/*public int add(int b,int a) {//方法重复,参数名转换顺序不行,冲突add(int,int) 
		return b;
	}*/
	public double add(int a,double b) {
		System.out.println("--------four----------"+(a+b));
		return a+b;
	}
	/*public int add(int a,double b) {//方法重复,与修饰符无关,int,double可换可不换,冲突add(int,double) 
		return a;		
	}*/
	
	public static void main(String[] args) {
		Test01 t1 =new Test01(4);
		t1.add();
		t1.add(1, 2.0);
		//重载构造函数
		new Test01();
	}
}

执行结果:
有参数构造函数
--------one----------
--------four----------3.0
无参数构造函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值