Java中方法的申明以及使用

方法的概念:一段可重复调用的代码
方法的定义格式:

public(权限) static(静态) void(没有返回值或者 写返回值类型) 方法名称(参数类型1 参数名字,参数类型2 参数名字,。。。。){
//语句
//如果有返回值的时候 需要在执行方法语句的最后调用return 返回值类型的参数
}

方法命名规范:首字母小写,后面的单词首字母大写
方法的执行顺序:
public static void funtionD1(){
System.out.println(“调用funtionD1方法”);
funtionD2();
}

public static void funtionD2(){
    System.out.println("调用funtionD2方法");
}

调用方法,执行完方法里面的代码,再从调用方法那里往下执行
非静态方法和静态方法的调用
静态方法: 类名.方法名();
非静态方法: 对象.方法名();
//静态方法 要使用类名.方法调用
MethodDemo01.funtionD1();
//不写成静态方法 就得使用对象去调用
MethodDemo01 demo01=newMethodDemo01();
demo01.funtionD3();

带返回值参数的方法:
首先void 要改成返回的数据类型名称, 必须在当前方法执行完了调用return 返回值的参数类型的值。
//带返回值的方法 返回值参数 -所有的数据类型都可以写
publicstaticinttestMethod01(){
inta=10;
intb=20;
// return a+b;
intc=a+b;
returnc;
}

一个方法里面可以写多个return 但是只能执行一个 且必须在方法结束之前的最后一句执行
publicstaticinttestMethod02(){
inta=10;
intb=20;
if(a+b>25){
return a+b;
}

  returna-b;
}

使用void 也是可以在方法里面写return 但是不能有返回值类型数据
publicstaticvoidtestMethod03(){
inta=10;
intb=20;
if(a+b>25){
return;// 可以执行return去结束一个方法
}
System.out.println(“我还想继续执行”);
}

包packpage
包里面是放类,都是小写,不同层次的包以.隔开 com.cn.method;
包的用处,对类进行分类,方便编写代码,分离类之间的影响,
写类名,不能与自己之前写过的类名重复,也最好不要与系统提供的类重复

eclipse:
1、工作空间-workspace 放代码的地方,修改命名空间 File-Switch-workspace
2、新建项目-File-new-Java project-写项目名字 finish
3、先在项目的src下建包package,再建类class。
3、运行,选择有main方法的run as java application

引用传递
基本数据类型作为方法的形参来传递,传递的是值,并不会改变改变属性或者变量的值
引用数据类型,传递的是地址,如果对方法传递的引用数据类型的值进行改变,实际也就改变了整个引用数据类型的值。
publicclassMethodDemo03{
privatestaticints=100;
privatestaticint[] ar={2,3,41,123};
publicstaticvoidmain(String[]args){
fun(ar);
System.out.println(Arrays.toString(ar));
fun1(s);
System.out.println(s);
}
publicstaticvoidfun(int[]arr){//形参,作用域仅限于当前方法里面,它的生命周期就是执行这个方法的时候。
arr[0]=200;
}
publicstaticvoidfun1(inta){
a=20;
}
}
方法的重载:
方法名一样,参数列表不一样(参数数量或者数据类型不一样),(结构一至),与返回值无关,通过调用同一个方法名实现不同的功能。
publicclassMethodDemo04{
publicstaticvoidmain(String[]args){
ints=add(10,20);
floats1=add(20.22f,20);
}

publicstaticintadd(inta,intb){
intc=a+b;
returnc;
}

publicstaticfloatadd(floata,floatb){
floatc=a+b;
returnc;
}
}

//与返回值无关
如果返回值一样,那么在调用方法的时候,你就弄不清楚哪个是你需要的方法。
方法自己调用自己叫递归;
注意事项:一定要留有出口
publicclassMethodDemo05{
publicstaticvoidmain(String[]args){
// funInfo(1);
intcount=addSum(1);
System.out.println(count);
intcount1=addSum1(100);//递减
System.out.println(count1);
intsum=fei(8);
System.out.println(sum);
}

/*
* 没有返回值的递归
*/
publicstaticvoidfunInfo(inti){
System.out.println(i);
i++;
if(i>100){
return;
}else{
funInfo(i);
}

}

/*
* 累加1~100
*
* a(1) = 1;
* a(1) = 1 + a(2);
*
*/
publicstaticintaddSum(inti){
if(i>=100){
return100;
}
returni+addSum(++i);
}

/*
* addSum1(100) = 100+addSum1(99)
* a(100) = 100 + 99 + a(98);
* a(100) = 100 + 99 + 98 + a(97);
* a(100) = 100 + 99 + 98 + 97 + a(96);
* a(100) = 100 + 99 + …+ 1;
*/
publicstaticintaddSum1(inti){//1~i的累加和
if(i==1){
return1;
}
returni+addSum1(–i);
}

/*
* 使用递归
* 1 1 2 3 5 8 … 求第二十个数是多少
*/
public static int fei(intn){// fei(20) 代表是 第20个数是什么
if(n==1||n==2){
return1;
}
returnfei(n-2)+fei(n-1);
//f20 = f19 + f18 = f18+ f17 + f17 + f16
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值