首页 > 技术文章 > JAVA基础知识--04

caihonghai 2021-03-28 22:23 原文


JAVA基础知识

树越要往上长,它的根,越是要往下扎。
共勉!


递归
递归函数,通俗的说就是函数本身自己调用自己
递归头:什么时候不调用自己方法,即递归的结束条件
递归体:什么时候需要调用自己方法,即自己调用自己

再多的解释还不如一个程序来的清晰,上例子:
   /**
     * 递归实现1+2+3+4+….+100
     */
    public static int test2_3(int a){
      if (a==1)return 1;
      else{
         return a + test2_3(--a);
      }
    }
    
    //要求输出一个序列:1,1,2,3,5,8,13......(每一个数为前两个数子之和,要求用递归函数)
    public static int test2_4(int a){
        if (a==1){
            return 1;
        }
        else if(a==2){
            return 1;
        }
        else{
            return test2_4(a-1)+test2_4(a-2);
        }
    }
    
    public static void test2_4_1(int a){
        for (int i=1;i<=a;i++){
            System.out.print (test2_4(i)+" ");
        }
    }
    
   //阶乘
    public static int test2_6(int a){
        if (a == 1)return 1;
        else{
            return a * test2_6(--a);
        }
    }

参考连接1:
https://www.jb51.net/article/32164.htm


排序

  /**
     * 定义一个List,插入100个随机数字。对该List进行去重,并按照从小到大排序。
     */
    public static void test1(){
        List<Integer> list = new ArrayList();
        for (int i=0;i<100;i++){
            list.add((int) Math.round(Math.random()*100));
        }
        int temp = 100;
        for (int i=0;i<temp;i++){
            for (int j=i+1;j<temp;j++){
                int a = list.get(i);
                int b = list.get(j);
                if (a == b){
                    list.remove(j);
                    j--;
                    temp --;
                }else if (a > b){
                    list.set(j,a);
                    list.set(i,b);
                }
            }
        }
        for (int i=0;i< list.size();i++){
            System.out.println("第"+(i+1)+"个值为:"+list.get(i));
        }
    }




字符串反转:

            String a = "qwe";
            //方法一
            System.out.println(new StringBuffer(a).reverse().toString());

            //方法二
            StringBuilder sb = new StringBuilder();
            for (int i = a.length()-1;i>=0;i--){
                sb.append(a.charAt(i));
                System.out.println(a.charAt(i));
            }

            //方法三
            char[] achar = a.toCharArray();
            for (int i =achar.length-1;i>=0;i--){
                sb.append(achar[i]);
                System.out.println(achar[i]);
            }
            
            System.out.println(sb.toString());

推荐阅读