方法:(第一个字母小写,而后每一个单词首字母大写的形式)
1、方法是可以被重复调用的代码块
2、利用方法可以对一些重复使用的功能进行包装
3,只能够在主类中定义
4、由主方法直接调用
public class TestDemo{
public static void main(String args[]){
printMessage(); //由主方法直接调用
printMessage();//
}
public static void printMessage(){
system.out ,printl("hello world");
}}}
输出结果是三遍"helloworld",这个方法可以被多次调用
4.1 带有返回值类型的方法
public class TestDemo{
public static void main(String args[]){
System.out.println(echo("小顾"));
}
public static String echo( String name){
return ''ECHO:"+name;
}
}
结果返回小顾同学
4.2 带有参数
public class TestDemo{
public static void main(String args[]){
system.out.println(add(10,20));
int tmp=add(100,200); //把方法中的值返回接收
syetem.out.println(temp);
}
public static int add(int x, int y){
retunrn x+y;
}}
}结果输出30,300
在进行方法操作的时候还有一个小的注意点,可以利用return来结束方法
public class TestDemo{
public static void main(String args[])
{ fun(3);
fun(5);
}
public static int add(int x)
if(x==3){
return; //一旦有return之后的代码不执行
}
system.out,println("x="+x);
}} 输出结果是5;
方法之中使用retuurn 和在循环之中使用break, continue道理是一样的, 都需要经过if语句的判定。
5、方法重载(同类功能)(方法名相同,参数的类型几个数不同)
public class TestDemo{
public static void main(String args[])
{ system.out.println(add(10,20));
system.out.println(add(30,40));
public static int add( int x, int y){
return x+y;
}
public static int add(int x, int y, int z)
{ return x+y+z;
}
但是方法重载时对返回值类型没有明确同意,一般情况下,返回值类型最好相同
人为的开发标准最好让他们的返回值类型相同,
5、方法递归调用(一个方法自己调用自 一定要设置好结束条件)
public class TestDemo{
public static void main(String args[])
{
int x=1;
int sum=0;
while(x<=100)
{
sum+=x;
x++;
}
system.out.println(sum);}
利用递归实现(递归是正对方法的调用)
public class TestDemo{
public static void main(String args[])
{
system.out.println(sum(100));
public static int sum(int data){
if(data ==1)
{return 1;
}
return data+sum(data-1);
// 第一次调用sum()(由主方法调用):return 100+sum(99);
// 第二次调用 sum(自身调用):return99+sum(98);
//第二次调用 sum(自身调用):return98+sum(97);
//倒数第二次调用sum()(自身调用):return2+sum(1);
//倒数第一次调用sum()(自身调用):return1;
//最终:return100+99+98+......+3+3+1:
public class TestDemo{
public static void main(String args[])
{
system.out.println(age(1));
public static int age(int num){
if(num ==1)
{return 20;
}
return 2+age(num-1);
}}
递归实际上和循环如初一折
明确知道循环次数使用for循环;
不知道循环次数但是知道循环结束条件使用while循环;
}