文章目录
一、什么是方法
方法(method)是程序中最小的执行单元。
二、方法有什么用
需求:用输出语句描述,如何打一局游戏?
我有一个朋友
System.out.println("选人物");
System.out.println("准备开局");
System.out.println("对线");
System.out.println("崩盘");
System.out.println("骂队友");
System.out.println("送人头");
System.out.println("GG");
方法使用示范:
public class fangfa {
public static void main(String[] args) {
play();
}
public static void play(){
System.out.println("选人物");
System.out.println("准备开局");
System.out.println("对线");
System.out.println("崩盘");
System.out.println("骂队友");
System.out.println("送人头");
System.out.println("GG");
}
}
1.什么是方法
方法是程序中最小的执行单元。
2.实际开发中,什么时候用到方法?
重复的代码、具体独立功能的代码可以抽取到方法中。
3.实际开发中,方法有什么好处?
可以提高代码的复用性
可以提高代码的可维护性
三、方法的格式
把一些代码打包在一起,用到的时候就调用
格式:
public static 返回值类型 方法名(参数){
方法体;
return 返回值;
}
1.最简单的方法定义和调用
定义
格式:
public static void 方法名(){
方法体(就是打包起来的代码);
}
范例:
public static void play(){
System.out.println("选人物");
System.out.println("准备开局");
System.out.println("对线");
System.out.println("崩盘");
System.out.println("骂队友");
System.out.println("送人头");
System.out.println("GG");
}
调用
格式:
方法名();
示范
play();
注意:方法需要先定义后调用,否则程序将报错
public class fangfa {
public static void main(String[] args) {
play();
}
//定义一个方法
public static void play(){
System.out.println("选人物");
System.out.println("准备开局");
System.out.println("对线");
System.out.println("崩盘");
System.out.println("骂队友");
System.out.println("送人头");
System.out.println("GG");
}
}
2.带参数的方法定义和调用
定义
格式:
public static void 方法名(参数){... ...}
调用
单个参数:
方法名(参数);
范例一:
met(10);
范例二:
met(变量);
多个参数:
方法名(参数1,参数2,... ...);
范例一:
get(10,20);
范例二:
get(变量1,变量2);
注意:方法调用时,参数的数量与类型必须与方法定义中小括号里面的变量一一对应,否则程序将报错。
示范
public class daican {
public static void main(String[] args) {
getSun(10,20);
}
public static void getSun(int num1,int num2) {
int result = num1 + num2;
System.out.println(result);
}
}
形参和实参
形参
:全称形式参数,是指方法定义
中的参数
实参
:全称实际参数,方法调用
中的参数
练习
1.人肉计算机
需求:定义一个方法,求长方形的周长,将结果在方法中进行打印。
示范:
public class changfangxing {
public static void main(String[] args) {
zhouchang(10,20);
}
public static void zhouchang(int chang,int kuan){
int zhou;
zhou = (chang + kuan) * 2;
System.out.println(zhou);
}
}
2.人肉计算机2
需求:定义一个方法,求圆的面积,将结果在方法中进行打印。
示范:
public class yuan {
public static void main(String[] args) {
yuan(1.5);
}
public static void yuan(double banjing) {
//半径的平方 * π
double mian = (banjing *banjing) * 3.14;
System.out.println(mian);
}
}
3.带返回值方法的定义和调用
案例:
计算营业额
示范:
public class yingyee {
public static void main(String[] args) {
int sun1 = getSun(10,20,30);
int sun2 = getSun(20,30,40);
int sun3 = getSun(30,40,50);
System.out.println(sun1);
System.out.println(sun2);
System.out.println(sun3);
}
public static int getSun(int num1,int num2,int num3){
int result = num1 + num2 + num3;
return result ;//返回给方法的调用处
}
}
四、方法重载
需求:使用方法重载的思想,设计比较两个整数是否相同的方法。
要求:兼容全整数类型(byte , short , int , long)
示范:
public class chongzai {
public static void main(String[] args) {
/*
需求:使用方法重载的思想,设计比较两个整数是否相同的方法。
要求:兼容全整数类型(byte , short , int , long)
*/
//调用
bijiao(1,2);
}
public static void bijiao(byte b1,byte b2){
System.out.println("byte");
System.out.println(b1==b2);
}
public static void bijiao(short b1,short b2){
System.out.println("short");
System.out.println(b1==b2);
}
public static void bijiao(int b1,int b2){
System.out.println("int");
System.out.println(b1==b2);
}
public static void bijiao(long b1,long b2){
System.out.println("long");
System.out.println(b1==b2);
}
}
五、值传递
传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值。
结论
基本数据类型
int a = 10;
int b = a;
传递的值是真实的数据
引用数据类型
int[] arr1 = {1,2,3,4,5};
int[] arr2 = arr1;
传递的是地址值