标题1.方法的作用——可以让代码重新使用
(C语言叫函数——Java叫方法)
eg:两数求和
不带返回值的void型方法
public static void Sum(int x,int y)
{
int z=x+y;
System.out.println(z);//输出求和结果
}
带返回值的int型方法
public static int Sum(int x,int y)
{
int z=x+y;
return z;//注意返回值类型要和方法定义类型一致,否则报错
//此处z也可以是short、char、byte类型,不可以是long、flaot、double、boolean、String
//只要遵循6条数据类型转换规则即可
//return语句结束当前方法体
}
标题1.2.方法的语法机制——修饰符列表 返回值类型 方法名() {…java语句…}
修饰符列表:不是必须的。public static 可以不要
返回值类型:void、8种基本数据类型、1种引用数据类型(String)
标题1.3.方法的返回值类型
除void以外的其他类型,必须加return…;否则必然报错。
(★★★且void可以加——return;——return后直接跟“;”号,不返回任何值。★★★)
标题1.3.1.返回值类型为int,在接受return时,可以return+(byte、int、char、short)这四类。
1.3.2.返回值类型为long,在接受return时,可以return+(除boolean、float、double、String外的所有类型)。
1.3.3.返回值类型为boolean,在接受return时,只可以return+boolean型
1.3.4.返回值类型为String,在接受return时,只可以return+String型
1.3.5.返回值类型为double,在接受return时,可以return+(除boolean、String外的所有类型)。
1.3.6.返回值类型为float,在接受return时,可以return+(除boolean、double、String外的所有类型)。
1.3.7.返回值类型为short,在接受return时,可以return+(byte、short)这两类。
1.3.8.返回值类型为byte,在接受return时,只可以return+byte。
1.3.9.返回值类型为char,在接受return时,只可以return+char。
例题判断
1.该程序错误,因为z<=0时,该方法没有返回值。
public static int sum(int x, int y)
{
int z=x+y;
if(z>0)
return z;
}
2.改程序错误,因为return z;后的语句一定执行不了,不该再写。
public static int sum(int x, int y)
{
int z=x+y;
return z;
System.out.println(z);//这一句java一定执行不了,没有存在的意义
}
1.4.方法名的调用
1.4.1.在本类体中,只写方法名即可:sum()
1.4.2.调用另一类体的,类体名.方法名:qiuhe.sum()
2.JVM内存结构
2.1.什么是数据结构?
存储数据的容器,该容器存在不同的结构。
2.2.常见的数据结构?
栈、队列、链表、二叉树、图、数组……
2.3.和数据结构通常一起出现的是:
算法。
3.方法的重载
★★★只有功能相似的才有必要进行方法的重载,比如求和的重载、求商的重载、求积的重载……
3.1.重载的3个条件:
3.1.1.在同一类体中;
3.1.2.方法名相同;(方法名前边的数据类型int、long…无影响)
3.1.3.参数列表不同。(1.参数个数;2.不同类型参数的不同顺序;3.参数类型不同)。
3.2.案例分析:
1-6是正确语句,7-8是错误语句
char test
{
1.public static int sum(int x,int y)
{
int z=x+y;
return z;
}
2.public static double sum(int x,int y) //与1比,返回值类型不同
{
int z=x+y;//虽然这里是int z,但是返回时并不会应为double的方法类型而报错,因为double可以接收除String\boolean外的任何数据类型
return z;
}
3.public static int sum(int x,int y,int w)//与1比,参数个数不同
{
int z=x+y+w;
return z;
}
4.public static int sum(int x,short y)//与1比,参数类型不同
{
int z=x+y;
return z;
}
5.public static int sum(short x,int y)//与4比,参数顺序不同
{
int z=x+y;
return z;
}
6.public static int sum(int x,int y)
{
int z=x+y;
return z;
}
7.public static int sum(int a,int b)//这个错误,形参类型相同,形参名字的不同不影响他们类型相同。
{
int z=a+b;
return z;
}
8.int sum(int x,int y) //编译错误,修饰符有无,不影响它的重复定义
{
int z=x+y;
return z;
}
}