方法
什么是方法
方法是一段代码的集合,这段代码完成了某个具体的功能或业务场景。一个方法就是一个功能。
为什么使用方法
避免main()方法中代码堆积,造成后期的扩展以及维护的成本增加。
如何使用方法
-
照着main方法抄了一个方法,少了String[] args。
-
在方法中通过方法名称调用需要执行的方法 。
注意事项:
- 方法()中的内容 参数,就相当于一个天线,用来接收调用者发送的数据信息。
- 声明一个方法 将方法计算出来的结果 让其他方法也可以使用
- 一个方法中声明了void 证明该方法无返回值。不能写return返回语句。
- 如果一个方法存在返回结果,方法的void修改为返回数据的数据类型。在方法体最后一行语句通过return返回具体的值。
变量:首字母小写 其它每个单词的字母均大写
类: 首字母大写 其它每个单词的字母均大写
方法:首字母小写 其它每个单词的字母均大写
示例代码
/**
计算圆柱体的表面积
1:声明一个方法计算圆的面积
2:声明一个方法矩形的面积
3:声明一个方法计算累加和
1:如何声明?
照着main方法抄
2:这个方法完成什么功能
知道了方法中的逻辑如何编写
3:这个方法的执行需不需要帮忙?
参数列表
*/
import java.util.Scanner;
public class Demo03{
public static void main(String[] args){
System.out.println("请输入计算的圆的半径>>>>>>");
//创建一个Scanner对象
Scanner input = new Scanner(System.in);
//通过Scanner对象中的nextInt方法获取用户输入的int值
int r = input.nextInt();
getArea(r);
System.out.println("请输入计算的矩形的的长>>>>>>");
//通过Scanner对象中的nextInt方法获取用户输入的int值
int length = input.nextInt();
System.out.println("请输入计算的矩形的的款>>>>>>");
//通过Scanner对象中的nextInt方法获取用户输入的int值
int width = input.nextInt();
getJArea(length,width);
}
/**
计算矩形的面积
*/
public static void getJArea(int length,int width){
int area = length*width;
System.out.println(area);
}
/**
计算半径r的圆的面积
*/
public static void getArea(int r){
//声明一个变量存放pi的值
double pi = 3.14;
//声明圆的半径
//int r = 4;
//计算面积
double area = pi*r*r;
System.out.println("半径是"+r+"的圆的面积是"+area);
}
}
方法重载
在一个类当中编写方法的时候,多个方法其实所做的事情是一样的为了契合方法起名要见名知意,方法名称可以一样。
在一个类中定义同名方法是可以的,称之为重载。
2同
同类
同名
3不同
参数列表个数不同
参数列表类型不同
参数列表顺序不同
方法重载面试题
/**
重载方法的面试题
以下程序中输出什么内容
最近最优
char
byte short int long float double
如果没有基本数据类型 接下来找基本数据类型的包装类
才会找可变参数
*/
public class Demo07{
public static void main(String[] args){
char ch = 'A';
info(ch);
}
/*public static void info(char ch){
System.out.println("info char");
}*/
public static void info(int ch){
System.out.println("info int");
}
/*public static void info(long ch){
System.out.println("info long");
}*/
public static void info(double ch){
System.out.println("info double");
}
}
/
**
重载方法的面试题
以下程序中输出什么内容
如果程序中的重载方法,都没有完全符合的。
但是存在多个能够调用的方法时,程序会报错
*/
public class Demo08{
public static void main(String[] args){
info(12,12.1f);
}
public static void info(char ch,double d){
System.out.println("info char ch,double d");
}
public static void info(int ch,double d){System.out.println("int ch,double d");
}
public static void info(long ch,float d){
System.out.println("long ch,float d");
}
}
/
**
重载方法的面试题
以下程序中输出什么内容
*/
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");
}
}