day06_01参数传递递归

来源:互联网 发布:双鱼玉佩 知乎 编辑:程序博客网 时间:2024/06/05 15:09
参数传递:Java中参数的传递(此处存有争议,焦点是值传递和引用传递),此部分内容按照数据类型来分为值传递和引用传递
如果参数时基本数据类型,称之为值传递,传递过去的是值的拷贝,无论怎么改变这个拷贝,原值不会改变



public class TestParamValue {
       public static void main(String[] args) {
              int num = 3;
  
              System.out.println("Before change, num = " + num);
              changeData(n);
              System.out.println("After changeData(n), num= " + num);
    }
    public static void changeData(int n) { 
        n = 10;
    }
}
结果:3
         3




public class TestParamValue2 {
       public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello ");


              System.out.println("before change sb="+sb);
              change(sb);
             System.out.println("after change sb = "+sb);
       }
     public static void change(StringBuffer s){
             s.append("world");
     }
}


结果: 
Before change,num=Hello

After changeData(n), num= Hello World    




public class TestParamValue3{

       public static void main(String[] args) {
              StringBuffer sb = new StringBuffer("Hello ");


              System.out.println("before change sb="+sb);
              change(sb);
             System.out.println("after change sb = "+sb);
       }
     public static void change(StringBuffer s){
             s = new StringBuffer("hi ");
             s.append("world");
     }
}
  结果: 
Before change,num=Hello

After changeData(n), num= Hello    



递归调用

1递归就是在过程或函数里调用自身
2在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口
3递归算法解题通常显得很简洁,但递归算法解题的运行效率较低。所以一般不提倡用递归算法设计程序
4在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等。所以一般不提倡用递归算法设计程序

例子:package com.test;


public class Fbs {
static  int f(int num)
{
//assert(num >= 0); 
     if(num==0||num==1)
     {
     return num;
     }
     return f(num-1)+f(num-2);
}
 public static void main(String[] args) {
 
 for (int i = 0; i < 20; i++) {
  int num=f(i);
 
System.out.println(num);
}
 
  }
}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在家里晚上睡觉遇到持刀小偷怎么办 在租房中房东随意调换房间怎么办 梦见熟人当面说我坏话偷东西怎么办 偷了家里的存折拿了钱该怎么办 故意让小偷偷车捉住他怎么办 进屋门正对着厕所门怎么办 楼房对面门上放个镜子我该怎么办 从顺丰发的水果坏了顺丰不管怎么办 汽车塑料件被机头水腐蚀了怎么办 孕期吃了炒菜里面加的香精怎么办 五个月宝宝只长身高不长体重怎么办 孩子6个月奶水越来越少怎么办 孩子快三个月了奶水越来越少怎么办 老婆生完孩子乳房肿胀不下奶怎么办 大人吃了退烧药不出汗怎么办 三岁宝宝抵抗力差总生病怎么办 8个月宝宝发烧39度怎么办 小孩发烧吃了药不退烧怎么办 小孩一直发烧39度左右不退怎么办 九个月宝宝反复发烧39度怎么办 八个月宝宝反复发烧39度怎么办 十个月宝宝反复发烧39度怎么办 2岁宝宝反复发烧怎么办39度左右 宝宝两周岁光吃水果不吃饭怎么办 3岁宝宝光吃水果不吃饭怎么办 中学生就爱玩儿游戏不爱学习怎么办 一岁宝宝只吃水果不吃饭怎么办 孩子发烧咳嗽怎么办最有效的方法 打了百白破孩子一直发烧咳嗽怎么办 顺产侧切肛门坠胀解大便难受怎么办 2岁拉肚子拉水怎么办吃什么药 三岁宝宝三天没拉大便怎么办 3个月宝宝3天没大便怎么办 3个月宝宝4天不拉大便怎么办 17个月宝宝看见生人害怕怎么办 大人给四个月婴儿喂糖水怎么办 宝宝12个月了还一直坐着玩怎么办 七个月宝宝发烧不到38℃怎么办 一个月大的婴儿头立不起来怎么办 18个月的宝宝晚上总找妈妈怎么办 婴儿吃了妈妈生气的奶上火怎么办