今日任务
今日任务.png
方法 day5
什么是方法
重点
方法:
1:什么是方法?函数
方法就是一个段代码的集合,
这段代码完成了某个具体的功能 业务场景()。
一个方法就是一个功能。
2:为什么使用方法?
避免main方法中的代码堆积,造成后期的拓展以及维护的成本增加。
3:如何使用方法?
a:照着main方法抄了一个方法,少了String[] args
b:在方法中通过方法名称调用需要执行的方法
场景:
对于用户进行登录操作。
事先 注册账号信息
输入 登录的账号信息
判定 两个是否相等 (判定)
结果 呈现一个结果
代码示例
计算一个圆柱体的表面积
import java.util.Scanner;
public class Demo05{
public static void main(String[] args){
System.out.println("请输入计算的圆的半径>>>>>>");
//创建一个Scanner对象
Scanner input = new Scanner(System.in);
//通过Scanner对象中的nextInt方法获取用户输入的int值
int r = input.nextInt();
double area = getArea(r);
System.out.println("请输入计算的圆柱体的高>>>>>>");
//通过Scanner对象中的nextInt方法获取用户输入的int值
int width = input.nextInt();
//计算半径为r的圆的周长
double length = getZC(r);
//计算矩形的表面积
double jArea = getArea(length,width);
//计算圆柱体的表面积
double sumArea = getYZT(area,jArea);
System.out.println("以半径为"+r+"的,高为"+width+"的圆柱体的表面积是:"+sumArea);
}
public static double getYZT(double yArea,double jArea){
return yArea*2+jArea;
}
/**
//@+单词 注解
@param r 需要计算的圆的半径
@return double 返回计算的圆的周长
*/
public static double getZC(int r){
//参数判定 代码的健壮性更好 防御性编程
if(r==0){
return 0;
}
//计算周长
double pi = 3.14;
double zc = 2*pi*r;
//返回周长
return zc;
}
/**
计算矩形的面积
*/
public static double getArea(double length,int width){
double area = length*width;
//System.out.println(area);
return area;
}
/**
计算半径r的圆的面积
*/
public static double getArea(int r){
//声明一个变量存放pi的值
double pi = 3.1415;
//声明圆的半径
//int r = 4;
//计算面积
double area = pi*r*r;
System.out.println("半径是"+r+"的圆的面积是"+area);
return area;
}
}
Tips
- 1:方法就是一个功能模块,完成某个功能。
不要重复造轮子。方法是可以复用的。 - 2:变量:首字母小写 其它每个单词的字母均大写
类: 首字母大写 其它每个单词的字母均大写
方法:首字母小写 其它每个单词的字母均大写
重载
在一个类当中编写方法的时候,多个方法其实所做的事情是一样的,为了契合方法起名要见名知意,方法名称可以一样。
在一个类中定义同名方法是可以的,称之为重载。
Tips:
- 2同
同类
同名 - 3不同
参数列表长度不同
参数列表类型不同
参数列表个数不同
代码例子
public class Demo09{
public static void main(String[] args){
info(12);
}
/*public static void info(long l){
System.out.println("info long l");
}*/
/*public static void info(Integer in){
System.out.println("Integer in");
}*/
/*
jdk1.5之后,支持可变参数
*/
public static void info(int ... ins){
System.out.println("Integer ... ins");
}
}
Tips
- 最近最优(数据类型转换)
- 如果没有基本数据类型 接下来找基本数据类型的包装类才会找可变参数
- 如果程序中的重载方法,都没有完全符合的。但是存在多个能够调用的方法时,程序会报错
常量值
编写程序的过程中,有些值是永远不会发生改变的。称之为常量值。
字面常量:1 2
符号常量 最终变量:
通过final修饰的变量称之为符号常量
程序运行期间该值不会改变
常量的命名:
所有字母均大写 单词之间用_分割
laoxue LAO_XUE
public static [void|数据类型] 方法名([参数列表]){}