Java基础——方法
方法
一、方法的定义
1、方法就是完成特定功能的代码块(在某些其他语言中,也被称为函数)
2、方法定义的格式
修饰符 方法返回值类型 方法名(参数类型1 参数1,参数类型2 参数2,……){
方法体语句;
return 返回值;
}
3、方法定义的格式说明:
修饰符:现在先认为是固定的public static
返回值类型:方法体中的代码执行结果的数据类型
方法名:标识符
参数:类比数学中函数的自变量z = f(x,y)
return:跳转控制关键字
返回值:方法执行得到的最终结果
二、如何写一个函数——两个明确
1、返回值类型 明确功能结果的数据类型
2、参数列表 明确有几个参数,以及参数的数据类型
对于方法的调用,又分为两种情况:
(1)、有返回值的方法调用
(2)、无返回值的方法调用
3、方法调用的注意事项
(1)、方法不调用不执行
(2)、方法与方法是平级关系,可以嵌套调用,但不能嵌套定义
(3)、方法定义的时候参数之间用逗号隔开
(4)、方法调用的时候不用传递数据类型
(5)、如果方法有明确的返回值,一定要有return带回一个值
/**
*定义方法:两数求和
*
*/
public class MethodDemo1 {
public static void main(String[] args) {
//用变量接收有返回值的方法调用
int result = add(3, 4);
System.out.println(result);
//输出调用
System.out.println(add(3,4));
//直接调用 有返回值的方法调用没有意义
add( 3, 4);
//调用方法没有返回值的方法, 只能使用直接调用
print("void 你好");
}
//定义方法 执行 3 + 4
//public static int add1 () {
// int result = 3 + 4;
// return result;
//}
// 定义实现两数求和的加法运算
public static int add (int x, int y) {
int result = x + y;
return result;
}
//定义没有返回值的方法 void表示方法没有返回值
public static void print (String s) {
System.out.println("我自己来输出" + s);
//return; //可以有可以没有
}
}
三、方法重载(overload)
1、方法重载
在同一个类中,允许存在多个的同名方法,只需满足:
(1)、参数个数不同
(2)、参数类型不同
(3)、参数顺序不同(不是指形式参数的变量名顺序不同,而是指形式参数类型顺序)
2、编译器如何区分方法——通过方法签名
方法签名:方法名 + 参数列表 比如add(int, int) 、add(double, double)
public class OverLoadDemo {
public static void main(String[] args) {
int a = 1;
int b = 2;
//int add = add(a, b, 10);
//double c = 1.1;
//double d = 2.2;
//double doubleAdd = add(c, d);
//
//add(1,2);
//int call = add(a, b);
//add(a, b);
}
//两数相加
public static int add(int x, int y) {
System.out.println("int add");
return x + y;
}
//public static double add(int x, int y) {
// return x + y;
//}
//实现3数相加
public static int add(int x, int y, int z) {
return add(x, y) + z;
}
//参数类型不同
public static double add(double x, double y) {
System.out.println("double add");
return x + y;
}
//参数顺序不同
public static int add(int y, byte x) {
return x + y;
}
public static int add(byte y, int x) {
return x + y;
}
}
/**
* 比较两个数据是否相等。
* 参数类型分别为 两个byte类型,
* 两个short类型,
* 两个int类型
* 两个long类型
* 并在main方法中进行测试
*/
public class Exercise {
public static void main(String[] args) {
byte b = 1;
short c = 2;
long a = 1L;
long d = 100L;
equals(b,c);
equals(a,d);
}
public static boolean equals(byte a, byte b) {
System.out.println("byte equals");
return a == b;
}
public static boolean equals(short a, short b) {
System.out.println("short equals");
return a == b;
}
public static boolean equals(int a, int b) {
System.out.println("int equals");
return a == b;
}
public static boolean equals(long a, long b) {
System.out.println("long equals");
return a == b;
}
}
今日事,今日毕。
posted on 2020-06-09 23:22 lifelicanpeng 阅读(173) 评论(0) 编辑 收藏 举报