方法:
1、方法的概念: (函数/过程)
- 封装了一段特定业务逻辑功能;
- 尽可能独立,一个方法只让干一件事;
- 方法可以被反复的重复调用;
- 减少代码的重复,有利于代码的维护,减少团队开发的成本,提高开发效率。
2、方法的语法规范:
修饰词 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,……){
方法体:(业务逻辑功能的具体实现)
return 返回值;
}
//如果无返回值类型,就没有return返回值;
注意:
1)方法体放在一对大括号中,实现特定的操作
2)方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
3、解释
- 修饰词:public static
- 返回值类型:用于限定返回值的数据类型
- 方法名:方便调用方法的名字
- 参数类型:限定调用方法时传入数据类型;
- 参数名:接受调用方法时传入数据的变量
- 方法体:业务逻辑功能的具体实现
- return:结束方法,把返回值传回给调用者;
4、方法的调用
(1)单独调用,没有意义
(2)输出调用,有意义,不够好
(3)赋值调用,推荐方式。
5、方法分类:
- 有参数有返回值类型
- 有参数无返回值类型
- 无参数有返回值类型
- 无参数无返回值类型
6、形参和实参
如果参数的类型是引用数据类型,形式参数的改变会影响实际参数的改变
如果方法的参数是基本数据类型,形式参数的改变不会影响实际参数的改变
7、各种类型方法的定义和调用
代码:
package cn.llxy.day04;
/**
* 方法:
* (1)方法的概念: (函数/过程)
* 封装了一段特定业务逻辑功能;
* 尽可能独立,一个方法只让干一件事;
* 方法可以被反复的重复调用;
* 减少代码的重复,有利于代码的维护,减少团队开发的成本,提高开发效率。
* (2)方法的语法规范:
* 修饰词 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,……){
* 方法体:(业务逻辑功能的具体实现)
* return 返回值;
* }
* //如果无返回值类型,就没有return返回值;
* (3)解释
* 修饰词:public static
* 返回值类型:用于限定返回值的数据类型
* 方法名:方便调用方法的名字
* 参数类型:限定调用方法时传入数据类型;
* 参数名:接受调用方法时传入数据的变量
* 方法体:业务逻辑功能的具体实现
* return:结束方法,把返回值传回给调用者;
* (4)方法的调用
* 1、单独调用,没有意义
* 2、输出调用,有意义,不够好
* 3、赋值调用,推荐方式。
* 方法:
* 有参数有返回值类型
* 有参数无返回值类型
* 无参数有返回值类型
* 无参数无返回值类型
*
* @author Administrator
*
*/
public class MethodDemo {
public static void main(String[] args) {
int x=5;
int y=8;
int sum=sum(x,y);
System.out.println(sum);
double s=summ(x,y);
System.out.println(s);
String name="某某某";
printName(name);
double num=getNumber();
System.out.println(num);
say();
}
//把求和方法提取出来
/**
* 注意:
* 1、返回值的类型:int
* 2、参数列表:int x,int y
*/
public static int sum(int a,int b){
return a+b;
}
/**
* 有参数有返回值类型
* double类型的求和
* 1、返回值的类型:double
* 2、参数列表:double x,double y、
* @return
*/
public static double summ(double x,double y){
return x+y;
}
/**
* 有参数无返回值类型
* 1、返回值类型:void
* 2、参数列表:有参数
*/
public static void printName(String name){
System.out.println("大家好,我叫"+name);
}
/**
* 无参数有返回值类型
* 1、返回值类型:double
* 2、参数列表:无参数
*/
public static double getNumber(){
return 3.14;
//return ; 编译错误,必须要返回一个值
//return "123.4"; //编译错误,返回值类型必须匹配
//System.out.println("3.14"); //错误,return处已经结束,后面不能有任何语句
}
/**
* 无参数无返回值类型
* 1、返回值类型:void
* 2、参数列表:无参数
*/
public static void say(){
System.out.println("我们要好好学习,拿高薪!!!!!");
}
/**
* 数组作为参数,打印出数组的每一个元素
* 1、有参数有返回值类型
* 2、有参数无返回值类型
*/
}
运行结果
package cn.llxy.day04;
/**
* 以数组作为参数,将数组元素遍历输出
* @author Administrator
* 实际参数:
* 如果参数的类型是引用数据类型,形式参数的改变会影响实际参数的改变
*/
public class MethodDemo01 {
public static void main(String[] args){
int[] a={0,1,2,3};
myArray(a);
int[] arr1=getArray(a);
for(int i=0;i<arr1.length;i++){
System.out.println(arr1[i]);
}
}
/**
* 有参数无返回值
* @param a
*/
public static void myArray(int[] a){
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
/**
* 有参数有返回值类型
*/
public static int[] getArray(int[] a) {
//引用
//返回数组的地址,返回到调用者
int[] arr=a;
for(int i=0;i<arr.length;i++){
arr[i]+=3;
}
return arr;
}
}
运行结果